Comment by alexfromapex

3 years ago

So many things I have to disagree with. Not all software engineering is easy, particularly the highly paid variety. The six figure salary is diluted by spending weekends constantly having to learn new technology off the clock. Companies then expect senior engineers to mentor other engineers and give presentations of their technical challenges, debasing the value of the knowledge gained working off the clock. Manual labor jobs don’t typically require the student loans software engineers have to pay off, further offsetting the salary gains by years. Manual labor workers get to go home and be done at the end of the day and aren’t tacitly expected to be available at all hours. It may not be the worst industry but it definitely is not a fun industry to work in at a lot of companies. It has one of the worst interview cultures on earth probably and the more years I work the more I see the obvious flaws to the point where I want to leave.

>The six figure salary is diluted by spending weekends constantly having to learn new technology off the clock

You don't need to do this forever. Usually you can just focus on a stack and related technologies and do well. Once you have experience and a clearly defined need, ad-hoc research is good enough.

  • > You don't need to do this forever

    The thesis of the linked article is that you do. For the most part, it matches my experience. I'm 30 years in and already wondering how useful the Hadoop/Spark/Scala stuff I spent the last few years mastering is going to be in the next 5 years.

    • On the other hand, a C or Java engineer can probably be pretty confident that there will be jobs for the foreseeable future. Pretty much the Lindy effect in action.

    • I agree with your sentiment but question some of your examples:

      * Scala introduced us old Java hands to a whole different world of modern languages. If you know it you get Kotlin or the latest Java changes for free (probably TypeScript-like other ecosystems too).

      * Spark introduced a generation of backend developers to distributed query engine technology (my generation is unlikely to delve into postgress codebase in comparison) and made ETL trivial in real life systems

      Hadoop clearly died in the last few years or so (outside of EMR where it's mostly invisible anyway). But it's a perfect example of a complete technology lifecycle - it had a good run for a decade starting around 2010 which in our line of business is incredibly long time. Not to mention how many things about distributed systems people like me learned from that stack over time.

      1 reply →

  • You dont have to "learn it for the job" you have to learn it for your next interview where you need to have that trendy tech on your resume.

A lot to disagree with here, but off the bat, many of the highest paid software engineers are the ones working the very least or not at all.

  • The more experience I have, the more I get paid for consultation on the basis of my experience. I understand how that works.