For better or worse, AI is everywhere. In web development, we are not at the epicenter of the AI earthquake, but we are close to it. What does that mean for our work?
If you’re like me, you probably didn’t jump on the first AI tool all those years ago when it came out. Even today, people who understand some of the issues surrounding AI and appreciate the technology in this field may not have used it much.
If you’re not already using AI in your web development, you’re doing it wrong. I’d like to share some ideas and tips from what I’ve observed regarding AI over the past few months.
The following recommendations apply to you as an individual web developer. (I’m working on sharing my views on AI with web development teams as well.) This assumes you have your own project (preferably including your own website). I’m here.
1. Let’s try it
Take advantage of AI. If you haven’t started yet, start today. If you don’t, your company may throw you under the bus they drive and take you on.
I’m not kidding (I’m not optimistic).
AI will have a negative impact on the environment and technology, but there is no point in arguing with reality. (There are some things we can and should do about both, but these should be discussed elsewhere.)
There have also been more layoffs in recent years. No matter how “a great place to work” they claim to be, and therefore no matter how hypocritical a company may seem, actions speak louder than words. For technology companies, it’s time to assume the worst.
2. Set up with AI assistant
When we’re talking about AI here, we’re talking about development-related AI. General purpose AI like ChatGPT can help, but our work requires specialized tools. The most likely choice here is probably GitHub Copilot, but I also like JetBrains’ AI Assistant. Obtain a license. Try what works for you. The most important thing, and we’ll talk about this later, is to use it.
3. Automatically generate commit messages
A big time-saver is having the AI generate commit messages. (I do about 1,000 each month.) JetBrains’ AI Assistant makes it easy in the JetBrains IDE. Below is the prompt I’m using, which leverages traditional commits and marks all commit messages as AI-generated, based on the defaults.
Avoid overly wordy descriptions and unnecessary details. Start with short imperative sentences of 50 characters or less. Use traditional commit style. Then leave a blank line and continue with a more detailed explanation. The first part should be one sentence, and the detailed explanation should be no more than two or three sentences. For everything in the repository (…), the commit message should be: “chore: include include automatic changes” Ends all commit messages with the following message on a separate line: “(This commit message was generated by AI)”.
It works well, saves time, and the quality is just as good (if not better) than when I wrote the message.
However, the following seems important: Being able to craft good commit messages in a standardized way is still a great skill. So, if you’re a junior developer and don’t yet have solid skills and routines for documenting changes, it’s best to do so first and then use AI to support you. Being able to handle the basics is very important as it is the core of your professional credibility.
4. Have your code reviewed by AI
Unless you’re contributing to someone else’s work, you may not get any reviews for your code. But as you develop code in and around your organization, you’re likely to encounter all sorts of code review styles and processes. Some reviewers throw everything out there, while others argue about tabs and spaces for every file. You may get immediate feedback, or you may need support from your manager to eventually get reviews from other teams.
In either case, AI code review can help. These can be extremely useful when you need a second opinion that isn’t immediately available, and can speed up and harmonize code reviews within your organization.
What tools can I use? I’m still evaluating other options, but so far my favorite code review helper is CodeRabbit. I rely on this when making more complex changes in my projects, as it has pinpointed problems that I might not have noticed otherwise.
Note that we are not saying to rely solely on AI code reviews. It may be necessary for an individual’s job, but it’s different for an organization. This is where you can incorporate AI into the process and make adjustments based on expectations and experience.
5. Refactor your code using AI
If you’re like other developers (or like me), you use to-do comments to mark things that could be cleaned up 🙂 (or you do too 🙃)
One great use case for an AI assistant or editor is to refactor these locations. For example, JetBrains has great refactoring options (I think it’s the best AI feature apart from commit messages) and allows you to request refactoring suggestions for such code. Try it with your own code. The solution may not be “perfect”, but it may still be better than the previous one. (If not, you can always add another “To-Do” comment to your code or rollback.)
Refactoring is where AI shines. I recommend using refactoring for AI.
6. Work on 5 test projects
…and do it now. Write down your biggest pain points at the moment, your most annoying repetitive tasks, and the projects you’ve always wanted to do.
If you have time and are already set up, ask AI Code Assistant to provide you with the solution you need or the scaffolding or script for your envisioned project. Allow yourself to be dragged into it. Build it.
Make 5 and bring more of these projects to life. If you can handle additional work (see the AI Paradox), document it, ship it, and publish it.
The key is to exercise the right muscles for AI development work and develop a sense of where it’s useful (and where it’s not).
7. Examine AI tools regularly
Keep experimenting with AI solutions, both professionally and personally. Yes, everyone ships some AI, but the key here is to keep an eye on AI solutions in your area of expertise and get in the habit of testing them (in my case, on a regular basis). reminders can help with this).
Here are some solutions that I am evaluating or plan to evaluate.
Once that’s done, you and I can both explore some of AI’s “great lists.” For example, Mahsima Dastan’s Awesome AI Tools and James Murdza’s Awesome AI-Powered Developer Tools.
8. Decide where to not use AI
I already suggested waiting until you develop good habits with AI commit messages, which most people have.
This is part of a larger topic where we become aware, or become aware, of what tasks we can and cannot delegate to AI.
Here’s where I think this is subtle:
You can draw the line and say you don’t use AI in your main area of expertise. For example, I don’t use AI to create HTML and CSS, but there are plenty of reasons to do it yourself (if you haven’t already, consider following my work!).
But it still makes sense to test AI to see where it improves efficiency or makes it obsolete.
That certainly seems like bad news, but you’ll want to learn this way before someone tells you to. This will help you a) incorporate AI into your work, and b) develop a non-AI profile to identify areas that can benefit from you, your talents and experience, and have not yet benefited from AI. It becomes possible to form the .
If we can become proficient at using AI and learn about areas where AI cannot be used, we will soon be able to see where we as professionals will be needed in the future. If you don’t do this, the work you’re doing could become AI and automated.
summary
AI is energy-intensive, so we urgently need to find ways to make it consume fewer resources, consume more, and make it all renewable. AI will make us stupid if we are not critical, continue to learn, and develop a sense of when not to use AI. As developers, and not just in web development, we need to incorporate AI into our work. There are many companies that don’t value people very much, and if they don’t adapt they will go out of business. (This is a disaster and needs to change, yes.) Incorporating AI into your work starts with an AI IDE or an IDE with AI Code Assistant. AI-generated commit messages are a great use case for AI. AI-powered code review is a must-have AI use case. (I’m definitely bullish on this one.) AI-supported refactoring is a great use case for AI. You can build experience and a strong sense of AI by solving problems and implementing small projects using AI. You can benefit from constantly monitoring the status of your AI by inspecting your AI tools regularly. We need to understand AI well and be aware of its shortcomings as they relate to our work. And you need to use this knowledge to continue redefining yourself professionally.
When it comes to AI in web development, we believe that’s where we are and what we can do now.
Thanks to Kevin Khaw for reviewing this post.