Back to resources

Choosing the Right Technology Stack for Your Project

Dev Processes

28 May, 2021

John Skinner
John Skinner

CTO / CEO at RSI

John Skinner, Chief Technology Officer at RSI, analyzes how to adopt the right technology stack for your organization to leverage the potential of the emerging technologies.

Problem

One of the most common challenges faced by CTOs these days is choosing the right technology stack. More specifically, building a technology stack that would allow your company to be as future-proof as possible is a challenge in itself. Every four years, there is a significant leapfrogging event in technology that changes our overall approach and how we have to develop a brand-new software. The ability to scale up and scale down on demand without us having to play around with the virtual servers or physical servers anymore took a toll on us.

We had to go in and build a larger than needed environment to be able to support the growth. The challenge, again, in choosing the right technology would be to looking into two critical details:

  • Who do we want to select for a cloud provider?
  • What is the technology stack itself?

If the company is huge, for instance, where we have over 100 developers, it would be a little more limiting as we would have to take into account their experience without having to retrain anyone. With bigger evolution in technology taking place, we saw there was the ability to scale our platform without having to leapfrog another four years.

Actions taken

I moved on to achieve everything more effectively. I took an inventory of the major business functions or what I wanted to develop. There is no doubt on how important it is to manage the inventory to cut down on waste accurately. I organized the data and product information as much as possible and figured out the key elements that differentiate us from our competitors.

Next, I looked at the existing staff resources and their knowledge base. I asked myself, “What are they good at? How could I leverage that to make sure that we could hit the ground running in terms of technology?” We had to streamline workflow as well as improve employee productivity rather than investing in retraining or rehiring. One thing for sure is that distributing highly skilled employees within the organization allows real-time collaboration.

I am a firm believer in API first development. It allows us to come in and really understand what that contract is going to be between my internal microservices, and my outbox third-party inner-facing company. So if it is customers interfacing with us or other websites, it allows us to hone in on your real challenges and build a discipline. One thing I have seen for every company that I have worked for, over time, we tend to use discipline and how we access and modify our data. The API first development may put that disappointment in place, but it does help in the future-proofing of your software. Besides, if the APIs are strong and you understand where you are going, you can switch out to the JavaScript framework that happens to be invoked at that time.

We looked into the past to keep the present running, but then it was time for us to make some predictions for the future. Whether the changes were steering towards AI, machine learning, quantum computing, or some new revolution in mobile technology, I wanted to take advantage of knowing what it is going to be several years from now. It is sort of like playing chess, and you always need to think a few steps ahead. And then, it is a matter of executing -- creating the development plan and training my employees to get up to speed.

Lessons learned

  • It is always going to take longer than you think to retool your organization. That is both in setting and picking environments in the stack but also in training your staff. Whatever time you allocate for bringing people up to speed and prototyping, make sure that you have the outcome. Most people do not put enough time in their schedules to build the prototype as to what they are going to develop, end to end.
  • Spend enough time and put the right UX design resources in play. We have all been through crappy software in our lives. Hence, I make sure that I have a good user experience team in place who understands the needs of customers.
  • As a CTO, you must constantly be keeping up to date on trending changes that impact your architecture. Do let yourself fall into the gap where you miss the next "4 year trend" whereby any refactoring will be more difficult

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

How to Successfully Rebuild Your Product

6 June

Adir Nashawi, Senior Product Manager at Hibob, shares his insight and experience from rebuilding a product to handle many feature requests and offerings.

Customers
Product
Dev Processes
Users
Prioritization
Adir Nashawi

Adir Nashawi

Senior Product Manager at Hibob

Navigating Disagreements When It Comes to Priorities

9 May

Pavel Safarik, Head of Product at ROI Hunter, shares his insights on how to deal with disagreements about prioritization when building a product.

Innovation / Experiment
Product Team
Product
Dev Processes
Conflict Solving
Internal Communication
Collaboration
Convincing
Strategy
Prioritization
Pavel Safarik

Pavel Safarik

Head of Product at ROI Hunter

Why You Should Take Technology Risks in Product Development

25 April

Matias Pizarro, CTO and VP of Residents at ComunidadFeliz, recalls a time in his early career when he took a technology risk that had wide-ranging benefits to his product's user experience.

Innovation / Experiment
Product
Scaling Team
Dev Processes
Matias Pizarro

Matias Pizarro

CTO and VP of Residents at ComunidadFeliz

Company Growth: The Good, the Bad and the Ugly

18 March

Renaldi, Director of Engineering at Boku Inc., shares his guide for improving problem-plague processes into strategic initiatives.

Dev Processes
Feedback
Strategy
Team Processes
Renaldi Renaldi

Renaldi Renaldi

Director of Engineering at Boku Inc

The Evolution of a Startup Co-Founder

15 March

Shawn Sullivan, Co-founder & CTO at Phase Genomics, shares how his career has spanned from working at a tech giant to co-founding a startup in every stage of his growth.

Changing A Company
Dev Processes
Company Culture
Impact
Convincing
Changing Company
Career Path
Shawn Sullivan

Shawn Sullivan

Cofounder & CTO at Phase Genomics