My Current Go-To AI Tools for Developers

In the past six months, the way I code and build apps has completely changed. Last year, I would start with a Figma template of an app I was building. It was a static thing. The design was complete, I’d open XCode or VSStudio and start building. When I got stuck, or need additional guidance, I would talk to the designer to understand their intention, or open up Stack Overflow to search for someone who solved a similar problem I was facing. Fast forward a few months, design-to-code handover became more iterative and less interpretive thanks to Figma DevMode and Zepelin. Fast forward a few more months, and so much of how I work is assisted by AI: from code completion, all the way to wireframed apps. I no longer use StackOverflow, or even read tutorials any more. Prompt engineering generates code that serve as relevant examples, often exposing me to new language features I didn’t even know existed any more. It’s an overused term, but AI really has become my coding co-pilot.

Figma DevMode does a great job of design-to-developer iterative handoff.


So which tools should you use? Here is a list of my current go-to AI tools for developers: GitHub Copilot, Continue.dev, Amazon Q Developer, Amazon CodeWhisperer, and Perplexity.

Github Copilot

GitHub Copilot, developed in collaboration with OpenAI, is one of the most popular AI coding assistants. It offers advanced functionalities beyond simple auto-complete suggestions, generating entire lines or blocks of code based on context. Copilot supports multiple programming languages and frameworks, integrating seamlessly with popular IDEs like Visual Studio, JetBrains IDEs, and Azure Data Studio.

GitHub Copilot is probably the best all-rounder developer AI tool




Amazon CodeWhisperer & Q Developer

Amazon CodeWhisperer, recently rebranded as part of Amazon Q Developer, is Amazon's answer to AI-assisted coding. It provides real-time, contextually relevant code suggestions directly within the developer's IDE. CodeWhisperer is particularly valuable for developers working with AWS, as it offers optimized suggestions for AWS APIs and aligns with AWS best practices.Amazon Q Developer, the expanded version of CodeWhisperer, offers a more comprehensive suite of AI-powered development tools. It includes features like CLI completions, natural language-to-bash translation, and autonomous agents for complex tasks such as implementing features, documenting code, and bootstrapping new projects. Amazon Q Developer also provides chat-based assistance for understanding AWS resources and diagnosing errors in the console. Perhaps my favorite aspect of Amazon’s developer AI tools is that they also offer an CLI integration for Mac. As a Unix guy from way back and a big proponent for the Heroku CLI during my time with Salesforce/Heroku, CLI integrations alway warm my hear.




Continue.dev

Continue.dev is a new one to me, having just recently discovered it. It is another AI coding assistant that aims to streamline the development process. While less information is available about its specific features, it likely offers similar code suggestion and completion capabilities as its competitors, and offers plugins to VS Code and JetBrains. What is really interesting about Continue.dev is that it is open source meaning you can plug in any LLM or context to make you own auto complete. Imagine you are an API provider, you could use your documentation as the context for the embedded AI search, meaning developers would get much more up-to-date and accurate results than a generic LLM which may not have the most current information.

Continue.dev has a nice, familiar feels about it in VSCode, and it’s all open source.



Perplexity

Whilst not technically an AI developer tool, Perplexity makes the list because it does such a good job at translating my questions into decently designed and modular code. Let’s say I ask “create a swiftui app for booking travel. Use the magic island for live updates”. The generated code is not bad at all. Yes, it doesn’t have all the context of wiring in booking APIs and flights, but it creates modern skeleton code that saves me significant amounts of time. Then, I can start finishing the details in conjunction with the other tools on the list. I don’t have the pro version so do often find you need to check the code generated for the latest libraries or refactored API names between versions, but I am impressed at just how useful it is.

Perplexity has completely replaced StackOverflow in my development process.


So which one is better?

That’s a hard question as they are all incredibly useful. GitHub Copilot stands out for its advanced code generation capabilities and wide language support. It's particularly useful for developers working across various platforms and languages. However, it lacks specific optimizations for cloud platforms like AWS.Amazon Q Developer and CodeWhisperer excel in AWS-related development. No surprise there. They offer deep integrations with AWS services, making them invaluable for developers heavily invested in the AWS ecosystem. Amazon Q Developer goes a step further by providing autonomous agents and chat-based assistance for AWS resource management.One significant advantage of Amazon's offerings is the availability of free tiers for individual users. This makes them more accessible to independent developers or those just starting with AI-assisted coding.In terms of performance, Amazon claims that CodeWhisperer participants were 27% more likely to complete tasks successfully and 57% faster than those not using the tool. Basically, Q Developer and CodeWhisperer are your gateway drug into the AWS ecosystem. Since I do most of my development in the Apple ecosystem, I don’t use them as much as GitHub Copilot.




It’s important to note that all AI coding assistants should be used as aids rather than replacements for human developers. Code suggestions should always be reviewed and edited to ensure they function as intended. This is especially true if you are not using paid models. I’ve been bitten a few times with Perplexity generating code from previous versions of swift. Lesson learned, generate, then review and iterate. Use AI code as the structure, but do your own handiwork or your house might fall down.

Privacy and security are also important considerations. GitHub Copilot allows users to disable data retention for prompts and suggestions, which is crucial for security-conscious developers. Amazon Q Developer emphasizes that proprietary content is not used to train underlying models for anyone but the user, and it provides enterprise-grade access controls.




Conclusion

In conclusion, the choice between these AI tools largely depends on a developer's specific needs, preferred development environment, and the platforms they work with most frequently. GitHub Copilot offers versatility across languages and platforms, while Amazon's tools provide unparalleled support for AWS development, Continue.dev has interesting opportunities to create very targeted models, and Perplexity is the allrounder I use the most. As AI technology continues to evolve, we can expect these tools to become even more sophisticated, further enhancing developer productivity and code quality. In addition, with suites like the new AWS App Studio, which reportedly can generate entire apps for you, there is no doubt AI tools will continue to have a huge impact on developer workflows.

Previous
Previous

Great Developer Documentation Is Your Best Marketing

Next
Next

The Top 5 Sites Developers Should Post To & Learn from In 2024