In Meaningful work interviews I talk to people about their area of work and expertise to better understand what they do and why it matters to them.
Aleš Vaupotič has a wide-ranging 35+ years career in building software and hardware solutions. He’s one of the most experienced e-commerce experts in the region. Our conversation ranged from how to grow as a developer, what it’s like to be part of the sales process, and where he currently sees technological opportunities.
We had a very wide-reaching conversation and what follows is just a partial summary of things we discussed.
How do people introduce you?
I’m most known as an Application Architect. I’m most often in a role where I lead the project from the initial meeting up until the first successful deployment. By that time I’m usually embedded in a larger team and I can usually call my client a friend.
I’m most proud that I can identify the needs of my clients and have the necessary breadth of experience to lead the implementation. It took me a lot of time to develop this skill.
I explain my job as mostly finding the opportunities in the business process where IT can help. What can we do to make everyday work easier? It’s also a multi-layered system. We need to think about our client, our client’s client, and also possible end-users. We try to figure out how we can arrange processes so that everyone benefits. I think this type of thinking and planning is what makes me an Architect.
What were some of your early projects and what have you learned from them?
In my teens, I designed a mechatronic system that measured how fast we were skiing between two points at my local hill. That’s where I first learned how to define what the project needs, the materials required and how we’re going to implement it. Of course, this being in the 80’s it required a lot of ingenuity and borrowing of hardware parts from different household electronics.
I later worked with Globtour where we developed the first regional systems for booking, tourism transfers, and billing. There I first learned how to implement business needs and regulatory requirements into such a large-scale project.
Luckily, I had a colleague who previously worked as a programmer for IBM and was trained by them in the USA. He taught me the basics of project management. For them, an IT project started with planning for how you’re going to do backups, maintenance, and ease of use. With this in mind, we developed a software framework that was serving us well for many years. We made sure that there was a robust login system, defined backup system, permission systems, and centralized logging to name a few important aspects. Even though it was written in Pascal it was not much different from today’s modern frameworks like Laravel. It allowed us to be at about 1/3 of the budget and time of competing companies at the time.
Why did you recently switch from a small consultancy to working inside a larger agency?
While I always enjoyed working solo or in small teams, I’ve recently noticed that I’ve hit a limit of what I can accomplish alone. It’s just not possible for me to get larger projects because I don’t have the necessary certificates, references, or required team size.
While I can offer a lot of experience and specialized knowledge, that’s not enough if you want to become a larger solutions vendor. To solve this I’ve decided to join a large digital company that can fulfill all these checkboxes and provides me with new challenges to work on.
You mentioned that you’ve participated in a lot of sales meetings. How do you see your role in the sales process and what makes for a good sales pitch in IT?
I found that being good at doing sales is a very important skill to master. I am not enjoying sales, but it’s a skill you can learn by reading a book and practicing. In this regard, I see it as just like learning JavaScript or any other technical skill.
A large part of sales in IT is also being able to explain the solution in a very plain language. I find it extremely valuable to invest time in these initial stages as we explain to the client what we’re going to do. If the client understands the benefit of high-quality localization and accessibility they are more than happy to both pay for it and accept a longer development timeline. What I also often see is that people try to rush this part of the process and don’t take time to learn how their client works and what their real needs are.
Creating a high-quality business overview document creates value for everyone. It helps different people on the client’s side understand what’s going on and it also ensures that there is a good understanding of the team that will execute a plan. It’s still a very imprecise problem as we still don’t know how to properly define software projects ahead of time.
I noticed that having the capability to quickly create high-fidelity prototypes makes a big difference in how clients understand proposed project functionality.
How are you improving the quality of your communication with your team?
I’m always questioning my assumptions and how I relay information. Especially if the results are not what I expected. There’s always an opportunity to improve as a communicator. It’s always a new challenge when you need to delegate work that you used to do yourself. Many things that were obvious to you now need to be explicitly stated.
One of the things that I’m doing to improve in this area is that I’m blogging more and creating YouTube videos. Today I realize that I won’t improve if I don’t go through the process of creating, publishing, and then learning from feedback. Despite my understanding of all this it’s still scary to get feedback.
What does a good code look like?
It’s a code that it’s simple and straightforward on its own. Something that I know I’ll still understand months later without having to think about what it does. I’m not a fan of modern Javascript that you can write in a very terse way but doesn’t make it easy to reason about it. I’d rather write a for-loop than a map function. It feels much more natural to me. My personal mission at the moment is that each project that I work on has less unnecessary code.
These days I’m also studying code flows and how the project is structured. It doesn’t have to be a language that I’m working on. I’m just trying to understand and learn from these conceptual ideas. GitHub is a great source to find such projects.
What would be your advice to more junior colleagues in the industry that are battling with all the technology changes, fear of missing out, and are starting to talk about burnout?
What I see happening with some people is that they fall into the trap of everybody can be a developer. Sure, for some time but after that, you become tired if you keep doing the same things all the time. You need to find ways to grow and to keep challenging yourself. If they can’t do it in their workplace setting they could try to find that enthusiasm in life in their personal lives.
Writing code and building technological solutions were always something that excited me. I’m also very proud of my attention to detail and that I always see opportunities for my growth as a developer. That’s why I think I don’t feel many of these challenges.
You’re also supporting the development of young people through First Lego League Adria. Can you reflect on some of the things that you learned in the process?
I’m fascinated by how creative and capable kids are, aged between 8 and 16 years. They’re also always very successful when competing on the international level and have very solid language and presentation skills.
I’m happy to see that the best local participants are getting great opportunities for further studies and personal development. I hear that US Universities and Colleges are actively trying to recruit them with good scholarships. At the same time, there’s a lack of trust in such opportunities in our environment so they mostly go unused. After working with such teams for the last 10 years I see how much potential they have and what kind of big impact they’ll be able to have in their professional work.
What technologies excite you at the moment?
Svelte makes sense for me for front-end development. It just feels natural to write. I also really like the community around it. It’s really supportive, full of great ideas, and open to discussion. I’m also contributing to the Routify project that enables routing through file structures.
Incremental Static Regeneration in modern JavaScript frameworks is definitely something I can see a lot of good use cases for.
Tailwind makes it really easy to write CSS styles in a very natural way.
I’m looking at serverless and edge computing as I feel that this is finally the true cloud that allows us to bring websites closer to end customers.
I’m also excited about WASM and that we can push computation to clients’ devices. When we connect this potential with serverless it greatly simplifies a lot of the needed backend infrastructure.
What I learned from talking with Aleš
Communication and written expression is the most fundamental part of successful IT projects. If people can’t understand each other the project will fail.
Keep tinkering with technologies and different challenges. Fundamentals are always the same and I’ll be able to build on previous knowledge.
Don’t worry too much about businesses. They come and go. People and relationships around them last much longer.