Plato Elevate Winter Summit has been announced (Dec 7th-8th)

🔥

Back to resources

Choosing the Right Technology Stack for Your Project

Dev Processes

28 May, 2021

John Skinner
John Skinner

CTO 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

The Right Way to Ship Features in a Startup

11 November

Matt Anger, Senior Staff Engineer at DoorDash, shares how he took the risk and shipped features in a startup.

Alignment
Product
Dev Processes
Matt Anger

Matt Anger

Senior Staff Engineer at DoorDash

The Problem-Solving Process: A Modern, Data-Driven Approach for Engineering leaders

28 October

Sudheer Bandaru, CEO at Insightly Analytics, recalls how he formed a company for carrying out data-driven solutions to daily engineering problems.

Dev Processes
Team Processes
Sudheer Bandaru

Sudheer Bandaru

CEO at Insightly Analytics

Taking The Lead As A Manager In Crisis

14 October

James Tobias, Senior Product Manager at Mapware, unveils a riveting journey to build a product from ground zero successfully.

Product Team
Product
Dev Processes
James Tobias

James Tobias

Senior Product Manager at Mapware

Strategic Ways to Stop Losing Customers

13 October

Mary Fisher, Software Engineering Manager at DrChrono, shares how diligently she worked with teams within her organization to retain customers.

Alignment
Innovation / Experiment
Product
Dev Processes
Convincing
Tech Debt
Prioritization
Mary Fisher

Mary Fisher

Software Engineering Manager at DrChrono

Powerful Reasons Why Goal Setting Is Important

12 October

Mary Fisher, Software Engineering Manager at DrChrono, shares how goal setting provides the foundation to drive an organization.

Goal Setting
Dev Processes
Deadlines
Productivity
Motivation
Cross-Functional Collaboration
Prioritization
Agile / Scrum
Mary Fisher

Mary Fisher

Software Engineering Manager at DrChrono

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.