Getting rid of software engineers could be the Doorman Fallacy[1]. How much of the job is writing new code? A lot of it is solve problems/maintenance, improvements, integrations with other systems, update existing implementation, delivery automation support.
Major scandal in Australia was PwC secretly passing government secrets (tax changes consulting work) to private corporations [1]. And another one was KPMG passing secret client information to win contracts [2]
There are a lot of things to like about Django. Remember being blown away when I discovered Django Content Types[1]. Basically generic foreign keys to any model type.
Writing programs in C has simplified developer experience over Assembly. Issue with JS frameworks is that many find them complex, i.e. complexity has not been abstracted away (which should be goal of abstractions). Maybe DOM manipulation has, but many new complex ideas had to be introduced to achieve it.
I wonder if this could go down similar way some SaaS systems went to lower barrier to customisation so less technical users could do it. For example, having to interface with some ServiceNow instances I often find major flaws with db schema design - similar data in multiple places, lack of constraints, etc. Basically one big mess you are now stuck with that could have been avoided if a db expert was in charge of data model design.
After some experience, starting to use a new programming language is not such a big challenge. Mastering the new language eco system is. AI might help you generate new code faster, but feel like crunching code has not been so much of an issue. Bigger picture system design, something that scales and is maintainable is the challenge.
Advertising is out of control. Doing mundane things like filling up fuel at a petrol stations, or catching a lift at work - there is a little screen targeting you with ads.
Got introduced to Rufus Sewell in 'The Man in The High Castle'. He played an SS commander. Most intimidating and frightening presence on the screen - without raising his voice and no (direct) acts of violence. Great actor.
Stuff like MS Power Apps. More traditionally MS Access. Basically drag and drop App builder - UI form builder, connectors to connect to public API-s and even store data.
Point I was trying to make was that low-code is a lock-in IMO, and I would pick Ruby, Django, or whatever any day for no other reason than being able to modify/maintain/own code.
Interesting what you say about having to face some existential questions if you remove some ego enforcing ideas about yourself. Ernest Becker's book 'Denial of Death' suggests that this 'narrative' we have about ourselves is to deny our mortality, which we really got me thinking.
This might help with building new software. But large part of the job is maintenance and changes. How long will next outage take to understand without people with deep understanding of the code.
Yes. We are heavily manipulated by the media to think that we need 20 brands of deodorant. I think this is the subject of Herman/Chomsky book "Manufacturing Consent" (from a more political angle but I think applies to advertising as well)
https://en.wikipedia.org/wiki/Manufacturing_Consent
Stuff that gets pulled in when you do 'npm install' is scary for a more traditional server-side developer. Python for example comes with a lot of built-in libs maintained by the core python team. These could get you pretty far before you start pulling in libs from random authors.
Interesting you mention 'intuition'. I feel it is a big part of software development as you gain experience and it flows through as you are doing the work and would be tough to plan for. Also remember one of my colleagues complaining after work 'code just not flowing freely today'. And then there are times when you feel you are in the zone, which would definitely be the creative element.
Tough to judge without any experience. I am sure there were not bullshit jobs. Must be satisfying to see fruits of your labor end to end. Many of us in the cities would not know what that is like.
This should extend to dumb (boring) tech stack/architecture. Not sure what it is that makes people choose some crazy complex tech to implement systems used internally by a few hundred people. Scalability? Really!? UI that in no way needs to be reactive using React or Angular? Oh, and we need a workflow engine. And we are moving to the cloud, so rather than some simple flask built api, learn and deal with FaaS stuff. And then good luck deploying updates. Crazy.