294 karma · joined December 19, 2022
For the sake of not repeating myself, I would like to clarify/state some things.
1. I did not intend to signal that SWE will disappear as a profession, but would rather undergo transformation, as well as shrinking in terms of the needed workforce.
2. Some people seem to be hanging up to the idea that they are doing unimaginably complicated things. And sure, some people do, but I doubt they are the majority of the SWE workforce. Can LLM replace a cobol developer in financial industry? No, I don't think so. Can it replace the absurd amount of people whose job description can be distilled to "reading/writing data to a database"? Absolutely.
3. There seems to be a conflicting opinion. Some people say that code quality matters a lot and LLMs are not there yet, while other people seems to focus more on "SWE is more than writing code".
Personally, based on some thinking and reading the comments, I think the best way to future-proof a SWE career is to move to position that requires more people skills. In my opinion, good product managers that are eager to learn coding and combine LLMs for code writing, will be the biggest beneficiaries of the upcoming trend. As for SWEs, it's best to start acquiring people skills.
I worked in companies with terrible code, that deployed on an over-engineered cloud provider using custom containers hacked with a nail and a screwdriver, but the product was excellent. Had bugs here and there, but worked and delivered what needs to be delivered.
SWEs need to realize that code doesn't really matter. For 70 years we are debating the best architecture patterns and yet the biggest fear of every developer is working on legacy code, as it's an unmaintainable piece of ... written by humans.
If companies can get the final output with less people, and less money, why would they pass on this opportunity? And please don't tell me that it's because people produce maintainable code and LLMs don't.
Young people can learn and fight for their place in the workforce, but what is left for older people like myself? I'm in this industry already, I might have missed the train of "learn to talk with people" and been sold on the "coding is a means to an end" koolaid.
My employability is already damaged due to my age and experience. What is left for people like myself? How can I compete with a 20 something years old who has sharper memory, more free time (due to lack of obligations like family/relationships), who got the right advice from Carmack in the beginning of his career?
You could argue about architecture/thinking about the correct/proper implementations, but I'd argue that for the past 7 decades of software engineering, we are not getting close to a perfect architecture singularity where code is maintainable and there is no more tech debt left. Therefor, arguments such as "but LLMs produce spaghetti code" can be easily thrown away by saying that humans do as well, except humans waste time by thinking about ways to avoid spaghetti code, but eventually end up writing it anyways.
It assumes that most engineers are in contact with the end customer, while in reality they are not. Most engineers are going through a PM whose role is to do what you described: speak with customers, understand what they want and somehow translate it to a language that the engineers will understand and in turn translate it into code. (Edit), the other part are "IC" roles like tech-lead/staff/etc, but the ratio between ICs and Engineers is, my estimate, around 1:10/20. So the majority of engineers are purely writing code, and engage in supporting actions around code (tech documentation, code reviews, pair programming, etc).
Now, my questions is as follows -- who has a bigger rate of employability in post LLM-superiority world: (1) a good technical software engineer with poor people/communication skills or (2) a good communicator (such as a PM) with poor software engineering skills?
I bet on 2, and as one of the comments says, if I had to future proof my career, I would move as fast as possible to a position that requires me to speak with people, be it other people in the org or customers.
If you want me to risk my future by taking an unpaid job, I want a big enough equity package. I'm not stupid to follow the "American dream" anymore.
Most people would rather die defending their favorite language/stack/framework than change their POV. I'm tired of wasting my time on countless meetings trying to "convince my engineering team-mates to write tests/use strongly typed languages/avoid new-age BS like lambda/k8s".
Sure, leadership feels like BS as well, but at least this BS IS the job. With coding, the job is to write code, which usually ends up being 20% of the work time anyway, so I'd rather do BS all-day and get paid for that (often times bigger salary), while doing my own thing with my own architecture and framework, than try to explain my manager why it takes 7 days to change the width of the button because the app is so over engineered that any line you touch creates a butterfly effect that can bring the entire organizations to bankruptcy.
I am, unfortunately, too old to start a PhD right now.
I'm fine working 8 hours a day, I just want to do it on my terms and build my work around my lifestyle, rather than morph my lifestyle to suit the stupid notion of 9-5.
So my end goal is optimization and workflow improvement. The problem is that those things are subjective. People type just fine on membrane keyboards, I can't touch them anymore.
Behind every for-profit business, and a out-of-touch with reality hedge-fund billionaire -- are the people who actually get shit done. And those people, who get shit done - are humans. And while layoffs suck, and it's inevitable they will happen, the distinction will always be between humane approach and greedy-billionaire approach.
This letter, if it's real, is written from a very very very high tree, by someone who belongs to 1% (or even less) of society in terms of the amount of money he makes. And this out-of-touch with reality, hedge-fund billionaire - is not longer seeing anything humane in humans. For him, humans, are an expense in his ledger. The same way as let's say groceries.
</unpopular-opinion>
I keep seeing this suggestion many times, but I can’t understand what does it mean being a contractor, or how does one become a contractor. So would appreciate some explanation on the topic.