How to develop your AI coding skills: A career guide

How to develop your AI coding skills: A career guide

To understand how AI should integrate into a developer’s workflow, we asked developers a simple question: how do you feel about working closely with AI? This question is important as developers adapt to an AI-assistant coding landscape.

?? Here’s a snapshot of the benefits that developers reap from AI coding tools:

  • A head start on complex translation tasks.
  • The ability to search for and find answers to coding-related questions without leaving their IDEs.
  • Contextually relevant code completions and suggestions.?
  • Code fix suggestions alongside a detailed vulnerability report.?
  • A deeper understanding of a codebase in real time, thanks to tools like GitHub Copilot Chat.

?? In fact, developers in our survey believe their partnership with AI will bring big benefits to their work:

  • 70% of developers believe that AI will improve code quality, task completion inefficiencies, and incident resolution.
  • 80% of developers believe AI tools will foster greater collaboration with their teams.
  • Another study found that developers who used GitHub Copilot completed their tasks 55% faster than those who didn’t use the AI coding tool.?

?? ?? AI coding tools harness the power of large language models (LLMs) and leverage natural language processing to help developers create and experiment? in software development.?


REQUIRED READING From exploring the role of context windows in LLMs to using an AI tool as a personal assistant for accessibility, check out our AI-related blog posts. ??


?????? So, what key skills should developers hone as they start coding in the age of AI??

Tip 1??: Learn best practices for prompt engineering?

As a developer, prompt engineering provides instructions or comments in your IDE or AI chat interface to generate specific coding suggestions.?

We’re still in a trial and error phase with generative AI technology, so the “best” prompt-crafting tips might vary depending on the model you use or the problem you’re solving.?

But by practicing prompt crafting often and in different scenarios, you can start taking notes on what works well in what situations and what doesn’t. Here are a few best practices we’ve learned so far:

  • ??? Set the stage with a high-level goal, especially if you’re starting with a blank file or empty codebase. If an AI coding tool has zero context of what you want to build, it helps to prime it with a big-picture description of what you want it to generate before you jump into details.

For example, when building a Markdown editor in Next.js, we could write a comment like this:

??? Create a basic Markdown editor in Next.js with the following features:

- Use React hooks

- Create state for Markdown with default text "type markdown here"

- A text area where users can write Markdown

- Show a live preview of the Markdown text as I type

- Support for basic Markdown syntax like headers, bold, italics

- Use React Markdown npm package

- The Markdown text and resulting HTML should be saved in the component's state and updated in real time

  • ?? Provide examples and definitions. Learning from examples is useful not only for humans, but also for AI tools.?

For instance, if you want to use AI to make your codebase accessible, you can start off with a foundational prompt that provides definitions of accessibility standards. The definitions and examples narrow the scope of solutions and specify the quality of answers the developer wants the AI tool to generate:

??? I need to learn about accessibility and need to write code that conforms with the WCAG 2.1 level A and AA success criteria defined at https://www.w3.org/TR/WCAG21/. I want you to be my accessibility coach, a subject-matter expert that makes me think and account for all accessibility requirements and usability enhancements. When you answer questions about accessibility, please use reputable sources such as w3.org, webaim.org, developer.mozilla.org, and https://www.ibm.com/able/.

When possible, provide links and references for additional learning. When you suggest code please use semantic HTML, ensure it is operable using the keyboard, follow WCAG 2.1 sufficient techniques, and follow the ARIA Authoring Practices Guide and related design patterns. Do you understand these instructions?


For more guidance on prompt engineering, read:


Tip 2??: Start mastering code reviews

An entire 50% of enterprise software engineers are expected to use machine-learning powered coding tools by 2027, according to Gartner. But AI isn’t perfect, so developers must stay sharp on coding skills and organizational knowledge if they want to conduct productive code reviews.?

  • If you’re conducting a code review, ask if the code accomplishes its intended purpose. Then, use this checklist to continue the review.
  • You can also master a code review from the submission end. If you’re submitting code for review, you can try breaking down your code changes rather than submitting one huge commit. Read more tips from Ryan Peterman, staff software engineer at Instagram.?

Tip 3??: Practice using AI to debug your code

We know security tooling can be a pain to use. Learn how to use AI to reduce friction, then share these tips with your team.?

  • Understand the workings of common security tools, like a static application security testing tool. That way, you can identify opportunities for AI enhancement, contribute to security discussions and decisions, and advocate for a better DevSecOps experience.
  • Learn how to use security tools that are integrated into a developer’s workflow. Many security tools were designed for security professionals. But in the age of shifting security left, developers are now the ones who use these tools. Expand your toolset and learn to use tools like CodeQL and Dependabot that are designed to work with not against the developer’s workflow. If you’re hosting a project, enable and become familiar with Dependabot and CodeQL. Dependabot is free to use for all repositories on GitHub, and CodeQL is free to enable on all public GitHub repositories.
  • Experiment with new AI-powered security tooling. Friction in DevSecOps and AppSec workflows are known issues that companies are trying to solve with AI.

