Manual for IT Recruiters - III. Types of programmers

In the previous section of the Manual, we explained individual roles within the development team. Now we shall endeavour to differentiate different programmers according to the technologies they utilise. The following division is purely my own perspective, and it should not be taken as dogma. As the title suggests, this is more a list of types of programmer, rather than separate positions.

Depending on what part of the software the developer is working on, we can describe them as either backend of frontend developers. Backend means that part of the app which ensure functionality or which works with data, stores it, processes it (or in lay terms also the “guts” of the app). In contrast, the frontend is that part which we see and which we interact with – forms, photo galleries, interactive drag and drop, etc. Different technologies are used in the backend development than in frontend development.

Backend developer

Most commonly used in backend development: Java, PHP, Node.js, C#, .NET, Ruby on Rails. It is not normally within the power or interest of the programmer to learn and use all programming languages, and as such we encounter experts/positions such as:

  • java programmer
  • php programmer
  • c# programmer
  • .net programmer
  • and others

If a programmer profiles him/herself as a backend developer, they may be able to handle a number of programming languages. They are implying that it doesn’t matter to them whether they are going to be developing software, e.g., in Java or C#. If, instead, the candidate CV states “Java developer”, it is basically pointless to offer them a position in .NET, even where this technology is stated elsewhere.

Frontend developer

In frontend development, the well-known HTML and CSS and now also modern javascript frameworks are used - Angular, React, Coffeescript, Vue.js and dozens of others. Like for backend, we encounter specialists such as:

  • Angular developer
  • React developer
  • Vue.js developer
  • and others

The same parallel applies with position titles as for backend. If the developer’s CV states he/she is a Frontend developer, this may mean he/she works with a number of frontend technologies. The CV should be further investigated to ascertain what specific technologies he/she handles, and at what level.


Full-stack developer

The term “full-stack developer” means someone who can handle a combination of technologies used at both frontend and backend. This may involve a combination of Java + Angular, .NET + React, PHP + Javascript or others.

Mobile developer

Another “category” is mobile developers. The most widespread type of programmers who specialise in mobile development are iOS developers and Android developers. Swift or the older Objective-C are used to develop iOS apps, while Java SDK is used to develop Android apps. Hybrid frameworks are also sometimes currently used. The advantage of these is that one piece of source code can be used to “generate” both apps – for both Android and iOS. This approach has both pros and cons. It is important to remember that one of these frameworks is, e.g., Ionic.

Embedded developer

Embedded developers are most commonly involved in developing control units. These may be control units for navigation devices, air-conditioning, auxiliary engines, dashboards, etc. It always involves so-called software within hardware – hence the word “embedded”. This type of software is most commonly written in C/C++.

Entry image
  • IT Recruiters

How We Test Developers at Hiremotely?

What is the greatest nightmare of working with freelancers? Most employers will tell you it’s developers who tend to embellish their resumes and then spectacularly fail to live up to the expectations they set.

Entry image
  • Javascript
  • Java
  • programming languages
  • PHP

What frameworks are, and the most commonly used ones

Besides requirements for knowledge of programming languages in job vacancies, there are also often requirements for knowledge of a particular framework. But what exactly is a framework? It is a programming language add-on, or one might say a package of components which makes programming in a particular language easier. Every programming language has a large number of frameworks. Let’s look at so

Vojtech Zahorsky