Welcome to our Leaders in Tech editorial series. Speaking to leaders in the industry to capture their stories, career highs and lows, their trials and successes, their current company and their role, most recent projects, advice to others, and the individuals who they most look up to in the industry.
This week, we talked to Guillermo Toro-Bayona, Senior Software Engineer at Nando’s, to find out more about why he joined the tech industry, what his role entails, what are the challenges he faces as a tech leader, and his advice to aspiring engineers and developers.
Could you introduce yourself and your current role?
I’m Guillermo Toro-Bayona. I’m from Colombia and I worked as a Senior Software Engineer at Nando’s, a well-known restaurant brand here in the UK and around the world. My role involves helping software engineers to overcome technical issues. I support and guide other engineers to achieve best practices in code and software architecture. I also like to be involved with infrastructure and DevOps practices to make sure our platform is scalable and highly available for our customers. Coding and reviewing code is part of my daily responsibilities.
How did you get to where you are now?
I started in the software industry a while ago. I finished an engineering degree in Colombia. In my first job after university I started working with technology, then I realized that tech was my passion and that was something that I wanted to do every day of my life. I took some coding courses during University, but I started learning to code properly by myself with the help of some books.
Later I enrolled in software engineering postgraduate courses. After many years of working as a software engineer for government, banking, telecommunications, national security, retail, and other industries, I decided to study an Msc in Computer Science and move to the UK.
After I finished my Msc studies, I started working in the UK in the fast-changing and demanding e-commerce world, then briefly for a start-up in the health sector and now in the hospitality/restaurants sector. During all these years of work, I’ve supported organisations to achieve their goals with the help of technology.
What inspired you to get involved in the IT industry?
The IT industry is a very interesting area to work in. There are new ways of doing things every day thanks to the amount of innovation around this sector. Many companies invest a lot in order to resolve their complex problems with better and more efficient techniques and tools. That is something that I enjoy, learning about how to use different technologies in order to solve problems, and helping organizations to achieve their business goals.
The technology world is always changing and it is always giving you more opportunities to learn something new every day.
Why did you decide to specialize in Software Engineering?
What I like about Software Engineering is that it gives the foundations of all the best practices on how to build software. I think it does not matter which technology you want to use for a particular software, the software engineer principles about analysis, design, testing, and deployment are very important aspects of any software project. These days it goes further with post-deployment practices such as monitoring, alerting, continuous integration, and delivery of software (you could probably put these concepts together in Software Reliability Engineering).
I think the engineering point-of-view in tech gives a strong foundation on how to understand a problem and how to solve it in the best methodical way.
Do you have a favorite part of your job?
As a software engineer, you need to enjoy all parts of the process. Designing solutions is something I enjoy quite a lot. Defining the architecture of how systems should work in order to solve a particular business problem is definitely interesting and enjoyable.
Coding is also fun as you get to write the solutions to those problems. Even better is trying to optimize your code and applying best practices to it. I have to do a lot of code reviews of my colleagues, that is something that I also enjoy. It gives me the opportunity to understand the reasoning of other software engineers on how they solve a particular problem.
At the time of doing code reviews, I learn from others, I also give my input where I push for best practices in coding standards and optimization. I think it does not matter how long you have been in this industry, you always learn something new every day from every engineer.
What are some of the challenges you faced during your career?
I think that as a Software Engineer one of the challenges is constant change. That is something that some engineers might find difficult to deal with or a bit overwhelming. The tech industry is constantly changing and there is very small room for comfort zones where you know how to do things for a long period of time.
The constant change in the industry could be very challenging as it requires you to always be very keen on learning and studying. If you are the kind of person that enjoys learning new things on a regular basis, then Software engineers and the tech industry are for you. I would not change it for anything, it is the most exciting industry to be working in these days.
What are you the proudest of in your career so far?
I cannot choose any particular moment in my career as a Software Engineer. I think it is very rewarding to see people using your software, either customer using a company product or employees using tools you have built to improve their productivity. I think that when you receive positive feedback from users using your software, it is a very nice feeling that your time and effort are recognized and not wasted. There is nothing worse than seeing the code you have written not being used.
What have you learned from your experience so far?
I think that the tech industry is always changing, innovation is at its core, so this is an industry where you will never stop learning. Something that I’ve learned is that no matter how different and advanced the new technologies are, the best practices and good principles of software engineering are important and relevant: Breaking big complex problems into smaller manageable problems; designing before coding; applying best practices, and good design patterns; applying testing strategies and more engineering principles are always key factors that impact the success of software projects.
What are you aiming for in the future?
I would like to keep studying and learning about tech. I like to understand all parts of the software cycle, not only in the software engineering side of things but also in the operations and infrastructure. I like to design software architectures in which different systems are orchestrated to boost a business driver or to solve a business problem.
I’m also interested in some other topics in tech such as blockchain and quantum computing so I’ve started to read and learn about that stuff, it looks very promising and exciting. I guess my aim is to always be curious about tech in general. Helping others is also something that I enjoy very much and I’d like to do more frequently. Every time I have the chance to mentor or teach other software engineers is great, it is a very rewarding feeling.
Do you have any advice for aspiring engineers?
I guess if someone is interested in starting a career in tech I would say that is a good industry to be working in these days. The tech industry is always an innovative sector of the economy that allows you to be in continuous learning.
If you are curious about things and you like to understand how things work, or if you like to solve interesting problems on a daily basis, I think that a career as a software engineer or a career in tech is a good place to be.
Just keep in mind the good attitude of continuous learning and be able to be out of your comfort zone constantly as things in tech change every day.