Originally Posted on LinkedIn
This is a post I’ve been meaning to write for awhile – I’m often asked about different technology or best practice choices, such as, “Should I use Kafka or gRPC?” or “What’s the top-tier technology to build this AI platform with?” Of course, some basic answers exist—for instance, Yolo-v7 or 8 for computer vision in AI, GPT-4 or local alternatives like mistral or llama2 for generative AI solutions. Still, these are more foundational technologies than the definitive “Best in Class.”
Instead, I approach those questions by understanding the use case and stage of scale/needs and assessing our existing skills.
For instance, if a team builds a proof of concept (POC), time is the most essential variable. I would choose the technology the team is already familiar with since they don’t need to learn something new and can focus on validating the idea.
It’s crucial to remember that today’s top-tier tools may hold a different status tomorrow. The “best” is often subjective, hinging on the use case and the stage of scale/needs. A computer vision model adept at counting people in an office might falter in a warehouse setting. Similarly, a data platform ingestion component designed for mobile devices may not be suitable for industrial robots.
Choosing the right tool for the job isn’t a one-size-fits-all decision. If it were, we wouldn’t need solution and software architects. I believe the essence of leadership in technology lies not in dictating choices but in fostering an environment where people learn, grow, and are given agency within a collaborative atmosphere. It’s about being receptive to new technologies, even those we may not be comfortable with initially.
Our role is not to impose but to guide, question, and expedite decision-making processes. We must remember that our teams are our greatest assets, and their insights are invaluable. By embracing this mindset, we can navigate the dynamic tech landscape, ensuring that our choices are current and adaptable to the ever-evolving future. This approach empowers our teams, promotes innovation, and ultimately creates robust and efficient solutions.