Tip 4??: Don’t neglect your soft skills

Soft skills require more emotional intelligence than technical skills. As the tips above suggest,? coding with AI tools requires communication, problem solving, and empathy. As a bonus,? prompt engineering might improve your communication skills.?

We wrote about concrete ways to hone soft skills in a previous issue, which we’ll recap here:

  • Participate in hackathons to strengthen communication, creativity, and empathy. Not only will you get to meet new people, but you’ll be pushed to build creative solutions to complex problems with those new people. Also, because hackathon solutions go through several iterations, you’ll learn how to adapt to new information and adjust plans.
  • To become more adaptable, seek activities that push you to prepare for the unexpected. For example, when hiking, the environment can change quickly. When things don’t go as planned in life, you need to keep a level head, maintain confidence, and practice smart decision making. It helps to practice becoming comfortable with being uncomfortable.
  • Develop critical thinking skills and empathy by learning at least one new thing each day. Learning is free, but it requires time and effort. Learning more about history, the latest technology, and current affairs can sharpen your critical thinking skills and help you evaluate not only the quality, but also the ethics behind AI-generated outputs and their use—an important responsibility for any AI practitioner. In the words of Michelle Duke, developer advocate at GitHub: “Computers spit out information and numbers. But developers need to question and analyze how those results came to be and how they can be applied. Here are some questions to help you dig deeper: Why is something done a certain way? Can it be done better? How did we arrive at these results? Are the results useful? Why or why not?”


Let’s consider these skills in the larger AI shifts we’re seeing. Remember that question we asked at the start of this newsletter: how do developers feel about working closely with AI? According to Eirini Kalliamvakou and the rest of the GitHub Next team, here are a few things we learned about developers’ attitudes towards AI-assisted coding:

  • Developers don’t want AI to do the thinking for them but instead help them to think. Developers want and expect to remain in the loop by demanding transparency and steerability from an AI tool.
  • The next frontier for AI tools is to provide developers with a second brain. While the first wave of AI tools has provided developers with a second pair of hands—saving them time with boilerplate work—the next stage is to provide tools that conserve their mental energy for “the tasks which remain the province of humans,” Kalliamvakou writes.
  • Developers could engage in more systems-level problem solving as they continue to work with AI tools. Today, systems-level thinking is a skill often associated with more senior, experienced developers. As AI completes more boilerplate work, we expect developers to build this skill earlier in their careers and tackle problems of increasing complexity.?

In short, you are and will continue to hold the reins as AI evolves. ?? In fact, AI might demand more of developers in terms of their complex problem solving skills. To stay sharp and adaptable in this new age of coding, check out the full career guide.?

Banner advertising The GitHub Insider newsletter.
Supercharge your productivity with our monthly newsletter just for devs.


More GitHub goodness:?

?? Subscribe to our developer newsletter.

?? RSVP for an upcoming event.

?? Repost this newsletter to your network.


? This newsletter was written by Nicole Choi and produced by Gwen Davis. ?

Christina Chuang

數位行銷 × 人力資源?專案管理 | 社群媒體經營 | 廣告投放與策略規劃 | GMO Product Marketing Executive | Project Management | Content Marketing Specialist | Social Media Marketing | Digital Marketing | Public Relations | Ad Operations

5 个月

A few hours ago,I recently posted about current No Code tools and automation apps. Feel free to share your thoughts and suggestions ?? https://www.dhirubhai.net/feed/update/urn:li:activity:7186397352264413184/

回复
ANDREAsWERNEr OSTERTAG OSTERTAG

Freelancer bei VERDI&MARBUGERBUND&TK&IKK

5 个月

Thank you for iN

回复

I tend to use AI to help with problem solving when I've had little to no sleep (as I'm sure most of us do). Sometimes AI just Jumpstarts my brain in the morning. Other times I tend to question it's intelligence lol.

回复
Amila Kalansooriya

Full Stack Developer (HTML, CSS, JS/jQuery, PHP, Laravel, NodeJS/VueJS, Wordpress)

6 个月

Having some amount of exposure to ChatGPT recently I understand that it can greatly help us (devs) with our job. But I don't understand how AI could replace software developer jobs in the future as some people has been predicting. One couldn't simply ask an AI program to build and host a web app or an Android app so it can be usable in production. The whole process still need to be handled by devs. AI is just a tool for productivity. Any thoughts?

回复

要查看或添加评论,请登录

社区洞察

其他会员也浏览了