Countless articles are telling you what you need to become a good software developer. Indispensable tech and soft skills, broad experience and specialized education... It’s easy to feel overwhelmed, especially when you’re at the very beginning of your journey into the IT world.
The road won’t be easy for sure, so there’s no doubt you should be prepared for it — but soon you’ll see that the most important things will come to you on the way. In this blog post, we want to switch the common model of thinking and discuss what are the things you don’t really need to become a top software engineer. Let’s begin!
You don’t have to...
1. ...be a genius.
So you didn’t receive the letter at your 11th birthday saying you’re admitted to the famous school for code wizards? Don’t worry! Many great programmers didn’t even start their careers before they were over 20, 30, 40... It’s never too late to learn new things and if you haven’t been a child prodigy developing top-quality software at age 3, you shouldn’t be ashamed. Even if you weren’t really keen on math at school, there’s a good chance you can be a skilled programmer. There’s more to it than numbers — problem-solving skills, perseverance, curiosity... These things can help you go a long way even if you never felt particularly talented to become a software engineer.
2. ...have a college degree in computer science (or a related field).
It can be helpful, but it doesn’t determine anything. There are people who started their career in IT having a degree in literature — and they’re doing just fine, working hand in hand with the ones with technical background. Of course, if you graduated in computer science, it’s a big plus and some things may be easier for you. But if you’ve just discovered that coding might be your thing and you worry about not having the right diploma — worry no more. All you need to do is learn and practice – and that’s what all programmers do, including the ones who are computer science graduates.
Additionally, the degree has become less important for many employers — they value solid skills instead. If you can show them you can do the thing, you’re as capable of getting the job as any other software developer. People are usually smarter than they think – so don’t limit yourself if the only thing that’s stopping you is the lack of degree!
3. ...fit the stereotype.
The Nerd. A mythical creature we’ve all heard of! And we all have assumptions on what a true developer should look like or behave. But guess what? Nerds can have all sorts of personalities and hobbies! You don’t have to remember the iconic lines from the Star Wars movies, wear geeky t-shirts and thick glasses or live a basement tied to the keyboard, coding 24/7. To like certain things or to behave in a certain way won’t make you a better developer.
Of course, people who are interested in coding usually are interested in technology or science in general — therefore, quite often they’re also fond of all the geeky stuff. But it’s by no means obligatory! If you’re afraid you might not fit in, confront your fear — attend a meetup or engage with a local IT community. You’ll quickly see that there are more than 50 shades of a Nerd!
4. ...become an expert in all fields.
You don’t have to know everything. Period. No one knows everything and with the tech world advancing so quickly, every IT professional needs to update their skills and knowledge frequently. A career in IT is basically a never-ending lesson - and eager learners are the ones who can get far and succeed.
It’s useful to have a general idea of all aspects of software development — when you come across a problem, you’ll know where to look for answers. As the saying goes:
You don’t have to know everything. You need to know just enough to be aware of how to find out what you don’t know.
Trying different languages, platforms or frameworks will naturally broaden your skills and you'll learn a lot on the way by building various projects. But there’s no need to struggle to become the all-knowing-full-stack-front-back-mobile-devops-architect-almighty software engineer. It's more likely you’ll get burned out even before you start, just looking at the sheer amount of knowledge and skills to master in order to become the Ultimate Software Developer (psst... no such person exists!). We’re not saying being ambitious is pointless. We’re saying: do aim at the top, but remember to protect yourself from frustration! Healthy ambition and simple curiosity can be your best motivators – use them well.