7 myths about Software Engineer work in 2022
Tags: beginners, career, motivation, discuss
Published: 2022-05-31 19:16:04

In my article, I would like to discuss some myths about software engineer work that are considered to be true and can affect the confidence and self-esteem of people who are just starting their careers.

### Disclaimer
This list of myths is only my opinion and is based mainly on my experience and stories of engineers I know. Of course, we all have different backgrounds and career paths, so it's normal if my opinion is different from yours.
The main goal of this article is to show people who are at the begging of their career in IT that some of their concerns/insecurities about themself are not true. Because the target audience for my article is beginners - some of my sentences can be pretty obvious to more experienced developers.
The article's header contains the year (2022) to emphasize that some of my ideas do not apply to the past and probably won't be valid in the future (who knows?)

## 1. You don't need communication skills
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hd7t3mmsprrjd8edl8au.jpg)

It's a common myth popularized by many movies about hackers: a software engineer is a recluse, who works alone, hates people, and is definitely a tech genius (we'll talk about it later). But the truth is that for many roles in IT companies nowadays you have to communicate with other human beings: discuss tasks and possible solutions with your team, collect business requirements, negotiate terms and priorities.
The good news is that there are various roles and ways of working in different companies and even in different teams inside the same company, so you will be able to find a position that matches your level of sociability.

## 2. It's a fancy job
We all have seen inspiring photos of IT specialists working with their MacBooks in cozy cafes. We all have heard about big salaries, flexible hours and other perks. Is this all true? Yes, but it's challenging to get all these preferences when you are just starting your career and don't have significant experience and many projects in your CV. Sometimes you can get only some of these perks but not the others. 
If you are just at the beginning of your career journey, it's important to remember that it's completely normal to change companies and look for a perfect fit for you (money-wise, culture-wise, etc).     

## 3. You must love math
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ub63j29o77phjhoifhcm.jpg)
I love math, you probably love it too, or probably you hate math. In both cases, you can be a good software developer. 
Let me explain: it's well known that Computer Science is closely connected with math, but let's be honest, most software engineers don't use math in their day to day work; in addition, some companies can have separate departments that create and improve different math models and algorithms used in the company. So if you are good at math - that will be your strength for sure, but if you are not - there are many positions where you can work successfully without it.

## 4. You must know algorithms (very well)  
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qohaz6sl75s3k3phmkd6.jpg)
Algorithm interview questions are a super controversial topic that causes a lot of debates among engineers. Some people argue that you can't be a good software developer without knowing all algorithms from [Cormen's book](https://en.wikipedia.org/wiki/Introduction_to_Algorithms), other think that algorithms are useless in day-to-day engineering work most of the time and how dare someone asks to rotate a binary tree during the interview.
The truth, as usual, lies somewhere in the middle: there are some positions where a good knowledge of algorithms and their optimization are essential, and there are other job roles where you need entirely different skills to succeed. Usually, it's enough to have a basic understanding of different data structures and the complexity of some common algorithms.
It is also important to remember that most of the algorithms are already implemented in libraries for many programming languages. So if, for example, you need to find the shortest path in a graph - you should start by searching for a library that allows you to represent your data in the form of a graph and has all the algorithms you need.

## 5. Your work has to be your hobby 
There are many posts from people who are writing their own mobile apps or other pet-projects in their free time as a hobby. Sometimes such side projects can become successful businesses and primary income sources for the developers. However, even if you can't earn money from your pet-projects - they are always an excellent way to study something and try technologies you want to try. 
But your pet-projects or other studying activities should not necessarily be your hobby and things you do to relax and have a rest. If you need to spend time with your family or walk with your dog in the park or binge watch some crazy anime series on Netflix (guilty) to feel rested - just do it. You can always have dedicated time that you spend on self-development, reading tech articles and learning new frameworks. 
Do not try to convince yourself that this is your hobby if it is not, otherwise you may soon face burnout or even depression.

## 6. You have to be a young prodigy
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8uymgj6yayhm539mdih.gif)
You've probably heard career stories from people who started their career at 13 as a software developer, wrote their first compiler at 16 and became CTO of a successful startup in their 20s. I genuinely believe that they are super talented people passionate about their job. 
However, if you have a longer career path or if you realised what you would like to do in your life much later - this is also completely normal and doesn't make you a bad specialist. We all have different life experiences. So it's okay if as a teenager you wanted to be a rock star instead of trying to hack your school website or writing your first computer game - you still can become a great professional.   

## 7. You should be an engineer to work in IT  
Despite all I mentioned above: you don't have to be a young genius, you may not be as great at math to be a successful engineer, etc. - this profession is still not for everyone. Sometimes, as a developer you, have to spend hours looking for some complicated bug in your code (or even in someone else's code) - for someone it will be exciting and rewarding, for someone it will be boring and exhausting. 
If you are a backend engineer - you probably won't be able to see the results of your work in some visual form, e.g. mobile app or website. For me personally, this is completely okay - I enjoy seeing my services working well, having great performance and matching all the business requirements - but again, it depends on your type of personality.
It's important to remember that there are many other professions in IT, not only engineering positions, and you can make a career in any of them (QA, designers, managers, scientists, tech writers, developer advocates etc.). So you can always find something that will suit your skills, interests and character.

## Conclusion 
In my article, I tried to dispel some myths about the work of software engineers and working in IT in general. Unfortunately, there are many more myths, some of them are almost harmless, others are more harmful. Regardless of our expertise level and job title, we all need to exercise our critical thinking, stay open-minded and be ready to learn to be less affected by various cognitive biases and stereotypes.

---
Images:
Hackers (1995)
Confused Math Lady meme
Twitter
Silicon Valley (2014)