A day in the life of a Software Engineer at SoapBox Labs: Joe Cheevers
October 27, 2022
This is the first in a series of “Day in the life” blogs where a member of the SoapBox team talks in-depth about their role and what led them to the company.
Joe Cheevers is a Software Engineer, who was born, raised, and lives in Dublin, Ireland.
Before we dive into our interview, here are some fast-and-fun facts about Joe:
His favorite movies: Princess Mononoke and Robocop
His favorite TV shows: Star Trek: The Next Generation and Avatar: The Last Airbender
His favorite restaurant in Dublin: Duck
His favorite pun: Did you hear about the magic tractor? It went down the road and turned into a field!
Hey, Joe! Tell us about your role at SoapBox.
At SoapBox Labs, customers primarily access our speech recognition technology via our Web Services. As a Software Engineer, my role encompasses a wide range of responsibilities and tasks to keep our speech services running smoothly and improve their performance. On a day-to-day basis, this includes contributing code changes, creating Pipelines, and even handling interesting and exciting engineering challenges about our speech technology, which rarely have out-of-the-box solutions since speech is a specialized industry.
When did you join SoapBox? What drew you to the company?
I joined SoapBox as an intern just over six years ago while I was studying Computer Science at Griffith College Dublin part time. At that time, the company was a lot smaller — I was one of the first seven employees — and still an early startup, which was intriguing for me. My primary draw to SoapBox was first and foremost the people. I can truly say I’ve never worked with more interesting, caring, and hard working colleagues.
What does a typical day look like for you?
A day in the life of a SoapBox Engineer starts like that of most other Engineers (I think!). After getting ready for the day, I plant myself in front of my many screens. My mornings would typically progress with checking emails and reviewing our monitoring tooling to ensure our Web Services are running smoothly and all our regions are healthy and serving traffic as intended.
I join our Product-Dev team stand-up every morning (we follow an agile methodology and typically work on goals for a set length of time — 1 week, 2 weeks, etc.). From here, the majority of my day would be spent coding, monitoring, or testing. Some days, it could be all three.
Monitoring for reliability and availability
Every Engineer at SoapBox has a responsibility to ensure platform reliability and availability. Monitoring, therefore, is a 24/7 necessity, especially when dealing with a live service deployed in multiple locations globally — which is why we have extensive monitoring and alerting systems and dashboards with graphs that go on endlessly. It’s a part of my daily process to be aware of our Production systems and keep an eye on them to ensure they’re always operating at their best.
One of the most important parts of development is testing — from basic unit tests (e.g., ensuring each function in our code base works) to complex multi-system end-to-end testing (e.g., sending user requests to our Web Services and voice engine, and then sending a response back to the user). Making sure each part of every system is functioning correctly is vital in the development and monitoring of live services. So we need to keep tests up to date and run them regularly.
What’s your favorite project that you’ve worked on at SoapBox?
One area we’re always iterating are our test suites, which we use for areas such as acceptance, load, and stress testing. This is an ever-growing and evolving area that is very practical and gives us confidence when we deploy updates to our Web Services. Maintaining, refining, and iterating our test suites is an ongoing initiative to ensure our platform is as reliable and robust as possible.
You’ve been at SoapBox for over six years. How has your role evolved?
An aspect of working at SoapBox I have enjoyed over the years is how I was able to progress in my career and work on different projects and technologies. I started as a developer in a QA role, working with Unity and integrations of our speech technology into other systems. I then progressed to Software Developer, and then my job evolved into my Engineering role today, working with our Web Services and different programming languages, which I’ve been in for just over two years.
What skills are needed to be successful in your role?
Here are my top four:
- Patience: This is key, as finding and solving engineering/coding problems can take time.
- Having a technical or analytical mindset: Being able to look at something and try to pick apart how it works or clicks together helps a lot as an Engineer.
- Experience: Just the practical application of working on codebases or live services will teach you so much more than you’ll ever learn from a textbook.
- Be ok with failure: The quicker you can break, fix, and iterate on problems the better you will become.
What’s your favorite thing about working at SoapBox?
The culture! Working with a solid team that are so willing to share their time, experience, and ideas when working with such a wide range of technologies and systems. And we also like to have fun too. We have a lot of pun enthusiasts at SoapBox; everyday I post a joke from my pun calendar into our pun Slack channel, which inevitably leads to an endless thread of follow-up puns. And before COVID, I was a regular member of our Friday Lunch Crew, where a group of us would venture to a different lunch spot around Dublin. Now that we’re back in the office, I’m hoping to start this up again.
Learn more about SoapBox
Interested in being part of the team that builds the leading speech recognition technology for kids? Keep an eye out for open roles on our Careers page. Plus, check out our Medium publication for more tech blogs from our Speech Technology, Engineering, and Product teams.