Mohammed Manssour

4 Factors to Consider When Choosing Your Tech Stack

Software Engineering
4 Factors to Consider When Choosing Your Tech Stack

Choosing the right tech stack for your project is crucial. The wrong choice can hurt your business. The right choice can make everything easier. Here are four factors to consider before making your decision.

1. What Problem Are You Trying to Solve?

When building software for a business, choose technology that fits the specific needs. Different problems need different solutions.

For example, if you're building software for an airport, you need something reliable and safe. People's lives depend on it. Your software can't crash during a plane landing. You need performance and stability above all else.

But if you're creating a simple SaaS product, speed to market matters more. Choose a programming language that lets you build your MVP quickly. Getting to market fast is more important than perfect performance.

The key rule: your tech stack should support and enhance the business, not hinder it. Consider your specific requirements carefully. Don't just pick a language because you like working with it.

2. How Many Visitors Do You Expect?

I recently had a client who wanted Node.js with microservice architecture. When I asked why, they said they expected many users. After asking more questions, I found out they expected around 2 million visitors in the first two years. That's being optimistic.

In my experience, microservice architecture wasn't the right choice for that load. It would cause more problems than it solves. I've built monolithic apps that handle similar traffic without issues.

Don't go crazy with your tech stack unless you really need to. Your tech stack should support your business, not make it harder to run.

3. Does It Have a Strong Community?

I was once excited to use FuseTools (now FuseOpen) for a mobile app project. It looked promising for cross-platform development. But as I worked with it, I ran into problems.

I spent too much time trying to solve issues that would have been easy with other frameworks. Simple integrations became complicated. The lack of a strong community made everything harder. The project took much longer than expected.

Choose a tech stack with a strong, supportive community. It can save you time and resources. When you get stuck, you want help available. Popular technologies have more tutorials, more packages, and more people who can help.

4. Can You Hire People Who Know It?

There's a story about a company in Egypt that used Scala for their project. The project was successful. But as the company grew, they faced a new problem. They couldn't find people who knew Scala in Egypt.

Very few developers in their area had Scala skills. To hire good developers, they had to pay much higher salaries. This made growing their team expensive and difficult.

When choosing your programming language or framework, think about hiring. Can you find skilled people in your area? Are there enough developers who know this technology? If not, you'll face higher costs and longer hiring times.

Final Thoughts

Your tech stack choice affects everything. It affects how fast you can build, how much you can scale, how easily you can get help, and how much it costs to hire people.

Before you choose, ask yourself:

  • What problem am I solving?
  • How many users do I expect?
  • Does this technology have a good community?
  • Can I hire people who know it?

Remember: your tech stack should support and enhance your business, not make it harder to run.

Crafted with love by Mohammed Manssour