Insights from Industry Experts: Improving Software Dev Productivity

HS image - 600x218 - panel discussion

 

Software development is a dynamic and constantly evolving field that requires professionals to stay up-to-date with the latest technologies and tools to improve their productivity and efficiency. For developers, the ultimate goal is to complete tasks effectively, leading to better products and faster time-to-market. These topics were explored in our World Summit QtWS23 last November, where experts Kate Gregory, Kevlin Henney, and Volker Hilsheimer shared valuable insights. 

Embrace new technology

While some argue that new technology is a distraction and may not be helpful, embracing it is essential as it can make developers' lives easier and more productive. Gregory further reminded us that seemingly pointless technologies could become necessary over time. For instance, autocomplete and spell-check tools have become essential for developers nowadays.  

Identify the proper use cases for generative AI

The use of generative AI in software development was another topic discussed during the panel. While it has the potential to be a productivity gain, it can also become a productivity loss if not used in the proper use cases.

"Having the things that you're already good at automated is not helpful. Having the bits that you're not quite so good at or error-prone, that's great," says Henney.

The panel also noted that we were still in the "honeymoon phase" with generative AI, and users were yet to adopt the mindset of software engineers when learning through testing. This highlights the need to be cautious while using generative AI and identify its suitable use cases. 

Focus on user experience 

Another relevant point is that the software development industry needs to emphasize user experiences, including the experience of the developers themselves. By observing developers and understanding their needs and pain points, we can create tools and integrations that are more useful and user-friendly.

"As an industry of software engineering, we have historically not done a great job at looking at the user experience of ourselves. How can we create tools that we ourselves want to use? We don't have a culture or a routine around user experience studies, observing a developer, and how they actually use Git. Maybe somebody would have come up with something else," observes Hilsheimer.

"I feel that it can be if it's done right, if it's designed like a consumer consumable product that somebody actually likes to use, then I think we can create very useful integrations, very useful experience, very useful tools." 

Avoid creating legacy code

Developers should also strive to avoid creating legacy code by writing their code while using AI to automate repetitive or error-prone tasks. If too much of the code is generated by AI, it can create a legacy code that is difficult to maintain and debug.  

Henney also says, "If you use generative AI to generate most of your code, you have created a wonderful situation for yourself. You're not advanced and leading the charge into a new technology. You have just made yourself a legacy code programmer." 

Remember the culture of collaboration and empathy

Overall, the panel acknowledges that it is vital for developers to constantly look for ways to improve, including staying up-to-date with the latest tools and technologies and being open to new ideas and approaches.

However, Hilsheimer underlines that DevOps is a collaboration process, and the tools are meant to facilitate a culture of empathy and collaboration. He emphasized the need for better tools but warned against the temptation of replacing human collaboration with tools.

Empathy skills are also essential for software engineers, as pointed out by Gregory. This highlights the importance of focusing on the user experience and understanding developers' needs and pain points to create user-friendly tools and integrations. 

Listen now to the complete panel discussion:

 

 

💡 Read other best practices from Qt for improving productivity in software and UI development here.

  


Blog Topics:

Comments