Anna Kulashova, the representative of Microsoft company, shared information about the number of qualified programmers in Russia. As of early 2019, their number reached 400 thousand. At this, many IT employees have no industry-specific education, and so, their actual number is much higher.
As far back as 2015, a statement was voiced at the Intel meeting that the number of IT specialists in the world amounts to approximately 19 million. Among them: software developers and engineers, web programmers, analysts, testers, UI/UX designers, system administrators, data scientists.
The profession is very common, and its history is already over 170 years: Ada Lovelace, who wrote the single program as early as in 1843, is considered to be the first programmer. Despite this fact, even people dealing with the profession may be perplexed when the following related terms are discussed:
So what is the difference between them? In order to understand the differences, let us provide a definition to each specialist, and distribute them by skills in ascending order: coder, programmer, developer, engineer.
A focused specialist performing monotonous, routine work on code writing in some specific programming language under the set specification. As a rule, he/she neither thinks through nor sees into the fundamental principles of programming. For this reason, a coder performs only simple actions, for example, writes a code with the use of ready solutions.
Caution: the word ‘coder’ sometimes has negative or disdainful connotation in the IT field!
A specialist with a high level of knowledge. Creates a simple and understandable code. Understands the principles of programming which allows him/her combining the routine work with creation.
If a coder seldom goes without a team, being its part and fulfilling various assignments, a programmer is able to fulfil the entire scope of work independently. He/she can think through algorithms, develop and implement them. Thus, a programmer can be a coder at the same time, but no way vice versa.
Developer is a generalist able to issue various software programs: websites and web applications, mobile or desktop applications, accounting programs, messengers, games.
He/she often knows more than two programming languages, uses various systems and environments, understands the way of their interaction. Is superior to the previously described specialists in terms of hierarchy. A developer is characterised by multitasking and is able to:
The developer creates the product from the beginning to the end and requires no external assistance, although sometimes he/she delegates the work to a coder, designer, tester, and others. Interacts with a team and is able to coordinate it.
A well-trained developer who, as a rule, has industry-specific education, Master’s or Bachelor’s degree. An engineer is well-versed in the subject, constantly improves his/her knowledge and applies it practically. The object of his/her activity is beyond writing programs and deals with tool production and software development methods to a greater extent.
The division into coders, programmers, developers, and engineers is conditional. These are all-purpose terms, so there is no strict classification between them. For this reason, in order to avoid confusion and lack of understanding, specialists working in the IT field and dealing with the program code writing are in most cases referred to as developers.