10 ways AI can make your programming job easier—and more efficient

It is not surprising that programmers have been the primary beneficiaries of AI; after all, programming is precisely the sort of thing an AI can analyze. It’s a logical, structured science that relies on rules, conditions and structure. Some programmers fear that a wave of code-on-command AI tools will replace them, but the truth, as always, is far more nuanced than that. AI isn’t replacing programmers but making them more efficient, creating new opportunities and specialties. Here are ten tips for programmers who want to ride the AI wave without being drowned.

Pair programming, with an AI

Pair programming is an old technique where two programmers work on one computer to produce more efficient and error-free code. While one types, the other watches the overall structure and makes suggestions. Now, you don’t need another programmer beside you: an AI like Github’s Copilot can work right within your development environment, making helpful suggestions and providing reference materials and code samples on demand. It is also customizable: you can tweak and enhance the AI model that drives it to your style and needs while keeping it private. As someone who has done team programming with both real people and a Copilot AI; I can tell you that the latter is much better: they don’t cough, make rude comments, or just wander off unexpectedly when you need something.

Mock Interviews

The technical interview is the bane of the programmer’s career search: a usually automated test where you set a coding problem that you must fix quickly. Fortunately, AI provides plenty of ways to practice: services like Finalround.ai offer mock interviews at a huge range of companies that include real-time feedback on how you did. Aptico also offers free mock interviews, including more technical ones, while SQLpad.io offers a number of more in-depth mock interviews on specific technical topics.

Tackle Real Problems and Learn

The programming community Kaggle has a great section for competitions, where groups of users get together to program AI to solve problems from recognizing handwritten characters to identifying exoplanets in telescope data. Some offer cash prizes: the exoplanet one is offering $50,000 to the winning team, and is open until the end of October.

AI From The Ground Up In The IDE

Most IDEs include AI as an add-on, installed through a plugin or other hack. Cursor.com is a new IDE that’s built from the ground up to include AI. It’s an interesting idea and it works pretty well because the fundamental AI architecture lets it do things like autocomplete multiple lines of code at once, pull a code suggestion from reference material right into your code, and use AI to predict which bit of code you’ll edit next by watching your cursor. It’s still a pretty new product with a few rough edges, but it has much potential.

Use The Best Model

If you are going to use an AI to help you code, you want the best. How do you judge that? HuggingFace has an interesting ranking of AI coding engines. The ranking is based on the OpenAI human eval dataset, a group of unique programming problems that aren’t included in the programing material that AIs are trained on. That means they judge how well the AI model finds solutions to novel problems, not just ones in textbooks.

Run A Local AI

I asked an AI version of Karl Marx what he thought of AI, and he said that “it is important to study and develop AI in order to ensure that it is used for the greater good and not for the exploitation of workers.” KarlBot has a point: to understand and control technology, you need to be able to study and develop it yourself. For AI, you need to be able to run your models, not just use the ones the AI companies allow you to use. Fortunately, plenty of free tools, like Ollama and Llama CPP, will enable you to download and run AI models from numerous sources.

Run A Coding Assistant Locally

If running Ollama has got you interested in AI, but you want to make sure that your code remains private and confidential, consider a self-hosted AI assistant such as Tabby or Aider. Run these on your private rcode repositories on a local system, and the big AI companies won’t get a sniff of your secret code.

Create Your Own AI Models

If KarlBot is right, you need to try creating your own AI models, tweaking existing ones or creating your own from scratch. The latter is a very computationally intensive process, so the big AI companies are in a running battle to see who can build the biggest pile of processing power to make the next big thing. You don’t need to be an egotistical billionaire to create ML models, though: AutoML.org is an excellent place to start a deep dive into the huge pool of open-source projects that can corral, tag, sort, and process your data. It also offers starting points for training a model on this data.

Tweak An Existing AI Model

If your don’t want to start from scratch, retraining an existing AI model might be what you need, through creating a Low-rate Adaptation (LoRA). These tweak existing models, rather like adding a filter to a camera. A good place to start experimenting with these is AI Toolkit, a set of tools that can be run locally or on providers like RunPod and Gradio to create LoRAs and similar model tweaks.

Build An AI Cluster

One rule of programming AIs is that too much is never enough: You can never have more computing power than you need to run and create AI models. Rather than just buying a faster PC, creating a cluster of computers that can run a single AI model is often easier. A simple way to start doing this on a home lab is Exo Explore. This new open-source project automatically discovers devices on your local network and balances the load of handling AI queries between them. It even works with different platforms, running on most systems that can run Python. However, Windows support is not yet available except by running it through the Windows Subsystem for Linux (WSL). To the client, it looks like a single device that supports ChatGPT API endpoints, so it won’t require many changes to implement. It even creates a simple WebUI interface for simple typed prompts.

No comments

Read more