HACKER Q&A
📣 zaneyard

How do you know a career in software is not for you?


I've been working for the same place for about 2.5 years and also have another ~year at an internship in another place.

I enjoy the problem solving aspect of working on software, but I'm finding that I'm barely utilizing my abilities and time here. This is certainly an issue that I'm trying to resolve.

However, I think what I'm having the most issue with is that I don't really feel like I'm serving anyone. I really like working with people to help solve issues, but I don't get that feeling here at all. The only problems I get to solve are the problems I feel like we make for ourselves (environment instability, lack of funding for maintenence, people not testing their changes, etc). I just feel like my job is to clean up a pile of trash that the business wants to put minimal time into. It feels so overwhelming to be paving a new sidewalk on a bridge that has supports falling apart.

I'm also considering the impact that the lack of social and physical activity has on my happiness. I spend time with people and exercise outside of work, but I don't want every day to just be excited to leave work.

How do I manage this? Am I just in the wrong company? Or the wrong career path?

Can anyone else relate and share how you've dealt with this? I'm not really sure where else to discuss this sort of thing.


  👤 itamarst Accepted Answer ✓
Probably just the wrong company. Bad management can make any career awful.

And yes, there are lots of bad companies. But there are also good companies. I have worked at companies where people were very careful to test their software, and where programmers were valued.

Before giving up based on a very small sample size, try finding a new job or two. https://www.keyvalues.com/culture-queries is a good set of questions to ask during interviews to find the things you care about.


👤 rossdavidh
I have seen situations much like what you describe, and also others where I much enjoyed working. Not all software jobs are like that (although many are).

When you are not able to just leave, I find it helps emotionally to engage my analytical self on the problem. Keep a journal (at home, not at work) about what is going on, and try to understand it as well as you can.

Why is upper management paying you to "clean up a pile of trash"? Is it their business model? The fact that they just want to IPO or sell the company soon? A lack of understanding of software at the very top? Is there any of that which you could learn to recognize at the job interview stage, moving forward, to improve your odds of ending up at a similar place in the future?

Look at their recruitment efforts, their QA process, their way of organizing sprints (or whatever they use), etc. There is a lot to learn about how to make good software, and good software organizations, by analyzing a bad one.

Of course, if you can get a job elsewhere now, do that. But in the meantime, you may feel better about the time spent if you are learning more than just "this place is no good". The knowledge learned will serve you well later.


👤 cbanek
Sadly, I think this is normal. I also find that after about 2 years, I start itching for a new challenge. You learn the most at a new job, new role, new team, just because everything is new. After a while, you learn a lot about your company, where things are, what has likely gone wrong, etc. This gets boring pretty fast. Being in a role long term is a totally different feeling than job hopping and building your resume. I don't think either is wrong, but they are very different.

Plus, if you're competent, your management chain may have problems giving you more work as you get faster, or promoted to the right level fast enough. If you really like your company, maybe switch teams? If not, switch companies? You're likely to get a salary bump, and probably harder work because you'll maybe get brought in at a higher level.


👤 davismwfl
Ahhh, welcome to software engineering.

While partially joking this is a real issue and sadly is common in our software. Software is the way most things in life function these days, yet those of us on the inside see that software is generally poorly put together and then held together by hamstrung people because of funding or mismanagement. Some companies are better than others, but all companies need to make compromises. What I have seen is when the compromises line up with your value system (whatever that might be) then you are way happier at work daily and want to do more generally. When the compromises are anti your personal value system for too long you will dread being there or going to work. There will always be some percentage of decisions you disagree with, so I wouldn't take it as you bolt if you disagree with a few things.

I've been in software for over 20 years, and that has been the repeated process since even before I started. And even as a founder I realized this is how engineers (and most educated intelligent people) work (value system alignment) and while we can always improve, you need to find the balance that works for you. Most problems in software are problems of compromise, e.g. we hacked X feature to get Y done and now have 12 new problems to solve, but now we have Z needs and have to compromise somewhere else too. It is almost always a game of tradeoffs, and that is ok to some degree.

I love the idea that if you are not happy doing what you are doing for too many days in a row you need to change what you are doing. I usually think of that in slightly longer time periods given software schedules, but I think it is a good core idea. If you aren't happy and you feel like you have learned what you can at an opportunity then move to the next. Granted, I am not saying job hop every year, nor am I advocating taking off just cause things aren't going your way, but you have to evaluate your mental and physical health with where you are and where you are going. After 2.5-3 years seems like you have a fair reason to potentially move on if it isn't making you happy at this point.