For the newest instalment in our series of interviews asking leading technology specialists about their achievements in their field, we’ve welcomed Simon Kaguramamba, CTO at Action Starter.
Tell us about the business you represent?
I'm Simon, Co-founder & CTO of Action Starter. Our business is making an impact in the education and learning industry. We offer our suite of SaaS software solutions products to educational organisations across 45 countries worldwide. Our clients range from universities, independent schools, and selective organisations, with a speciality in organisations with complex recruitment processes that require multiple parties to be involved in the selection process.
What did your career roadmap look like from self-taught developer to CTO?
In the early 2000s, I studied architecture at South Bank University in London and worked as a junior architect for two years before moving into web & software development. My colleague studying a Masters of Software Engineering (MSE) locally taught me how to code during night shifts working in a late-night service centre!
When I was asked to build a website for my music band, it wasn't web design as we know it today. It didn't even have any pixels on the screen! But through trial-and-error (a lot of errors), humble pie eating skills and duct tape creativity, I created something that looked decent enough to put online. A crudely made webpage with only text content served its purpose of creating an online portfolio showcasing our songs.
That led me to create websites for other bands and businesses (note this was before social media and WordPress). We had to build everything from scratch, setting up & maintaining a physical server in rented data centres, managing Linux boxes etc.
By the time I was 24, my career in software development had taken off. My team and I built websites for clients all across the UK--and even abroad! A year later, an opportunity arose that would change everything: we got picked to work on a project with one of Europe's largest companies who were merging. They needed a solution to help with the consolidation.
The following four years saw me grow from just another developer to something much more powerful, a leader capable of building large-scale web applications and teaching others how they could do it themselves too by helping them develop skills necessary to become strong developers.
Things did take a turn when I left that opportunity and lost my business in the process. I decided to emigrate back to Africa with my young family. The experience of moving 6000 miles back to my birth country Zimbabwe and going full-time into setting up a business alongside voluntary tech for local businesses, global Telcos, and NGOs like the International Labour Organisation was eye-opening. It taught me how people in other parts live, work, and play and the importance of developing technological solutions that solve problems. Since I had all those skills and knowledge under my belt, taking on a CTO role came as no problem.
Can you tell us more about the awards you have won previously?
My first award was in 2006, I won the Young Entrepreneur award in my region (I was 26 then). The Award is given to the most promising, up-and-coming talent in the Black Country West Midlands region. There's nothing better than being recognised by an organisation that encompasses a broad range of businesses in your sector.
In 2015 I won the Birmingham Young Profesional Of The Year. I was the Winner of the Technology Category as voted for by 10 of Birmingham's top business leaders. This award is the one I am most proud of because it is given only to individuals who exhibit both technical skills and a business-minded outlook.
What commonly-held beliefs about building engineering teams are just wrong?
The belief is that for a great product, your team must be composed entirely of ace developers. Each of us has strengths and weaknesses, and we contribute uniquely to the product's success. Providing a team is organised, has specific goals and outcomes, and is motivated to learn along the way, they'll be able to accomplish amazing things.
In our business, we operate a 50/50 onshore/offshore (half our team is in the UK whilst the other half is based in Zimbabwe). The combination gives us a wide range of technical skills and a culturally deep understanding of our products. Our team members did not all start as top developers, but the hybrid approach has allowed us to utilise the skills they possess in various roles.
Being the CTO, what do your day-to-day responsibilities look like?
My tasks include ensuring the right tasks are being worked on during the various sprints. I also spend a good portion of my day coordinating with our service providers through their dedicated managers.
I also spend a good amount of time on demos with the sales team, listening in on customers' complex challenges and working out how our solution could help them. We also have a local hosting service that acts as an extension of our technical team managing our server infrastructure, so letting them know what we are working on allows them to help us brainstorm on what they can do for us.
What frameworks do you use for managing technical debt?
I ensure I understand every time we are likely to work on something where technical debt will be created, so that I may document it in our project management software, tagging it appropriately. Noting something when it happens is always better than remembering later what you left behind.
After the sprint or project is in a stable place, I take the lead in ensuring that we go back and address the items we left behind.
How do you decide whether something is so painful that it merits a full rewrite?
I take an entirely different approach. My focus is on the desired outcome of the user and if we are on the right track to reach it. If we are managing and close to the goal, then we improve the necessary elements.
A majority of the time, we don't do a complete rewrite. To me, all solutions are made up of a front end, a back end, and a controller that connects the two worlds together. When you break down the solution in this way, it's quite simple to rewrite certain parts as and when you like. Since we are never really rewriting everything, this makes the decision of rewriting an easy one. A rewrite is generally required only for the model, view, or controller and rarely all three.
How does your technical organisation work with the other operational components of the company?
We make every effort to make sure they get a sense of how the tech they are building is received and passed along to the other teams to be delivered to our customers.
We sometimes ask them to show and tell their tech demo to non-tech members of the team so that we can understand the different priorities they have when it comes to what they want in a tech solution, e.g. they are more concerned with the UI than with the back-end transaction. Sometimes all the non-tech users want is a fast response after clicking a button.
What do you see as the hottest trends within your industry today?
Interoperability is the most significant trend in our sector. We work with many organisations transitioning from large on-premise solutions to working in the cloud. Often, their main driver for this is that they need a way of accepting data and making it available between different systems - whether these are APIs or endpoints; integration & interoperability talk seems like an endless discussion lately! The talk of the day is APIs, endpoints, integrations and interoperability.
Do your technical teams or do you use log analysis as part of your role? If you do, how do you find this helps day-to-day operations?
Several log analysis tools are used in the business, one is commercial, while the rest are built in-house. Daily operations are made easier with these tools as you can quickly determine what is causing any errors when testing new code or queries.
What can we hope to see from your business in the future?
Our business plans to become a more marketing-focused one in the near future. Despite never having a marketing team, we survived the first ten years of our existence. While this is reassuring for us that our products are good enough for customers to discover and pursue, it's not a good strategy for growing a business.
Our collective task as a team is to streamline many of our products, smooth out the onboarding process, and develop products specific to the market we often encounter. Making them both affordable from radical solutions through to complex administration processes.