What Software engineers really think about AI

Mark Aaron

June 4, 2024

We asked Will, one of our engineers, some quick fire questions about what he really thinks about working with AI and to gain some insight into how AI can help you. See what was said:

 

How do you see AI transforming the roles and responsibilities of full stack software engineers?

It’s already been transforming our roles and responsibilities and it will undoubtedly continue to do so. I guess specifically, we’ll see an increase in the automation of routine tasks, such as code generation, testing, and debugging but this should allow us to focus more on high-level architecture and problem-solving. More developers are likely to become generalists, able to work across the entire stack, than specialists focused on a narrow area of development, as learning the syntax for new technologies becomes less of a burden. Additionally, there will more than likely be a greater emphasis on integrating AI into applications, requiring us to develop our knowledge of machine learning and AI in order to understand how they can be used effectively to provide improved user experiences.

 

What specific AI technologies or tools do you think will become essential for full stack development, and why?

The use of LLMs (large language models) by developers to improve coding efficiency is already widespread, with their integration into development environments, such as GitHub Copilot, allowing developers to write code much faster. A lot of developers also turn to LLMs, such as OpenAI’s ChatGPT, as a first point of call for asking questions when they have an issue, whereas in the past they would Google the question and browse sites such as StackOverflow searching for an answer. Developers that do not adopt these technologies are at risk of being unproductive compared to their peers. However, as always there’s a tradeoff, as developers that blindly use the code generated by LLMs without fully understanding what it does, risk creating poor quality bug-filled code.

 

In your opinion, how will AI-driven automation affect the demand for full stack engineers and the nature of the projects they work on?

AI-driven automation will likely shift the demand towards engineers who can leverage these technologies effectively. While some routine development tasks will be automated, the need for skilled engineers who can design complex systems, integrate AI components, and ensure robust performance will remain high. Engineers will be expected to have generalist knowledge of all areas of development and to be able to integrate various technologies and services together to create complex applications. Projects will increasingly focus on creating intelligent systems, predictive analytics, and personalised user experiences, requiring a blend of traditional full stack skills and advanced AI knowledge.

How do you anticipate AI will influence the collaboration between software engineers and other departments, such as product management and UX design?

It’s quite likely that AI will enhance collaboration between software engineers and other departments by providing better data insights and automating repetitive tasks. For example, AI can analyse user behaviour to provide UX designers with actionable insights, leading to more user-friendly designs. Product managers can use AI to predict market trends and customer needs more accurately, enabling more informed decision-making. This collaboration will become more data-driven and efficient, fostering a more integrated approach to product development. There may also be an increase in people working in a hybrid role, such as the new role of design-engineer that has emerged recently. With the barrier to entry for coding tasks becoming smaller, some companies are looking to hire people who can perform both UI/UX design and write the code necessary to implement the design.

What challenges do you think full stack engineers will face with the increasing integration of AI, and how can they prepare to overcome these challenges?

One major challenge will be the need to continuously update skills and knowledge to keep pace with rapidly evolving AI technologies. Full stack engineers will need to become more proficient in AI and machine learning concepts as there will be demand to integrate these technologies into a wide range of systems. There’s likely to be additional challenges in the form of data privacy and ethical considerations, which will require engineers to implement robust security measures and ethical guidelines. I guess the key to overcoming these challenges is really the same as ever, continuous learning – which as engineers, is central to what we do and what we’re good at!