When you work in technology, you get exposed to various technologies, old and new. These are useful since your job depends on your understanding of them. Unless you are starting a greenfield project, you don’t get to choose most of the tech choices. However, when you do, you need to make sure you make the right choice for your team.
It always starts with problem understanding. What is the problem you are trying to solve? This can be technology, business, people problems, and so on. Having a strong understanding of the problem is crucial. If you don’t, you can't know the right solution.
As a leader, often you have a limited understanding of various things. You can’t always get in-depth with the new tech. You can’t get in-depth with all the technology problems in your team. Moreover, you can’t get in-depth with your assessment. These are the constraints of the job.
Having limited understanding does not mean you can’t make the best judgment. It means you must rely more on your teams to be part of the decisions. It also means that you have to outsource some of the pros/cons decisions to the consensus in the industry. You can read up on others’ assessments of certain technology or topic. You should draw from your own experience, too. What are the solution’s key aspects to prioritize for the problem?
If you feel that you have to make one choice and get married to the solution, that is not the case. Technologies evolve at a rapid pace. You need to balance your short-term and long-term needs from the beginning. This is why having a strong understanding of the problem is important.
Balancing the short-term and long-term is hard. You have to decide what the minimum viable solution is. You have to opt for speed in the beginning. Choose technologies that are easy to migrate, expand, or plug into other components.
Thinking of long-term needs means predicting where the team or the company might be in the next 6-12 months. In terms of scale, what kind of problem will you encounter by then? In terms of the industry, could you hire people with the right experience based on your choice now? In terms of cost, would it scale with your usage?
Data portability is an important aspect in the long term. If extenuating circumstances made you move from your current choice, would it be possible to do so? Are you able to migrate all your data with low effort? Putting a higher priority on a more portable solution can pay off. This is where making decisions becomes difficult.
Thinking about data migration before making a choice is not natural. Ask the question: “If this does not scale for my future needs, how do I migrate away from it?”. In most cases, you can put a number (cost, complexity, anything) to future migration costs. Also, consider how it stores data. What file formats and communication protocols it uses? Assessing these factors early will help.
The final reminder is to trust the team. As a leader, you don’t have full information, and you are not the one who will execute the work. Your team should know the nitty-gritty details about the problem. Ask the right question to make sure they are thinking along this way. Set a clear expectation of what the business expects from them. This way, the team can have full autonomy while working within the constraints.