What’s needed for any kind of Software Developer?
Published: 2021-01-10 21:38:28

Let’s say you're someone who is pursuing a career as a software developer or you are an employer who is looking for the best talent for the job. What are key points someone must have in the first place?

I want to explain this subject through beautiful popular myths. Here you have “That's utterly ridiculous!” myths. Let’s start…

*(I’m not trying to say that below points are not present on the market. It's quite opposite! They are very present when they shouldn't be at all.)*

&nbsp;
## 1. “Knowledge of [insert X language] programming language is required if you wanna get respect from others and are well-paid.”

I don’t know how to start this one because every aspect of that judgment is falling apart in my hand. As employees and employers you must understand that programming languages can be falling or rising in certain times. What is important here (aka what you must really look for) is to understand the language of the computer and so knowing X programming language will be irrelevant after some time. Therefore this kind of people will have a high learning curve when you introduce them in a new language or ecosystem.

&nbsp;
## 2. “Some languages are so easy that I can't count them as programming languages.”

Well, the painful truth just for you is every language is easy enough when you start to understand not only language but the way of the computer itself. So algorithmic thinking, analytic analysing, being able to separate the system into its parts and put it back together and see the root of any problem in mind and so on are must have abilities. When you met someone who got those, you should know they “got” this profession!

&nbsp;
## 3. “The software developer should know all the information that needs to be memorized.”

This one is companies’ (and technical persons’ who take interviews with candidates) favourite, I guess :) As software developers, we are selective in memory management in real life, just as we are selective in memory management when coding. So when you expect unnecessary information to be known, you're actually completely wrong. Good developer doesn’t memorize (or try to memorize) everything, s/he knows the way of research in the beginning. S/he tries to understand context rather than memorize it.

&nbsp;
## 4. “Coding tests prove the success of an individual person.”

I believe the entire coding testing ecosystem will be against me with this one :) But most of the time coding tests measure the results, not the way to approach problems. That's why they're misjudgment tools. If the coding test you're using allows you to measure approaches, go ahead. Apart from that, always focus on things starting with “the way of” rather than things starting with “result of”.

&nbsp;
## 5. “There is no requirement for being a Software Developer. Everybody can code!”

First, we must understand that coding and engineering are two different things. Sure everybody who has practiced enough can code but only few of them can really do engineering. Like all other professions, there are subtleties in this profession. Being a software developer is not only writing code, but also being able to think algorithmically, understand and develop systems, find and apply intelligent solutions to problems. So you really don't have to come and be a software developer every time you can't make money in your own profession.

&nbsp;
## 6. “Software developing is all about copy-paste from Stackoverflow.”
My favourite! Even there are a lot of gifs about it. Stackoverflow is a very very important resource because it has a variety of problems and contains splendid approaches to these problems. But you see? It's just a tool in your possession and nothing more. So resources like Stackoverflow can be just tools at our hand, they can't be end results. We can be architects, and we can take multiple approach styles and combine them and craft a new form of approach. That’s what makes us engineers after all.


---
Big thanks for reading this far. Let’s meet again with another topic very soon...