Build Smarter: Harness AI and the Right Tools

By kirt@optimalcadence.com, December 18, 2024

AI tools and large language models (LLMs) are advancing so quickly it feels almost impossible to keep up!

I’ve been on a journey to identify the best tools and technologies to ensure early and lasting success in software projects. I’ve shared much of this journey on my AI-focused YouTube channel, where I connect with the software community. My passion for AI and its transformative potential has been the driving force that keeps me working late into the night and on weekends.

The learning curve is steep, and the peak of this technological mountain is still far out of sight. But the progress I’ve made so far has been incredibly rewarding. I’ve learned how to build software at an unprecedented pace, and the results have been nothing short of amazing.

Key Takeaways from My Journey


Among the many lessons I’ve learned, these stand out:
  1. Software developers need to adapt to acquire new, critical skills for the AI era.
  2. Software companies must rethink how they lead and manage development teams.
  3. Choosing the right tools, languages, and frameworks is more important than ever.

Developers: Adapting to the New Landscape


Software developers will need to focus more on the business side, sharpening their soft and analytical skills. This will help them better refine functional and non-functional requirements and translate them into formats consumable by AI tools—a skill known as prompt engineering.

The quality of code generated by frontier models like Claude Sonnet can range from useless to remarkable. The difference lies in understanding how these models reason and providing them with precise prompts and context. This can’t be overstated: mediocre AI outputs are no different than hiring mediocre developers—both lead to long-term headaches. AI works fast, but that’s no reason to accept subpar results.

No single LLM excels at everything, so it’s vital to choose the right model for the task at hand. Some are great at reasoning, others excel at generating or refactoring code, and still others specialize in creating user interfaces from designs. Developers must navigate this landscape, learning the strengths and weaknesses of each tool while recognizing when to write the software themselves—especially when dealing with uncommon architectures or niche frameworks.

Companies: Rethinking Processes for the AI Era


For decades, companies have used similar practices to hire developers: cultural fit interviews, technical grilling sessions, and pair-programming exercises. While these practices are solid, they will need adjustments in the AI era.
Soft and analytical skills are becoming essential. AI tools can handle much of the coding work, but only when guided by skilled developers. In my 25 years as a software developer, architect, and leader, I’ve seen firsthand how a well-rounded senior developer with strong soft skills can outperform an entire team of less-skilled developers—especially when equipped with the right tools. AI is now one of those tools.

To stay competitive, companies will need to remain agile, iterating on their processes as AI technologies evolve. Beyond streamlining development, businesses can leverage AI to respond to customer needs more effectively and unlock the full potential of their data.

Equally important, companies must carefully evaluate the technologies they use. Re-tooling isn’t just a cost—it’s an investment in long-term success and a hedge against future obsolescence.

Choosing the Right Tools, Languages, and Frameworks


Just as experience shapes a developer, pre-training shapes AI. The quality of an LLM’s output depends heavily on the data it’s trained on and the additional context provided. Popular languages and frameworks often offer better results because they’re well-documented and widely understood by both humans and AI.

That said, software outlives its development phase. A common industry mantra is that “code is read far more often than it’s written.” Poorly written, proprietary, or obscure architectures make life difficult not only for AI but also for future developers.
The best tools for long-term success are those with a proven track record. Technologies that are merely trendy often fail to stand the test of time. AI thrives on well-documented technologies with strong conventions and best practices, making them ideal for both humans and machines.

For web and mobile projects, I strongly favor Ruby on Rails. It’s not trendy, but it has been a reliable choice since its debut in 2004. Rails boasts a strong community, well-documented conventions, and countless libraries to address common programming concerns. Over the past several months, I’ve been using AI to develop Rails applications, and the experience has been both productive and enjoyable. If you’re interested, check out my AI on Rails YouTube channel to see how I’ve integrated AI into my development process.

Conclusion


AI is ushering us into an era that’s both exciting and a little terrifying. What once seemed like science fiction is becoming reality, fundamentally changing our lives on every level. But this isn’t the first time we’ve faced such disruption. The internet and mobile phones were once revolutionary, and today they’re integral to our lives.

The key to thriving in this new era is adaptability. By embracing AI’s potential and refining our skills to focus on areas that provide the most value, we can carve new paths forward. The journey may be challenging, but the opportunities are extraordinary.