Live data from Hacker News

Is software development really a dead-end job after age 35-40?

quora.com

221–230 of 411 posts

Re: Is software development really a dead-end job after age 35-40?

#221
With software engineering salaries paying as much as they do right now (in the U.S. at least) it should be feasible for many of us to retire in our 40s. Or if not retire outright, at least build up enough financial security to transition into freelancing, fund your own startup, go work at starbucks... or whatever else interests you.

Plan for the future, live modestly, and invest diligently. If there ever comes a time when the work is no longer enjoyable or you are unable to get a job - go do something else!

Edit: I realized this is insensitive to people who are facing ageism and might not be in a position where they can retire or change careers. Not everyone will be able to retire early - everyone has different circumstances and luck plays a big role in life. But for anyone who happens to be in your early 20s and pulling in a 6 figure salary: if early retirement is something that interests you - now is the time to start saving.

Re: Is software development really a dead-end job after age 35-40?

#222
post #142

Earlier quoted context omitted.

> Go deep on security Bingo. Security is one of the few cross-discipline, cross-domain specialities where it is possible to be a reasonably good domain expert and still have a good coverage across other domains. The fundamentals don't change. (And I say this as someone who's been immersed in the field for 25 years, so of course I'm biased.) There are few other domains that can offer the same level of constant demand.…

Can I ask which are those families?

Of course.

1: Imperative - C, Fortran, Pascal, ...

2: Object-oriented - C++, Java, Python, Ruby, (maybe Delphi's Object-Pascal), ...

3: Functional - OCaml, Erlang, Haskell, F#, ...

4: Declarative - Makefiles, QML, SQL, ....

To be perfectly honest, I don't know which bucket I should use for Prolog. It's supposedly logical, declarative and functional at the same time. I've never managed to understand it, despite trying.

And for the record: perl in basic form is imperative. With the introduction of "bless" keyword it crosses over to object-oriented domain but following the syntax is not necessarily straightforward. [I've spent a non-insignificant number of days auditing OO-perl. It's not a pleasant experience.]

Re: Is software development really a dead-end job after age 35-40?

#223
post #71

I was going to add this as a reply to a comment downthread but I think it's too important to bury. The fundamental rule of career progression in the technology industry is to position yourself as a domain expert in something more specific than "programming" . It's very difficult to "own" "programming" in a way where you can use scarcity to drive integer multiple increases of the median salary. It is not as difficult…

> The fundamental rule of career progression in the technology industry is to position yourself as a domain expert in something more specific than "programming".

Is it a rule, though? I hope not. I'm a 40-year-old generalist, and so far I haven't had problems finding work. Sure, I'm not going to get a half-mil offer from anyone, but that was never the case at any age.

Re: Is software development really a dead-end job after age 35-40?

#224
post #71

I was going to add this as a reply to a comment downthread but I think it's too important to bury. The fundamental rule of career progression in the technology industry is to position yourself as a domain expert in something more specific than "programming" . It's very difficult to "own" "programming" in a way where you can use scarcity to drive integer multiple increases of the median salary. It is not as difficult…

I cannot agree with this enough.

I'm a pretty capable "generalist software engineer", but what keeps me employed is expertise in virtualization and high-performance virtual networking. Prior to that, it was expertise in distributed systems and a knack for debugging distributed failures. The history here is relevant: later in the thread Thomas points out that you can switch domains. My time spent in distributed systems with multi-millisecond quorum periods is more or less directly applicable to debugging synchronization issues at CPU clock speeds. The tools used to observe the issue are different, but the reasoning process for untangling the set of plausible partial orderings is the same.

Specialize in something valuable. Continuously evaluate the next most valuable skill to acquire based on where you are and where you want to be.

Re: Is software development really a dead-end job after age 35-40?

#225
post #98

Earlier quoted context omitted.

The big danger is "owning" some domain that falls out of fashion. You might "own" distributed systems and do great for a time, but then companies start transitioning from that architecture and nobody returns your calls anymore. Also I've noticed a lot of sub-fields like computer vision or self driving cars where there's a great deal of nerd interest but very little actual employment. In fact, I have a feeling that co…

You can switch domains.

Is this easier for someone who was a "domain expert" in an obsolete domain than for a programming generalist? i.e. could a programming generalist also "own" a domain in a couple years?

Re: Is software development really a dead-end job after age 35-40?

#226
post #71

I was going to add this as a reply to a comment downthread but I think it's too important to bury. The fundamental rule of career progression in the technology industry is to position yourself as a domain expert in something more specific than "programming" . It's very difficult to "own" "programming" in a way where you can use scarcity to drive integer multiple increases of the median salary. It is not as difficult…

True not just for software, but tbh any field.

Re: Is software development really a dead-end job after age 35-40?

#228

Earlier quoted context omitted.

I second this. I'm currently on a team that has a couple senior engineers, but neither of them are true experts of what our team does (iOS). One has decades of web dev experience while the other has decades of Java service experience. Our team badly needs an iOS expert to make the tough decisions and lead architecture.

That would still be programming specialization, as opposed to domain specialization where programming can be applied. I used to know this guy who knew the ins and outs of the health club industry, and he could program a little. He made a lot of money. I think this is more in line with what tptacek is describing.

[deleted]

Re: Is software development really a dead-end job after age 35-40?

#229
post #71

I was going to add this as a reply to a comment downthread but I think it's too important to bury. The fundamental rule of career progression in the technology industry is to position yourself as a domain expert in something more specific than "programming" . It's very difficult to "own" "programming" in a way where you can use scarcity to drive integer multiple increases of the median salary. It is not as difficult…

TBH, I really don't care about career advancement. I don't need "half-mil-a-year offers" to fund my lifestyle, so as long as I can continue to draw a steady paycheck, I'm good.

Not everyone's a climber, and being in "a dead-end job" isn't really a bad thing if you're not ambitious.

I'd just like to spread the message that it is absolutely OK to plateau. You don't need to be a renowned domain expert, you don't need to go into management, you don't need to start your own company... if you're happy where you are, don't sweat it.

Re: Is software development really a dead-end job after age 35-40?

#230
post #208
post #71

I was going to add this as a reply to a comment downthread but I think it's too important to bury. The fundamental rule of career progression in the technology industry is to position yourself as a domain expert in something more specific than "programming" . It's very difficult to "own" "programming" in a way where you can use scarcity to drive integer multiple increases of the median salary. It is not as difficult…

This is incredibly good and valuable advice. I hope everyone heeds it (if what they want is to increase earning potential, of course). I'm not sure every programmer should start with trying to specialize in a domain. But definitely, at some point, you're reaching diminishing returns for getting better at programming. Put another way: Getting better at the craft of programming allows you to write programs faster and b…

I don't think there is significant overlap between Python's ideal use cases and Haskells. For one, Haskell's advanced static type system lends itself nicely to formal verification and the handling of domain specific languages. Both domains are important in safety-critical software. It also has much better ways of dealing with concurrency (STM and linear types). On the other hand, Python's ecosystem seems to be centred around backend web development, data science, and machine learning.
Post reply on HN