🦁 A Safari Through the World of Programming

Discover the types of programmers and the problems that arise between them in the academic and work environment.

Categories
IT Sector and Employment

Welcome to the IT Jungle!

The IT sector is a career paradise where many of us have found our calling and a way to make a comfortable living. But let’s not forget that nature can be cruel, and this sector, a hostile place.

Professionals from all over the world, with different technological skills, compete in a market that is increasingly global and saturated for the job opportunities that any programmer aspires to.

In this place, it’s easy to make friends, but even easier to become prey for another animal who, like you, wants to become the king of the jungle.

YouTube player
This video is in Spanish, but you can activate the English subtitles.

I’m Carlos Sala, a software developer, and today we’re going to take a tour through the world of programming; both in the academic phase, in the institutions that train future programmers, and in the subsequent work environment within technology companies.

What types of programmers are there? What are the most common problems that arise among colleagues in the same field or company? These, and many other questions, will be answered throughout this safari.

Grab your backpack because we’re starting!

The Wildlife: Types of Programmers

Just as we can’t tell a story without knowing the characters, let’s begin by introducing the main types of programmers, according to their skills, that we can find in this ecosystem.

I’m sure you already knew some of these, even if it’s just from watching a documentary on Discovery Channel.

Frontend Developer

The first of them all is the frontend developer. The most common of developers.

A penguin programming.

These programmers, if we can call them that, are responsible for building the visible part of websites or mobile applications using libraries like React, Vue, Angular, or Flutter. They are designers turned developers, who have learned a bit of JavaScript, HTML, and CSS.

One of their most striking characteristics is that they always come equipped with their Mac covered in stickers of the technologies they control. Without it, they feel naked and show it off to prove to everyone that they are into programming. Like when a child dresses up as an adult.

Contrary to what may seem from the outside, developing the client side of a web or mobile application presents challenges such as user interface quality standards or functionality when we lose internet connection on the device it’s running on. So having one of these specimens with several years of experience on the team is absolutely necessary to ensure these requirements are met.

Backend Developer

Did you hear that? It’s the growl of a backend developer.

A hooded character from an anime.

Hidden in the shadows, backend or web server programmers are responsible for programming APIs and microservices in languages like Python, PHP, or Java. Connecting to and querying databases is also the responsibility of this solitary specimen.

At birth, backend offspring are abandoned by their parents to fend for themselves. It is believed that this is one of the reasons they end up embracing the darkness behind servers. But only they know what truly goes on in their heads.

The solitary life of these programmers leads them to consume substances to alter their state of consciousness and self-harm. It is common to see adult specimens with scars all over their bodies.

Game Developer

Don’t make a sound! That thing you see there is a game developer.

The WoW guy from South Park.

Game developers live in hermetic communities where they only interact with others of their kind. Within these communities, game devs are organized according to the game engine they use, be it Unity, Unreal Engine, or any other.

Game dev specimens are very different from each other because who hasn’t wanted to create video games at some point in their life? Ultimately, these types of programmers write code because they have no other choice, but their life goal is to make those game ideas they dream about come true, becoming game designers.

They are generally very territorial animals, so I recommend not approaching them if you’re not part of their guild.

Artificial Intelligence Developer

Next up is the artificial intelligence developer, in Latin homo cerebrus. We can unmistakably identify them by the bulb on their head, commensurate with the size of their brain.

Close-up of Megamind.

These programmers have a pathological fixation with Python and reject all other languages. Their skills are more mathematical than programming, with the latter being limited to memorizing machine learning algorithms and understanding the concepts that revolve around this discipline such as: neural networks, natural language processing, or generative models. This remix of terms sounds more complicated than it really is, as most of these developers make use of libraries like TensorFlow that offer higher levels of abstraction and expose an easy-to-use API.

Trying to converse with an artificial intelligence developer about anything other than their work is mathematically impossible; you’d better invest your time elsewhere.

DevOps

Last but not least, we have the DevOps.

Mr. Incredible working on the computer.

The DevOps folks are responsible for improving development processes, continuous integration, and software delivery, through the use of Docker, automation tools, and scripting. The figure of DevOps in a company is crucial for freeing developers from such tasks and enhancing productivity, as well as for solving problems in the infrastructure of systems.

When they are born, DevOps are normal programmers, but at some point in their maturity, they decide to leave the nest and abandon programming. DevOps are the most coveted profiles by companies, as they are not a very numerous species.

It’s worth noting that due to the stress of being present in all projects of the company and the irregular shape of their skulls, they live in a permanent state of anger and are very emotionally unstable.

Hybrid Programmers

In addition to these 5 species, there are a few more, less representative of the sector. So we won’t mention them to make this any more complicated than it already is.

