Software Engineer/Developer, which is who?

However, before starting a detailed description of the various rungs of this career ladder pattern in the IT industry, it is worth mentioning a few words about a job as a Software Engineer. Software Engineer / Developer is responsible for the analysis, design, implementation, testing and development of the latest generation of tools and software for communication systems.

The duties of Software Engineer include, but are not limited to :

– creating codes,
– designing the construction of databases,
– software development for the company’s internal design,
– ensuring the quality of the delivered solutions,
– designing and implementing own solutions,
– managing and solving problems related to the information system.

 

    • Besides, it is worth mentioning a few features that the Software Engineer should have, such as:
    •    …………………………………………..   
    • – programming skills,
    • – very good English communication skills,
    • – very good interpersonal skills,
    • – ease of problem-solving,
    • – ability to anticipate users’  needs.
  • ………………………………
    • It’s all about skills and knowledge!

So, because you already have some knowledge about who is and what does the Software Engineer do it is worth emphasising one very important element associated with the move from a lower to a higher level. That is, of course, that years of experience are important, but the keys to success in the IT industry are skills and knowledge. Therefore, you will often meet with Junior Developers older or younger than you as well as Senior Developers of different age groups. What counts in the IT industry is what you can do and not exactly how many years you’ve been on the market.

Level 0 – Trainee

If you have just finished school or are attending a course, your theoretical knowledge is probably at a fairly basic level. You can do something with the IDE but you are not very familiar with frameworks and have only a very limited idea of what a database is. This is understandable, the beginning is difficult and it is still a lot ahead of you, so learn, constantly learn and after 3 months working for a corporation or taking part in projects with experienced developers you will probably become a junior. Practice makes a master and in the IT industry, because of its continuous development, you also need to continuously educate and develop yourself.

Level 1 – Junior

Being a Junior Developer you are inexperienced and everything sounds to you as something incomprehensible, new, terrifying, but certainly also extremely exciting! The problem is that even though you really want to, you are probably not able to complete most of the projects on your own. You have a basic knowledge of IT, software and hardware, even though you know the basics of computer programming and its tools. You probably know one programming language and have basic code writing skills. You slowly learn to repair minor, less significant errors or bugs in the software. How quickly you jump to the next career level depends only on your commitment and the number of people from whom you can learn.

Experience – 0 to 2 years

Knowledge – basic knowledge of IT from software to hardware context, computer programming, programming languages, codes and IDE

Independence – low level of independence, require checking and guidance but can fulfil easy tasks

Level 2 – Middle

Being middle is probably the most dangerous part of your career path. It concerns mainly the fact that you already know quite a lot and this feeling puts you in the position that you feel ‘like a boss’ or as if you know everything which is not entirely true. The IT industry requires constant learning and you cannot rest on your laurels. We know that you feel like a master of analysis, design, development and testing, implementation, documentation, and evaluation. But can you really analyse a problem and not only focus on how to use a given technology but also look for details, try to understand how to improve the created solutions? Not everyone has to be a Senior and it is worth considering whether your goal is to strive for development or just climb the ladder of a professional career.

Experience – 2 to 4 years

Knowledge – thinks that knows more than really knows, which means that has an average level of knowledge of IT from software to hardware context, computer programming, programming languages, codes, frameworks, IDE and API

Independence – the average level of independence, still require some advice and guides but can do most of the task alone

The impact of the Dunning-Kruger effect 

When discussing the average level of initiation it is worth mentioning the Dunning-Kruger effect, which occurs in the field of psychology and is associated with cognitive prejudice, in which people erroneously assess their cognitive abilities as greater than they actually are. This is a huge trap of being a Middle Developer because it seems to you that you already know everything and you are a world champion, but in fact, you know very little and you are still far from achieving full knowledge. It is said that what distinguishes Middle from Senior is that Middle thinks that knows everything and Senior is aware that knows nothing because there is still so much to learn. This is perfectly illustrated by the graphics below, which will surely be remembered by you and will make you think about the place in which you really are.

    • SDA seniority levels1
    • Image source: Junior developers: you’re not a junior anymore

    • Level 3 – Senior

    • Being a senior is more than just doing your job well. As a senior, you’ve learned a lot from your mistakes and you know exactly what you can and shouldn’t do, what code you can change and what you should leave unchanged. You are no longer interested in the basic tasks, you undertake tasks that no one else would do and you manage to solve them. Being a senior is just like being a full-time problem solver. Seniors’ specialised knowledge also helps to educate juniors, because in general, it is the seniors who have enough patience and knowledge to easily explain all the complex issues which may arise.It is also worth mentioning that being a senior is not the end of the path you can follow. The next steps can be to become an architect, product manager or senior leader. There are a lot of interesting possibilities and a lot to learn.
    • Experience – 5 to 8 years
      Knowledge – a high level of knowledge of IT from software to hardware context, computer programming, programming languages, codes, frameworks, IDE, API, knows how to use it all, also is willing to help other
      Independence – a high level of independence, can easily start and finish any project

      Lets’ talk about money!

      So in the end it is worth mentioning a few words about salary. It is well known that the higher you are on the ladder of your career the more financial satisfied you will be. The table presented below shows a few countries and how salaries for particular career levels of Software Developer look like.

    • SDA - seniority levels2
    • Image source: https://qubit-labs.com/software-developer-salary/

    • However, if you want to see how big is the difference between junior and senior salary, the following graphics taken from Daxx research illustrate this perfectly.
    • SDA seniority levels3
    • Image source: https://www.daxx.com/blog/development-trends/it-salaries-software-developer-trends-2019

    • It is worth to know that you can always climb higher and that only continuous development and learning will make you become a master in your area of expertise, therefore, it is worth to focus on knowledge and never stop in the pursuit of being someone even better than you are at this moment.
  • Do you want to start your career in the IT? Find out how to do it by reading more about courses offered by SDA.