Hello! My name is Rodrigo Ramirez, I’m a Full-stack developer at ReiwaTravel, and I had the opportunity and responsibility of selecting NEWT stack. Specially for the Backend and Frontend.
Selecting the technology stack, especially for a startup, could be crucial to determine the success of the product and the engineering organization.
We need to prioritize the short-term goals but at the same time, we should keep the long-term vision by understanding how our current decisions will impact our future growth.
We don’t need to start with a micro-service architecture from day 1, but at least understand that what we are doing today, will need to go from point A to point B someday.
And our goal is to make that transition the most smoothly possible without carrying a big technical debt.
Let me focus on 3 main factors that I consider important when choosing a technology stack, especially for a startup in an early phase.
① Product & Team
The first one will be to understand the company situation, current resources, and the product you have to build.
Are you expecting to have huge traffic from day 1? Are there any critical parts of your product that depends on a specific technology to succeed? Example blockchain, A.I, etc.?
You can't start using new technology without trying it before. Having the confidence to deliver a product to your customers and solve any technical challenge is essential. Unknowns will slow down the development speed.
We can start looking at the current member's experience or do a quick PoC to prove that the technology can achieve what the product needs to succeed.
② Engineer Market
After you have an idea of the stack that may fit better with your current team to achieve what the company wants, we need to analyze the selected technologies' engineering market situation.
Future Proof:
- Many people using it and supporting it?
- The trends indicate that it will be there for a long time? or is another alternative replacing it?
Recruiting Engineers:
- If you need to hire more developers that master that stack quickly, Will they be easy to find?
- Selecting a technology that is losing popularity will make the company less attractive to engineers.
③ Technology Stack
Finally, let’s talk about the selected stack.
Development Speed
Will an engineer need to master more than one programming language to build your product?
In an early phase, reducing and simplifying the options will help increase the deliverability speed and quality and allow you to share knowledge between engineers more easily.
Scalability & Maintenance
It's important to release the product quickly, but will the current stack support the product’s growth? This may be also related to the programming language, the architecture and tools/services selected.
About NEWT Stack
The combination of all these 3 factors was important in all the decisions about the stack we selected for NEWT.
If you are interested in our specific stack, please take a look at the following blogs: