I’ve noticed a trend that a lot of people want to get into software engineering. A lot of young people and students have been inspired by a lot of software projects and companies that make world a better place by developing amazing software products. But I’ve got to be real with you.
Software engineering as a career isn’t for everyone but I don’t mean that in a gatekeeper way. What I do is so hard not everybody can. I just mean that everything isn’t for everyone forever.
I’m not trying to rock anybody’s world here I just think the hype train has gotten a little out of hand and I want to bring expectations back down to earth.
Before I get into this though I’ll give my disclaimer. Everybody’s situation is different and it would be foolish of me to sit and write the reasons as to who can and can’t become a software engineer as if I have all the answers.
So take my words and everyone else’s for that matter with a grain of salt. Only you can prevent forest fires. Only you know your situation. With that out of the way here are some reasons you don’t want to become a software engineer.
Everyone’s going to ask you tech support questions
Just by being associated with computers at all people will constantly ask you tech support questions. For example someone will come asking if you could help fix their printer. And you and I know all we care about is how to sort a list of numbers in python.
To be honest I don’t how that’s going to help. Then they stop for a moment and they have an idea. Maybe it’s something with the ink cartridges. Before you know it everybody you know is an entrepreneur with a million dollar app idea.
All you have to do is trust them that it will be a success and all they are asking from you is to literally do all of the work.
People define themselves by being a member of this elite club of programmers
Here’s my pro tip. Whenever you see people defining themselves by one thing, that culture is going to be toxic. Sadly this happens with video games. If you play all your games on mobile device people will not see you a true gamer.
Hey man! I have no desire to be a gamer I just want to pass time on the train.
Prepare to have your validity checked for every little aspect of your technical identity
For example, your programming language of choice. People will be like, you code in Python! True programmers code in C++. Then you start thinking, maybe I should start learning C++. Then after sometime you hear C++ is for melons, real programmers code in C.
People will also be interested in the operating system you’re using. If you find Mac or Windows comfortable for you they will suggest that real programmers use Linux.
And people wonder where imposter syndrome comes from. I know it’s not always the most accommodating culture. But on the bright side there are wonderful companies and organizations that don’t exhibit these behaviors. So try to work at those if you can.
But once you’re a working engineer even in supportive organization there’s no guarantee that you’ll be working on the stuff that you want to be working on. On some fields of engineering it can be harder to get into business needs since they change rapidly.
You probably won’t have complete agency in what you work on. Which can be a fine thing by the way.
All the flashy perks that you see in the tech industry are designed to keep you in the office longer
This one will be hard to emphasize, but all those flashy perks that tech companies offer like the free food and ping pong tables are all designed to keep you in office longer. All these stuff are made to make you dependent on your workplace.
It’s all cool for like five seconds and then it becomes the norm. I’m not talking about being entitled by the way. This is more like legitimate psychological effect. If you’re Maslow’s hierarchy of needs is met even the flashiest job or perks are going to eventually lose their luster.
Taking care of yourself and your future is obviously super important but don’t go in the field because it’s trendy or you’re expecting to get rich. Most startups fail and at big companies extremely talented people can end up working on stuff that they’re not excited about because of the sheer concentration of talent and the limited opportunities available that they might be interested in.
It requires a lot of time and effort upfront that’s unavoidable
I feel like this has been a bummer so far. Four-year university programs can often be difficult and draining. You’re also not exposed to the resources for making yourself appealing to companies which can make the job search a pain.
Boot camps are great for career changes and getting your foot in the door quickly but there’s still a very long tail of learning that’s going to be either supported by your employer or done on your own in order to further your career.
The reason a lot of hobbyist programmers end up successful is because they spend so much time outside of work or school doing this stuff and their hobby happened to have economic value.
So they should be considered lucky. When I was in college and I wanted to figure this stuff out I became a hobbyist far more than I was a student. I put so many hours outside of my classes and my homework. I did tutorials and did projects that no one asked me to do.
It was fun for me because I loved making things with my friends and we were all learning and growing together. Strategically I became a teaching assistant in college because I knew that it would make me more effective at my programming interviews. And I also love teaching and helping people understand difficult concepts by explaining them in a fun way.
I couldn’t have picked a better thing for me to study in college or a better thing for me to start my career with. My major gave me a practical invaluable skill set and was instrumental in me attaining financial independence.
It’s still one of the best careers you can have and I have met all of my best friends because of it. So why am I saying you shouldn’t become a software engineer? You should do it because you want to. It’s extremely hard thing to be successful at. So the only way that you’re going to get over all those hurdles is if you genuinely love doing it.
And if the market values what you love doing, that’s a dream job. You should pursue that and always remember this is your life and you get to pick how you spend it and who you spend it with.
Follow a path, any path until you get to a place you feel like you don’t like and then change your direction because there’s one thing that you are making every day no matter what you’re doing. That is yourself, that is your job. And you must do it well.