Mykhailo Shumilov on building a software developer’s career in the age of AI
With the rapid advances in the realm of artificial intelligence and machine learning, using AI has become an integral part of the development process. According to a recent survey conducted by StackOverflow, over 80% of software developers are using AI tools for writing code, with a significant percentage mentioning other tasks as well, such as debugging, testing, documenting code, and searching for answers. While the possibility of replacing developers with AI remains just a hypothetical idea, these advances mean huge changes in the work processes, and the developers need to consider them to stay relevant. Mykhailo Shumilov, a software developer with a very diverse experience, an author of a textbook, and a creator of several development tools, thinks, that while artificial intelligence can take over a certain part of a software developer’s work, however, there always will be tasks that require human experience and skills. One aiming to build a career in the domain now should focus on them.
In an environment, where routine tasks can be automated with the help of AI coding, versatility and the ability to rapidly get a grasp of new concepts or tools becomes a crucial factor. Those who are willing to add new skills to their skill set or explore new specializations will get the most benefit from the new technologies, as they significantly facilitate learning and speed it up significantly, especially at the initial stages. While he started studying programming and achieved impressive results within several years, the support of AI tools will help beginner developers progress even more rapidly.
Mykhailo Shumilov started his first commercial project soon after completing his education. Within the next seven years, he grew from a junior programmer to a deputy CTO. In the following years, he worked in multiple companies, mostly situated in the US, in the positions of a temporary CTO or a technical leader. His experience varies from developing an SMS payment system to creating a tool to analyze the tone and topics of articles published in various media. The latter one was actively used by political consultants, and currently, Mykhailo Shumilov is working on a similar system for US clients, to be used by several companies, such as Vadimages, RothBright, and Desktend, to analyze media publications and increase marketing efficiency. He notes that achieving success within such a diverse range of domains would be impossible without the ability to find similarities or common structures within various objects and processes, and such a level of creative thinking will remain unapproachable for AI-based tools for some time.
With routine tasks automated, having a broad and systemic overview of all processes and tasks involved, be it the structure of a software application or the inner workings of a company, becomes even more important. AI-based tools can make coding more efficient, but communication, teamwork, and planning still depend on human employees, and the final success is heavily defined by the efficiency of interactions between team members, clients, and contractors. This is why Mykhailo Shumilov finds planning and management skills as important as technical knowledge. At the Vadimages web development studio where he holds the position of a CTO, he manages not only all technical processes but also contacts with clients and subcontractors, preparing technical documentation, planning, and estimating project timelines. Thanks to his insight and efficiency as the technical lead, Vadimages was awarded Clutch awards each year from 2017 to 2020, for instance, being named a top web developer in Seattle and Oregon. This success is an illustrative example of managerial skills being a crucial part of a software developer’s career.
Mykhailo Shumilov adds that AI-based tools often lack an understanding of context and the specifics of a certain task. While they can help with outlining a general picture or finding the right approach, the particularities of each case or implementation remain to be decided by humans. Consequently, specializing in a narrower area can become one of the keys to professional success. Ideally, a developer should reach a level where they can not only use existing tools efficiently but also bring their input. “Focus on what cannot be automated,” he adds. “These skills will provide a stable foundation for the career.”
For instance, Mykhailo Shumilov created several tools that are currently used by other developers all around the world. One of them is the software library for processing binary files in the NodeJS programming language. The library was published about 6 years ago, but it is actively used to this day and has over 400 weekly downloads thanks to efficient data optimization which is crucial when creating software for built-in devices. It has extended the opportunities available to NodeJS developers, providing them with an efficient tool for processing binary data. Another example is the MySql to PostgreSQL database converter. For many developers, transferring data across different database formats is an often encountered task, and having a tool that does it reliably and efficiently helps to optimize the development process. The significance of the converter is highlighted by the fact that it is referred to in the official PostgreSQL documentation, which proves its recognition and value for the developers’ community, as it has become a default tool for this type of task.
The path of Mykhailo Shumilov is a vivid example of a talented IT professional whose skills remain valuable no matter how the technological landscape changes. Following the principle outlined above will help developers who are just starting their careers now remain relevant and achieve success, using novel technologies to their advantage.