5 ms·
Ask HN: What Software Engineering domains require the least continuous learning?
In most domains where software engineering is involved, one has to continously learn, unlearn, relearn new languages/frameworks/technologies or what have you.
What domains require the least continuous learning?
If I had to answer my own question, I'd probably bet on safety critical software, but I'd like to hear what the community has to say :)
- realtalk_sp 6y agoI would challenge the idea that you must continuously learn. It's entirely possible to have become a Java/Spring specialist and continue to remain employed into 2020 and likely well beyond. The churn you're alluding to happens mostly at the very thin frontier of innovation and applies largely to engineers who want to retain high compensation.
- maps7 6y agoI'm looking at jobs in my area at the moment and being up to date doesn't really help in many ways. If I search for Rust or Elixir there are no jobs. If I search for gatsby or next there's no results (there are plenty for React though). There are plenty of Java jobs though.
- Sevii 6y agoBig tech companies, cable companies, banks, FAANG, utilities, etc. Just stay away from agencies and startups.
- muzani 6y agoI'm not sure about FAANG, but big companies are pretty stable, especially banks and government. Even they're evolving, though.
- giantg2 6y agoBig companies are hit or miss. I work for a large financial company and they are constantly switching stacks and chasing the latest industry tech. They love to compare themselves to silicon valley. It's exhausting.
- muzani 6y agoYeah, one telco I interviewed with talked about how they could play on the same grounds as Google. They have the market cap and manpower, but not really the same vision and engineering culture. So a lot of what they do is chase the latest buzzwords.
- giantg2 6y agoOh yeah, don't even get me started on the buzzwords. I think I need to move into management so I can just be a 'yes' man and blow smoke mixed with buzzwords.
- muzani 6y agoYou could try lower level, like anything with microprocessors, industrial robots, data communications, or healthcare. The kind of things that use C or Assembly. These will still be in high demand and highly paid as IOT/Industry 4.0 tries to catch on.
- Raed667 6y agoHow true will this be when we can eventually run Javascript on chips cheaply enough?
- HenryBemis 6y agoHow soon is that in your opinion/information? Is it 1 year away or 10 years away?
- Raed667 6y agoWith projects like johnny-five [0] I think we're pretty close to that reality. [0] http://johnny-five.io/ http://johnny-five.io/
- milquetoastaf 6y agoYep any day now the entire decades-old entrenched embedded systems industry will start using javascript because...this project?
- giantg2 6y agoEww
- synack 6y agoBanks tend to be pretty risk averse and will maintain working code for as long as they can before adopting new technology.
- hkarthik 6y agoCompanies started in the last 10-15 years that started and ended on a mostly Java-based stack. The business should also be super stable, slow growth, but high revenue/margins. That's probably the most important thing you should look for.
- sloaken 6y agoManagement
- gshdg 6y agoIf you don’t care about being a crap manager, maybe.
- s1t5 6y agoContinuous learning is a fundamental part of the job. Some of the answers here focus on stable tech stacks but in reality even if you spend your entire career using the same tools, you still need to be continuously learning new things within that stack just to keep up.
- deleted 6y ago[deleted]
- trelokas 6y agoThat's a good point, but I believe there is a subtle difference between different kinds of continuous learning. On the one hand, you have the goal of mastering a stable tech stack throughout your career. On the other hand, there are those jobs where you have to continuously keep up with changes in the field that could require skills in a completely new stack. In the first kind of continuous learning you get more value out of your experience. In the second kind, I wouldn't say none at all, but certainly less than the first.
- sunstone 6y agoCobol should probably be up there on your list.
- ethanfinni 6y agoHardware changes the slowest so advances that affect how chips, processors and boards tend to be more predictable and long-winded. However, the application of these changes to different domains (e.g. IoT) changes rapidly so the underlying hardware platform may be "stable" but new requirements that need to be programmed (e.g. power efficiency, security, etc) will continue to evolve -- therefore requiring continuous learning.
- Spooky23 6y agoEnterprise .Net shops. 90% of their work is CRUD, but you aren’t stuck as unemployable. Low innovation, 8x5, pay can be very good.
- temny 6y agoMore learning is necessary in areas which are more prone to changes. Hardware architecture and hardware itself are the least changing parts related to software engineering. And as the result OS kernel level development and system programming don't require to relearn that often.
- ineedausername 6y agofront-end web development
- peterkos 6y agoYou could always dive into something ancient like COBOL that is objectively never going to change, but people will always need. Same goes for similar languages of that era (FORTRAN, etc.)
- giantg2 6y agoI agree. I just want to point out that COBOL developers do need to learn new stuff. There are new tools, mainframe emulators, different structures at different companies, etc.
- livealife 6y agoTry something like C where changes come very rarely. Avoid going to Flutter or Dart!
- fiftyacorn 6y agoAny legacy system - but your skillset then becomes tied to domain knowledge. This can be both good and bad - the good is your valued as long as the system exists, the bad is once the system is replaced you can be on a rocky path