Here on Medium, over on YouTube and all over the internet, people are talking about how they became software engineers without a CS degree. Some move into software engineering because they see it as a future proof career, others simply see lucrative six figure starting salaries, but whatever the case, the spotlight is there and it’s not going away any time soon.
What people don’t see from the internet are the day to day activities of a software engineer.
The ‘day in the life’ videos don’t tell the whole truth.
Wake up, go to work, write some code, having lunch, go to a meeting, play ping pong with colleagues, go out to dinner and end the day. Every one of these videos on YouTube seem to follow the same exact formula.
A lot of people looking to get into the industry may look at one of these videos and feel like not much work is done by a software engineer. Most videos show that you write code at some point during the day, but the perspective is extremely skewed.
I work at a startup, and while the culture is very relaxed, our work days are generally packed. From experience, most of my day is sitting at my desk writing code, with parts of the day occupied by meetings. Sometimes, meetings drag on and it prevents me from writing code, but writing code is probably 80% of my day on most days.
I’m not saying that these people don’t get their work done, and I understand that they’re trying to show an ideal day at work, but it causes the ill informed to walk into something without seeing the real picture.
Not everyone works at a large tech company in the Bay Area.
There is no shortage of content of people talking about how much their salary is as a software engineer at a major tech company in the Bay Area, whether is comparing job offers, or done as a personal finance type of presentation.
You will find that most software engineers will not end up getting one of these jobs, and will end up in an IT team at a company that doesn’t provide a software product as its core value proposition. Many of these companies don’t have such a large emphasis on software engineering which means you will not be the spotlight of the company, nor will you be earning so much money.
At many of these companies, the culture could also be very different. Catered meals? Nope. Fully flexible working arrangements? Nope. You might need to work there a minimum of 3 years before you can even negotiate to work from home. You really could be developing the internal CRM for a regional bank, 8am — 5pm everyday.
Software engineering is not for everyone.
You’ve seen the lifestyle and you’ve seen the salaries, but have you considered the content of the job itself?
Start by thinking about your personality. Are you a people person and is building relationships your strong point? Remember, you’re not going to spend a whole lot of time talking to people. Yes, you get to collaborate with your colleagues to solve complex problems, but it won’t be enough to scratch your itch.
What about your abilities? You would be solving very abstract problems using very abstract methods. If you need to use visual cues to solve problems, you might struggle. If you like to visualise exactly what you’re working on and like to continuously trial and error to solve a problem, you might struggle too.
You may think, if you’re being paid enough, you can weather through the storm, but can you weather through a storm that is the length of your career? If you have the ability to excel in another field, why not do that instead?
You don’t get to choose what you do.
This is an important one for those who have already looked past the last two points, and are just wanting to flex their coding muscle.
There may be a tech stack that you’re already familiar with, or you’ve got a few ideas in mind as to what a perfect product looks like.
When you start off as a software engineer, whether startup or corporate, you’ll generally find yourself starting off by fixing bugs in the backlog, or working on small tasks for a current product.
Unless you work in a very small startup, You probably won’t have much of a say in how the product looks and feels, nor will you get to select the tech stack. You will be there just to write code and solve coding problems.
If you’re working at an agency that builds apps or websites for other businesses, your team may even get pushback from the client.
Look, I’m not trying to drive you away from your dream career here, but think through it, do your research and make sure you know what you’re getting into. There’s a lot more to it than the glamour on top of the software engineer title.