DEV Community

Software Career Advice

Paul J. Lucas on February 06, 2024

Introduction Now that I’ve retired after 45 years of developing software and given a career retrospective, here’s some things I’ve learn...
Collapse
 
pgradot profile image
Pierre Gradot • Edited

I'm glad to see that after "only" 13 years as a software developer, I already give more or less the same advice to people. I may be on the good track 😄

Collapse
 
mrlinxed profile image
Mr. Linxed

This is a great article. Golden advice.

Thank you Paul

Collapse
 
mariondeleonux profile image
Mariondeleon-ux

Thanks for putting things into perspective.

Collapse
 
fidelloh profile image
fidel okoth otieno

nice one

Collapse
 
tinkermakar profile image
Makar

Many thanks for all the advices, what a great read!

Collapse
 
danities316 profile image
Danities Ichaba

Great article. I love learn C and invest early part.

Thanks man

Collapse
 
muyal profile image
Gerardo Ramirez

Fantastic read! I wish I had come across this advice 15 years ago, but it still resonates with me today as a mid to senior developer. Thanks!

Collapse
 
stas_s profile image
Stas Slutsker

Great tips, thanks, and good luck with your retirement.

Collapse
 
anumit profile image
ANUMIT JOOLOOR

Thank you for such a wonderful advice.

Collapse
 
codingmaster97 profile image
codingmaster97

Great post

Collapse
 
moopet profile image
Ben Sinclair • Edited

TIL what a 401k is. I've always heard people mention them in US sitcoms but never bothered to look them up. To be honest, I didn't realise the US had that kind of pension scheme; I thought they were almost all entirely private.

All good advice, though I think the idea of "invest even more of your money" is also a bit US-centric. A lot of us don't earn enough over the cost of living to invest anything in the first place - I think tech salaries in the US are a little skewed.

Collapse
 
pauljlucas profile image
Paul J. Lucas

I’d call a 401(k) private since it’s funded by a portion of your salary, typically anywhere from 5-20% at your discretion. The only thing “government” about it is that the government taxes your salary differently (contributions are pre-tax so your salary is effectively lower so there’s less to tax) and defers taxing the contributions and accrued ROI until retirement. Better employers also match your contribution percentage, e.g., if you contribute 15% of your salary, your employer will match that with an additional 15% (though there sometimes are contribution caps), so it’s effectively a salary increase. The government does not contribute any money. Participation in 401(k) is optional, but anyone who doesn’t is a financial fool. The money in your 401(k) is entirely yours.

The actual government “retirement plan” is called Social Security and is also funded by a portion of your salary (before any 401(k) contribution is deducted). Participation is mandatory (presumably because most people are bad at saving for retirement). Your money goes into the general Social Security fund along with everyone else’s. Upon retirement, you get a monthly check based on how much you contributed over your working lifetime. The amount you get is, IMHO, barely enough to survive in retirement, so if you want to be able to have a nice life, you need to participate in a 401(k).

The “invest even more of your money” advice is for when you might find yourself in any given month to have a surplus. Rather than just let the money sit in your bank account (typically with a poor interest rate), invest that surplus into something with a better ROI. In addition to a “Roth IRA” (see below), even short-term investments like various funds and bonds give you a better ROI than simple interest and they’re typically not long-term commitments, so if you need the money at some point, you can access it without penalty.

The government also has things called IRAs. Like 401(k)s, they are entirely funded by you pre-tax. Typically they way they’re used is if you leave a company, you “roll” your 401(k) money from that company into an IRA to preserve its tax-deferred status. (At your new company, you start a new 401(k).) Depending on your situation, you may also be able to contribute more pre-tax dollars to an IRA.

There’s also the Roth IRA variant where you can contribute post-tax money. If you have any surplus money that you are confidant you will not need to withdraw before retirement, this is a good way to invest it. The deal with the Roth IRA is that, since you already paid tax on the money contributed, withdrawals upon retirement are tax-free including ROI.

As far as US salaries, they probably are inflated, but it really depends on where you live in the US. A programmer in Silicon Valley gets a higher salary because employers are forced to pay it because (1) the cost of living here is much higher than most anywhere else in the US; (2) because there are so many tech companies here, good programmers have ample choice where to work, so competition is high. It may be my ignorance, by, AFAIK, there is no Silicon Valley equivalent anywhere else in the world.

Collapse
 
easy-blunders profile image
Šimon Kručinin

Great advice, thank you. With specialization, it is a bit more tricky, I think. While I reached the same conclusion eventually, that one will get better entry-point pay if being more specialized, eventually one starts hearing expectations like being T-shaped, expanding expertise, and so on. If a programmer wants to grow her/his career, dabbling into other technologies is unavoidable, paradoxically becoming a more general developer. So specialization: yes, to start with, but then don’t forget to learn also other things.

Also, getting more and more senior (read older), I started to realize that developing a solution (designing something, programming, testing) is not the hardest part anymore. The hardest is dealing with people. Discussions about value, prioritization, different opinions, fools at higher places, making decisions within the team, relationship with peers, relationship with manager, relationship with stakeholders… All people problems that have affected my work very much. I wouldn’t underestimate investing some effort in soft skills like effective communication and building relationships.

Collapse
 
pauljlucas profile image
Paul J. Lucas

If you're a back-end developer, then expanding your career usually means learning a new back-end language. But then you again specialize in whatever the new language is.

Yes, similarly to most anything, the technology is the easy part; it's the people that cause all the bother.

Collapse
 
easy-blunders profile image
Šimon Kručinin • Edited

For backend engineers, there can be overlap with data science/analysis, various databases, cloud infrastructure, monitoring infrastructure, AI/ML models training and integration, performance testing, and even frontend, as you mentioned in the article…

I have similar views on “full-stack” developers; however, a BE developer who can’t make a simple form to use with his/her API doesn’t inspire much confidence either, in general. Depends on the role, of course. So nothing against “full-stack” devs, who also have a narrower specialization.

I don’t really think expansion is about new programming languages, but rather about new paradigms and classes of problems the person can tackle.

And I still appreciate what you wrote. A lot of it rings true.

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid

I am quite new in software and development industry and I will agree with you on all of these points especially the "Loyal to Coworkers, not to Company". That is a great advice and I am not emotionally intelligent and sometimes I can spend a good amount of time in the concept of loyalty with company and so on.

Collapse
 
jaustinuf profile image
jaustinUF

Your recommendation to ‘Specialize’ reminded me of discussions with colleagues in the ‘80’s about the growing ‘computer’ field. We’d grin wryly and say “We used to be gurus!?”: previously, we felt we knew/understood computers at all levels, from the hardware gate level up to output devices (big-iron printers and teletypes), and languages from binary and assembler on up (to FORTRAN and Basic).

My point: everyone specializes today, for the simple reason that even subparts of the IT field (like ‘programming’) are beyond one person. Better to make your own specialization choice than to let the vagaries of a workplace, or the current ‘hot’ language, or some other ‘not-you’ decide … you have to live with the choice, conscious or not.

Collapse
 
anumit profile image
ANUMIT JOOLOOR

Thank you

Collapse
 
anumit profile image
ANUMIT JOOLOOR

Great advice.

Some comments have been hidden by the post's author - find out more