Goten and Trunks, from Dragon Ball, doing the fusion.

But what I find appropriate to mention is that there are hybrid programmers with characteristics of two or more of the types we just mentioned. These are capable of performing tasks in each of the fields in which they have skills, but they usually have less specialized knowledge in all of them.

A good example of these hybrids are full-stack developers, a mix between a frontend and a backend programmer who is capable of developing websites or applications from the client to the server.

The Ego of Programmers

In addition to the characteristics we’ve seen that each of these types of programmers has, there’s one they all share in common: they all believe their specialty is the most complicated in the sector.

Shot of The Avengers in a circle.

It doesn’t matter which of the different species of programmers you talk to. Each will always find an argument to defend that their work requires the most qualified professionals and will downplay the importance of other roles. For example:

  • The frontend developer will argue that the UI of a project is the part that is directly in contact with users and therefore requires the most care.
  • On the other hand, the classic argument of the backend is to talk about the complexity of queries in relational databases and architectures like microservices.
  • Game developers often belittle any other programmer outside their guild by saying that “those are boring jobs.”
  • Those dedicated to artificial intelligence, under the excuse of having to use mathematics, although they actually use libraries transparently, believe their field is the most important. In addition to the concept of artificial intelligence, everyone talks about it outside and within programming.
  • DevOps, directly, as they used to program before and now create more sophisticated scripts, feel their role is an evolution compared to programmers.

Who Is Right?

In reality, none of them are wrong when discussing the difficulties they encounter daily in their work, but they’re leaving out the variable that everyone else also has problems like yours that you’re not considering because of ego.

With premises like these, imagine the tone of the conversation between one programmer of each type when the question arises: “what’s more difficult?” Since, in turn, it’s implicitly asking, “Is your job easier than mine?” which can easily be interpreted as a provocation or lack of respect.

Consequences of ego among coworkers

As someone who’s been specializing in frontend for a few years, I can tell you that it’s very common for a coworker to jokingly make a comment like “your job is very easy, you just have to style buttons with HTML and CSS.” And we know that between jokes, there’s usually a coded message.

Lilo, from Lilo and Stitch, fighting with a friend.

These frictions between coworkers within the same company, although more common among junior programmers, are best resolved as soon as possible by talking to the other person clearly and telling them that their comment bothered you. If at some point you have to work side by side on the same project, it will be important for the relationship to be healthy so that there are no communication problems when you try to talk, for example, with the DevOps person to solve a problem with continuous integration.

Defend your territory in the jungle without using the violence.

Competition in Programming

I would love to say that disputes among programmers only occur between species, but the truth is that these conflicts often arise among members of the same group, but for different reasons.

Life is a Competition

From what I’ve observed in my years of experience, competition during the study period and in the workplace environment is what motivates one monkey to outdo another.

Monkey fight on a boat in The Simpsons.

If this were a candyland, all programmers would shake hands and form a circle while singing, but the reality is quite different.

Since we are teenagers, we compete with our grades for a spot in the university we want to attend. Once in university, there’s competition to be hired by the company you want to work for, and when we start working, we’ll continue bickering with our coworkers every time there’s an opportunity for a promotion to a position of more responsibility and there are several candidates.

Watch your back and accept the rules of the game because in the real world, there’s no happy ending where we can all be winners. The more sought-after the position, the more tension and dirty tricks there will be among competitors, as is the case, for example, in the gaming industry, where anyone would sell out for the game designer position.

Don’t Compare Too Much

Since we have to compete one way or another with our peers, let’s do it respectfully and intelligently.

Two Street Fighters characters greeting each other before the fight.

I know this phrase is a cliché, but avoid comparing yourself to your colleagues. And if you do, let it be with the intention of learning from those with more experience. It serves as a driving force for me to acquire new knowledge when I feel like I’m falling behind among my peers.

Obviously, when you compare yourself to another programmer, there will be things that one knows and the other doesn’t because each has a different background. You could only be totally aligned if you had identical lives in the past and had the same capacity for learning. Which is totally impossible. So stop calculating how much better or worse your colleague next to you is based on the years of experience each of you has because you’re fantasizing without sense.

Programming in Perspective

Even with its ups and downs, the career of a programmer is very stimulating for those of us who enjoy constantly learning new things in our work.

Flash of a woman programming.

We’ll have arguments with our colleagues, and some will stab us in the back to blame us when we’re not around, but doesn’t the same thing happen in any other professional sector or aspect of life?

I hope you’ve enjoyed this safari guided through the world of programming. Once again, I’m Carlos Sala, a software developer, and see you soon!

Carlos Sala Samper

Handmade software.