A voyage into the back-end

Álvaro Panizo Romano
Empathy.co
Published in
5 min readAug 23, 2018

Today the employment world of Software Engineering has become a fierce battle field characterized by the diversity of the weapons that each fighter brings to eliminate the competition. Education can fall short in a world in which each discipline requires years of experience to deepen the understanding of the concepts and their basis, turning the notion of a “jack of all trades and a master of none” on its head.

Context: So, who am I?

As a professional, I am a Computer Engineer graduated from the University of Oviedo (Spain) with a Masters in Web Design and Multi-Device Programming from the International University of Barcelona, and with almost three years’ experience as a full-stack engineer, doing a little bit of everything.

As a person, I am not your typical computer engineer, I mean we are not all equal…

Before starting to tell my little story, I think it’s important to stress that in the same way that people do not all resemble each other, neither do all Computer Engineers. The stereotype of a man in a heavy metal t-shirt playing role-playing video games while eating Doritos begins to be very outdated in an increasingly demanding industry.

Photo by Raj Eiamworakul on Unplash

While I know I face the wrath of the computer science and programming enthusiasts, I do need to confess that for me personally programming, computer science and new technologies are not part of my top passions. It’s true that there are aspects I’m passionate about and to which I dedicate some of my personal time, but I mostly consider these elements of my work.

How did I get a back-end engineer position?

Once I considered changing my old job, I took the first step on a long process.

At that time, I was developing, as a full-stack engineer, a web application for a European project in which I was responsible for both the front (Angular> 2) and the back (java + Spring boot) as well as taking care of some simple deployment and automation tasks (Jenkins, Maven, Docker …).

As my journey started, I interviewed for several positions in most of the “big” companies in the local area, all offered solid positions as a front-end developer, which was my goal, in different projects mainly for banks or similar entities. Projects that were in development for three or four years and that offered little at the technological level.

With my limited knowledge of architecture, a couple of readings of the Clean Code and as a regular on the blog of our friend Uncle Bob, as well as a follower of Medium, I became aware of EmpathyBroker and the opportunity to access a backend developer position, encouraged by them that I could actually contribute something to this role and this experienced team.

Photo by Gaelle Marcel on Unplash

To give a small brushstroke, at EmpathyBroker we are dedicated to creating more joyful search and navigation experiences within eCommerce. Borja Santaolalla, one of our co-founders, explains this in a more detail here.

The first six months

Back-end development is, for the moment, one of the most elaborate and complex cognitive processes I have ever known.

At first, everything is overwhelming, nothing that is used in back-end projects are completely unknown to you (except maybe somethings), but the depth needed to reach the rhythm in a project that has been developing for years is massive.

During the first weeks you feel like you’ve fallen into a hole, a constant void that just does not end. Then one day you stop, you hit the ground and now you need to start climbing to get back to the starting point.

You begin to think that you would not have fallen so deep if only you’d done this a while ago or, if you’d listened to that teacher or that boss or even that partner, but ultimately that is worth nothing.

The important things, in my opinion, to grow within, and as part of, a back-end team are the following:

The importance of good practices

Software development processes tend to be chaotic and disorganized.

One of the most surprising findings for me in these last few months has been the awakening that things can be done very well, and when you have finished doing them very well you can then improve them.

The cleanness of the code, updating documentation, testing, thinking about scalability, performance, integration… these are all elements that every engineer recognizes but prefers someone else to do.

Leadership

Your leader is going to need to be patient with you. They’ll have to endure thousands of questions and know how to guide you, giving you clues and support but at the same time teaching you to be autonomous in your work.

And it’s important that you learn as part of a team environment, without being inside a cocoon but with a great capacity for communication, learning from your mistakes and not letting them cause you to lose motivation. Perhaps this last part is as important as your technical knowledge.

Recover lost time

If you want to enter a new dynamic, you will have to take time. This is a fact that is undeniable for all of us who have faced something in which we had no or very limited experience of.

The team and the environment

A good work environment, nice facilities, companionship and flexible hours are crucial factors for productivity, it makes you feel good so that you want to improve and learn.

There are also many things that your team won’t know and that can be learnt from other teams, as well as other people within your team. It’s important to ask for help when you need it, listen and learn from what they tell you.

Conclusion

It’s clear that front-end development and graphic design are much more striking and even more comforting elements than back-end or devOps developments but the truth is that the latter also has its magic.

The understanding of systems, the mental adaptation to complex architectural or data structures and the diversity of technologies, paradigms and areas that characterize these positions makes it as interesting, or even more so.

We will see what the next months bring….

--

--