Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What Software Engineering domains require the least continuous learning?
17 points by trelokas 6 days ago | hide | past | web | favorite | 27 comments
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 :)

You 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.)

I 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.

Hardware 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.

More 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.

You 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.

How true will this be when we can eventually run Javascript on chips cheaply enough?

How soon is that in your opinion/information?

Is it 1 year away or 10 years away?

With projects like johnny-five [0] I think we're pretty close to that reality.

[0] http://johnny-five.io/


Companies 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.

Enterprise .Net shops. 90% of their work is CRUD, but you aren’t stuck as unemployable. Low innovation, 8x5, pay can be very good.

Big tech companies, cable companies, banks, FAANG, utilities, etc.

Just stay away from agencies and startups.

I'm not sure about FAANG, but big companies are pretty stable, especially banks and government. Even they're evolving, though.

Big 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.

Yeah, 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.

Oh 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.

Any 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

I 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.

I'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.

Continuous 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.

That'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.

Try something like C where changes come very rarely. Avoid going to Flutter or Dart!

Cobol should probably be up there on your list.

Banks tend to be pretty risk averse and will maintain working code for as long as they can before adopting new technology.

front-end web development


If you don’t care about being a crap manager, maybe.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact