Atualização: January 10, 2023
Editores: Alex Cunha
Bio: Alexandre Cunha is a seasoned software engineer and entrepreneur with over 15 years of experience in delivering complex and challenging projects. As the founder and CTO of ZBRA Solutions, he is passionate about cloud-computing solutions and takes ownership of large projects with ease. Alexandre is dedicated to helping teams build and improve software projects and works closely with product and dev teams to ensure timely and high-quality deliveries.
It has become evident that artificial intelligence has advanced to a level where it can not only write code, but also engage in conversation and generate creative works. Examples of this include ChatGPT, DALL-E, and Midjourney. In my view, the ability to write code effectively for humans relies on both language and creative skills. It is only now that AI has developed these abilities that it can effectively demonstrate proficiency in writing code.
Contrary to popular belief, software engineering requires a high level of creativity. In fact, many successful developers are also artists or musicians, which highlights the connection between these fields. Despite the repetitive nature of coding, software development requires constant problem-solving and the ability to think creatively. There are always many ways to solve a particular problem, and even within a single technology stack, numerous approaches can be taken. A creative person will be able to explore a wide range of options and improve their coding skills through trial and error.
As someone who has studied music for about a decade, I can confidently say that performing live with a band brings a sense of joy and pride that is unparalleled in its beauty. Interestingly, I have found that this also holds true for some of the code I’ve written as a software developer. The aesthetic appeal, elegant architecture, and smooth functionality of the code bring a similar sense of satisfaction to playing a live instrument proficiently. Both music and software can be seen as their own languages, each with its own rules, sounds, and structures that must be mastered over many years in order to communicate through them effectively.
Another typical trait among developers is the ability to speak multiple languages, which is now being observed in artificial intelligence tools as well. Learning a programming language and expressing ideas within its constraints is similar to learning and speaking multiple natural languages, such as English and Spanish. While software languages are more precise and do not overlap exactly with natural languages, they require a similar cognitive skill set.
There has been an exciting development of tools that combines art, creativity, and language skills into something that can write software, and it’s no coincidence. In my opinion, this is the right path if we want machines to get better at it. But as we edge closer to this reality, we can’t help but wonder: what new endeavors will we turn to as machines take over this task, and how will we continue to challenge and engage our own creativity?