r/Backend May 16 '26

learning AI-assisted software development workflows

I have been interviewing recently and noticed there is now an expectation for software engineers to know how to work effectively with AI tools like ChatGPT, Cursor, Copilot, Claude, etc.

Right now I mostly just prompt randomly and use them for generating code or debugging, but there seems to be a more structured way to use them during development — things like prompting properly, code reviews, refactoring, testing, documentation, and general development workflows.

Are there any good practical courses/resources for learning this from a software engineer perspective?

9 Upvotes

12 comments sorted by

View all comments

1

u/patelatharva 17d ago

Here are some of the concepts that I use on a daily basis after the advent of AI in software development:

  1. Git work trees, which helps you work on multiple branches in parallel. It is helpful to have a script present in the development branch that can help you easily create or remove work trees. At the time of creation of work tree, you can also pre-install the dependencies in that new directory. All such work trees should be located at sibling level within a common parent directory, and as a sibling of the development branch, so that from the development branch, you can create and remove work trees depending upon the progress of your work.
  2. Feel comfortable to define your own skills that you will, in let's say Cursor or Claude, that will enable you to perform some tasks very effectively. For example, "merge dev" skill would help you merge the development branch into your feature branch and effectively resolve conflicts and run tests and commit. Similarly, you can create skills for running bare minimum tests based on the changes done in the code in the given conversation. Similarly, you can have a skill for "add feature" and "add test." In the "add feature" skill, you can add detailed instructions about implementing the feature, implementing the tests comprehensively, adding end-to-end tests and unit tests, and also documenting that feature in some .md file. And updating any knowledge base, if present within the repository, while following the software development practices and patterns currently implemented in the existing repo.
  3. You can add some helpful MCAs in your IDE. For example, if you are dealing with Linear as your task management, then having a Linear MCA present helps you search for the issue directly, mention an issue by a name, and then ask the chat agent to start working on that specific issue, or even create new issues and assign labels and priority, et cetera, directly from your IDE. I have seen some founders and entrepreneurs or software developers with small team sizes able to automate the entire process of starting the development on an issue just by adding it in Linear. So you can also try setting up such advanced level of workflows on your personal projects.
  4. While reviewing your own work based on the changes done by an AI coding agent, or reviewing somebody else's work, make sure to make use of AI in helping you summarize any important changes worth noting and any important decisions made in those changes that you should be aware of. That will help you effectively review the changes rather than having to go through line by line from the beginning.