Hacker News new | ask | show | jobs
by ccdev 3048 days ago
Thanks for the replies, everyone. Keep them coming! I didn't expect this topic to get this popular.

The reason I asked this question is that I am facing a career slump as a software engineer, and finding out that the software industry is brutal if you don't know how to carve a path for your own career.

And when I mean career slump, I really mean it. I'm living with my mom at age 35 which is quite the opposite of what someone expects of a software engineer at this age. Most people I know are buying/have bought houses and starting families. And I'm not at a point of self-sustainability yet. I can barely keep up with the insurance payments of my own car, and just keep the vision of having my own place to live in (once more, as I lived alone before things got tough) close to my mind. No longer be dependent of my family, get some privacy, some autonomy and instead of living every day switching between errand boy and going to a coffee shop for the free internet, to apply to jobs, or simply taking a break from my parents.

So that's pretty much me right now. I have 10 professional years of a "whole lot of nothing", no big signs of progression, maturity, or taking on more responsibilities. I didn't major in Computer Science, but I still expected my first programming job to be like, getting a mentor, working alongside a group of (in-house!) programmers, being able to ask them many questions and learn all about formal development practices.

Well, I got none of that in the places that I worked at. So seeing your stories gives me a good idea and hope that I can just move on from the past and have better companies approach me with hope and optimism, like I'm a bona-fide junior eager to learn.

1 comments

What do you WANT to do (besides make money)?

Generally speaking there are 3 broad career paths for developers these days:

1. Senior developer/team lead

2. Management

3. Startup founder / worker

==========

Senior dev:

==========

PROS: Actually get to build stuff all day. Fun to program the latest and greatest. Be respected as an expert by your peers. Less meeting and paperwork hassle than other roles.

CONS: Can be sat on by middle management. Often don't get to drive product or strategic decisions. Low salary ceiling. Frustrating to be forced to do things you think are bad ideas.

==========

Management

==========

PROS: Get to make decisions (well, more than people beneath you, anyway). Potential path to the 1%. No more keeping up with the ratrace of programming platforms and languages. Can have a positive impact on the lives of your reports.

CONS: No satisfaction of hands-on product building, just lots of sitting in meetings, sending e-mails and crafting PowerPoints. Sometimes mentally exhausting to babysit your reports. Lots of Game of Thrones-style politics.

==========

Startup founder / worker

==========

PROS: Fun (well, more than corporate jobs). Be your own boss / have more independence. Work on interesting problems. Potential path to fame and fortune.

CONS: 90% likely to fail and put you in debt or company go out of business. Potentially limitless time commitment. Doesn't feel life-fulfilling to work on a company dedicated to disseminating cat gifs (or whatever the startup does).

==========

Ask yourself which of these 3 paths appeal to you the most, then write out a list of what you need to do to get there, potentially.

If you're living with Mom at age 35 however it sounds like you need to move to a big city like San Francisco or New York where they pay developers a lot more, but I don't know what your situation is.

I'm definitely choosing path 1, which is to become a senior dev. I prefer technical-focused jobs. Learn from mentor programmers, get into teams and learn formal development practices, and then help out programmers less experienced than myself. I've never held a senior title, never led a group, nor even been involved with the process of hiring other programmers.

I currently live in Chicago which is pretty good for COL/salary ratio, for the average programmer. Caveat: I am not average. I consistently get offers from very low paying jobs- as in "$25/hr on a contract" low. This comes from the tendency to being let go from jobs without having another one lined up, so I never could afford to wait much longer for a better offer to use as leverage. Also, I don't qualify for unemployment insurance.

That has put me in the bottom 15-20% of local jobs by total compensation. If I were to restart as a junior programmer at one of the better companies, I'd actually be getting paid somewhat more than at my last job (and with insurance benefits for once).

In that case, I'd recommend specializing in one particular language/framework/domain.

Whether it's NodeJS, Python, C#, Swift -- pick one and run with it. "General programmer" is fine for management but not great for senior developer.

It seems little odd that at 35 you're still in the $25/hr range. Either you got a late start or maybe there's some soft skills you need to improve (running a meaningful meeting, developing a strong rapport with business partners and management, etc).

Good luck.

>It seems little odd that at 35 you're still in the $25/hr range.

Don't underestimate the negative effects of having no job lined up when you're let go from your current one. You can't realistically negotiate for an ideal salary when you're currently making zero. Taking a less-than-optimal job offer is still better than being homeless, though.

For reference, my first web development job paid $12/hr (part-time) in 2007, in the Chicago area. I found this job by cold-emailing job listings on Craigslist.

There's also

4. Freelancer

which is somewhat 1 + 3

PROS: freedom of choice, less bs

CONS: Pressure to market yourself. Dealing with feast or famine, instability.