Four Downsides of the Software Engineering Profession
The software engineering career path is typically painted in a bright light. When people think about software engineering jobs, they typically think about the competitive compensation packages, the flexibility in choosing a work setting, or the perks that come with positions at large technology companies. While software engineering roles come with a lot of upside, it is important to balance the good with the bad to truly understand the life of a software engineer. Here are four of the “less than ideal” aspects of the software engineering career path.
The job market is highly competitive
Right now, talking about working in tech without bringing up the layoffs that have happened across the tech industry is an impossible task. While the layoffs have exacerbated the competition for open roles, software engineering jobs come with a high barrier to entry no matter the macroeconomic climate. Tech companies typically have their own way to interview candidates on all aspects of the job. This means that the most sought after roles can take months of interview specific preparation to pass the entrance exam.
Technology is rapidly evolving
I think we can all see that innovation within technology seem to be happening quickly (for better or for worse). As software engineers, we are in many ways on the forefront of this change. The tools we use to do our jobs are constantly changing. One of my professors in college talked a lot about the necessity of making a commitment to being a lifelong learner as a software engineer. I think this comes naturally to me as I did enjoy going to all of my classes in school (and especially in college). On the job, I feel that this commitment helps me in my ability to fill the necessary knowledge gaps to solve day to day engineering problems. That being said, constantly pushing yourself to learn as an engineer can exhausting and lead to burnout for some software engineers.
Tight deadlines and high stress
Speaking of burnout, I think one of the biggest reasons for burnout in the software engineering profession is the constant pressure to hit deadlines. I think that many companies do a great job of helping engineers manage their stress loads. That being said, some companies do push engineers to work long hours and hit tight deadlines. Additionally, many software teams will work in two week cycles and set a goal every two weeks for the amount of work the team wants to complete. If the team is too ambitions with the goal, this work style can lead to a very stressful situation at the end of each cycle every two weeks where teams are desperately trying to finish the work they set out to complete.
Isolation
The introverts reading this are not going to see this as a bad thing. That being said, I am someone who gets energy from being around other people, so I decided to sneak the isolated nature of software engineering on the “not so great” list. I do personally find that software engineering can be isolating. Good software engineering managers will do their best to keep engineers out of pointless meetings so they can spend more time solving problems and building software. Because of this, I have had days where our daily team standup is the only time I talk with any of my coworkers. (While this isolation isn’t my favorite, I must say that the flexibility of most software engineering jobs makes it easier to be social outside of work if cabin fever is setting in).
Hopefully, you now have a more rounded understanding of working in the software engineering field. Thank you so much for taking the time to read my thoughts!