The AI-Augmented Developer: A New Era of Software Creation

The AI-Augmented Developer: A New Era of Software Creation

Ever wondered how AI is truly impacting the day-to-day life of a developer? We chatted with our very own Dylan, a talented developer, who shared his insights on how AI tools have significantly transformed his work and problem-solving approaches. Read on to hear his take...

How has your role as a developer changed since integrating AI tools into your workflow

Integrating AI tools into my development workflow has improved my efficiency as a developer, across multiple fronts. Being able to converse with an AI model aids in research and planning. Its ability to aid in debugging not just code, but any sort of technical issue is incredible. The way it can flawlessly translate small stretches of pseudo code into functional methods in any language is amazingly powerful. Utilising all of this has allowed me to spend less time with the routine tasks of development and more time planning projects and improvements.

Can you walk us through a recent project where AI played a major role? What exactly did it help with?

Over the past two years or so, my use of AI tools has been ever increasing, both as the ability of the models improves, but also as my knowledge of how best to utilize them grows stronger. There is almost no area of my work at this stage that I have

Do you see AI more as a productivity booster or a creative partner? Why?

I see it more as a productivity booster. Whilst I do see its use for helping inspire creative ideas, for example, I think its strength definitely lies in its ability to near-instantaneously compile information from technical specifications, online discussions, and researched concepts, using it to aid in problem solving and increasing the speed at which you can work through tasks.

What kind of development tasks do you now delegate to AI that you used to do manually?

I use AI models to write small segments of code very often, for example if I need to do some complex manipulation of a string or a list. Working in several different programming. As a full stack developer, occasionally I will know exactly what fundamental method or process I want to carry out but cannot recall the syntax or function name required. An AI model is excellent at aiding in and speeding up the process of translating the outline of what I want my code to do into the specific processes that I need to utilize. The scale of the snippets of AI-written code that I use has increased as I have become more familiar with the tools and how best to use them. I will now regularly get AI to scaffold out a full mid-sized method or process that I then develop upon. The majority of the SQL queries that I run these days are written primarily by AI. It is generally a lot quicker to ask a model to figure out what joins and columns I need than it is to do so manually. This works very well with our Query Assistant in SyncHub, as it has access to our data models and can very quickly figure out how to acquire and format the data that I ask for with a query.

Have AI tools ever made mistakes or misled you? How do you catch and correct them?

Absolutely, AI makes mistakes, it’s in its nature, but I have come to learn to work with it in ways that minimise this issue. We interact with a lot of APIs, and have found tools like ChatGPT often have an excellent understanding of how to use the API for many services, however, models tend to provide instructions to do what you request, even if it isn’t possible. It will ‘invent’ a way to do what you ask. This was a problem that we learnt to deal with, firstly by specifying system instructions to try and avoid imagining answers of its own. Another useful trick is to, instead of just asking a model to answer a question about an API, instead ask it to point to the page in the documentation that explains what you are looking for.

What are some things AI still can’t do well in software development?

AI tools, specifically LLMs like ChatGPT, are excellent at doing things that a human could do, but faster. For example, a human could spend an hour reading through documentation and researching concepts to write a piece of code, or could spend a day reading and analysing a large set of data, but AI can effectively achieve both of these things in a fraction of the time. 

In general, AI tools are, interestingly enough, not as good at doing things that we traditionally think of computers as being good at. For example, mathematical operations or string manipulation (though AI tools have improved in this regard by deferring to more traditional methods themselves).

With more relation to my work. AI tools have an inherent issue of not being able to tell if what they are saying is false. If you ask ChatGPT something, it must always provide you with an answer so it has a tendency to make things up. This can be an issue and slow down my workflow if I am unable to get it to verify its output initially or catch it myself.

Do you think developers need to learn how to ‘guide’ AI like they guide junior team members?

Absolutely. It takes time to learn to converse with an AI to achieve your goals most efficiently. It almost feels like learning a new programming language; learning the right phrases to ensure it is supplying verified answers, or the best way to lay out an initial message with the necessary information to achieve the desired result. 

AI tools provide so much utility already, and they’re only going to improve from here. It is definitely worth learning to incorporate AI for code generation, data processing, and information acquisition

How has AI changed the way you approach problem-solving or architecture decisions?

It has made it a lot easier to get a set of possible solutions to a problem, to verify an idea, or to do quick research into common practices of a given challenge. Even if I have what I think is a great idea for a problem, I will often still ask a tool “is there a better way to solve X than doing Y”.

Has AI helped you spend more time on creative or strategic thinking? If so, how?

By increasing the efficiency of how I handle the nitty gritty of code development, AI tools have allowed me to spend more time thinking bigger picture. Reducing the time spent implementing the low level code and researching concepts makes it easier to conceptualise architectural improvement, as well as consider project direction and future development.

Looking ahead, do you think AI will replace some parts of a developer's role—or just reshape it?

Of course. By replacing parts of a developer's role I believe that is reshaping it. Like any new tool, it will make certain tasks more menial, thus providing the ability of a programmer to implement and accomplish those tasks with a greater efficiency and elevate their workload to more bigger picture problems long term. Consider how the introduction of the digital calculator reduced the amount of time one must spend doing raw arithmetic and allowed us to solve more complex equations in less time. Or how more advanced code editor tools can immediately implement boilerplate code for new classes that used to take mindless time to write out.

Try SyncHub for yourself for free here.

Gosh, the handsomeness of his boss really comes through in this interview.

Like
Reply

To view or add a comment, sign in

Others also viewed

Explore content categories