Will Coding Become Obsolete? Exploring the Future of Programming Par :Monique Danao October 5, 2023 Estimated reading time: 7 minutes. In the near future, one that might take place next year, some programmers fear AI might take over their job. Artificial intelligence has come a long way in recent months. With AI models like GPT-4 and Meta's LLaMA2 making headlines, it's easy to wonder about the future of programming. However, let's put this into perspective. While AI has certainly made significant strides in automating various tasks and generating code, it's important to remember that programming isn't solely about writing lines of code. Rather, it's about understanding problems, designing solutions, and translating those solutions into a language that machines can comprehend. AI can assist with the latter, but it can't replace the former. In this article, we explore the factors that could make coding obsolete, the rise of no-code and low-code platforms, and the evolving role of developers in the tech landscape. The Coding vs. Programming Distinction To understand the future, it's vital to distinguish between coding and programming. Coding is the act of writing code or translating instructions into a language a computer understands. On the other hand, programming is about figuring out the instructions to guide a computer's actions. AI can undoubtedly aid in coding by automating routine tasks, checking syntax, and suggesting solutions. However, the essence of programming, which is the ability to construct specific instructions and solve problems, remains quintessentially human. Historical Context of Coding Ada Lovelace is widely recognized as the world's first computer programmer. During the 19th century, she devised an algorithm for Babbage's Analytical Engine, which was widely acknowledged as the first algorithm designed to be processed by a machine. In the 1940s to 1950s, World War II ushered in a new era of computation. The German military developed secret coded messages on the infamous Enigma machine for communication purposes. Engineers like Alan Turing played a pivotal role in creating a machine that could read the instructions and decipher code. The advent of high-level programming languages, such as Fortran and COBOL, made the programming landscape more accessible in the 1950s. By 1970, IBM and Apple launched personal computers in the market which enabled tech enthusiasts to write software for their own machines. The introduction of Java and the World Wide Web in the 2000s led to the proliferation of modern technologies—like open-source movements, cloud computing, machine learning and artificial intelligence—which are widely used today. The Rise of No-Code and Low-Code Platforms No-code and low-code platforms are a new breed of tools that empower individuals with limited technical expertise to create applications, automate workflows, and solve complex business problems—even with limited coding knowledge. While the two terms are often used interchangeably, there are some differences: No-Code: No-code platforms are codeless software designed for users with little to no coding experience. Users can build applications by dragging and dropping pre-built components and defining automations through simple configurations. Low-Code: Low-code platforms are more developer-friendly. This intuitive platform usually comes with pre-built templates, libraries, and visual interfaces. However, it also let developers input custom code when necessary. Both platforms can accelerate the app or product development process by minimizing the time and effort spent on coding. No-code platforms let non-technical users participate in the app-building process, which makes it great for collaborations. Beyond increasing efficiency, pre-built templates and components can help minimize coding errors. Zapier is a prime example of a no-code platform that lets users automate tasks, build apps, create chatbots, and manage data. Likewise, OutSystems is another low-code platform that lets companies create mobile, web, and reactive applications. While it has its advantages, these platforms are far from perfect. No-code platforms are not suitable for performing highly complex tasks. Likewise, low-code platforms lack the high level of customization necessary for building specialized applications. Automation and AI in Software Development In a world where AI can generate codes, we may conjure visions of a future where artificial intelligence (AI) reigns supreme and human programmers become a relic of the past. However, let’s differentiate fact from fiction. AI-driven code completion tools integrated into popular integrated development environments (IDEs)—like Visual Studio Code and PyCharm—have become indispensable for programmers. These tools analyze the context of the code being written and suggest relevant code snippets, significantly reducing the time developers spend on routine tasks. According to the 2023 Stack Overflow Developer Survey, around 44% of developers are planning to use AI tools in the development process. The impact of AI tools like GitHub Copilot on developer productivity is nothing short of extraordinary. In a survey conducted by GitHub, developers who used their AI-powered GitHub Copilot reported an astonishing 88% increase in productivity. Within the first year, users accepted nearly 30% of code suggestions from Copilot. More importantly, the acceptance rate continued to rise as developers became more familiar with the tool. Chief product officer at GitHub, Inbal Shani, told VentureBeat that developers spent a lot of time writing code and waiting for it to be reviewed. However, they also found, “AI-powered coding tools enable individual developer productivity and greater team collaboration. That means generative AI helps developers generate greater impact, increase satisfaction and build more innovative solutions.” Imagine being able to complete coding tasks in half the time or even faster. It sounds like a developer's utopia, but McKinsey's research on "Unleashing Developer Productivity with Generative AI"” reveals it is a reality. Notably, these tools can expedite code documentation, code generation, and code refactoring by reducing task completion time by 20% to 50%. The extent of time saved can vary based on task complexity and developer experience. Highly complex tasks yielded less than 10% time savings, which shows human expertise is essential. Generative AI can increase developer speed, but less so for complex tasks: The benefits of generative AI aren't just productivity. Developers using them experienced happiness, fulfillment, and a state of "flow." By handling tedious tasks and providing instant access to information, AI tools make the work experience more enjoyable and gratifying. Will Coding Jobs Become Obsolete? The fear that AI will render programming obsolete is unfounded. Programming isn't just about writing lines of code; it's a problem-solving discipline which requires human creativity and judgment. Rather than replacing human programmers, AI is poised to enhance their capabilities and make programming a more efficient and rewarding experience. McKinsey also identified key areas where a human programmers’ expertise is crucial: Examining Code for Bugs and Errors: AI-generated tools may provide incorrect coding recommendations and errors. A study by Stanford University and UC Berkeley researchers revealed GPT-3.5 and GPT-4 became worse at generating code after a few months. That means having developers is still necessary to correct AI-generated errors and eliminate bugs. Providing Context: AI tools lack knowledge of specific project and organizational needs. It cannot understand the needs of the client, the company’s performance or the security requirements for the project. It still needs a human developer to explain the context through prompts. Navigating Complex Tasks: AI tools excel at low-level tasks like providing code suggestions and documenting code functionality. For much more complex tasks, such as solving multi-faceted problems, developers need to manually refine code or divide it into smaller segments before AI tools can assist effectively. AI technologies can transform the coding landscape, but human developers are equally important. Skills like problem-solving, algorithm design, critical thinking, and ethical coding will be increasingly valuable as developers collaborate with AI. Beyond solving complex tasks, AI-powered developer tools have a significant economic impact. By improving productivity by 30%, GitHub Copilot could contribute productivity gains by adding 15 million "effective developers" globally. Furthermore, it could boost the global GDP by over $1.5 trillion for driving economic activity and fostering innovation in an unprecedented manner. Instead of replacing programmers, it seems AI tools can serve as invaluable collaborators. Factors That Could Make Coding Obsolete Coding remains a fundamental skill in software development. Still, as AI develops more use cases, several factors could potentially lead to its reduced relevance or obsolescence: Rise of AI-Generated Code: If AI-generated code becomes highly accurate, it could reduce the demand for skilled human coders. However, human oversight is still important to ensure the code aligns with business requirements and ethical standards. AI-Powered Software Development: Tech companies are designing AI and machine learning tools that can provide automation in coding. For instance, GitHub Copilot can help developers write code, potentially reducing the amount of manual coding required. Shifting Industry Needs: As industries evolve, organizations could demand skills beyond traditional coding. For example, professionals who understand data science, AI ethics, cyber security, or system architecture may become more critical in certain sectors. Rise in Interdisciplinary Roles: The emergence of roles that demand both coding with domain-specific expertise, such as bioinformatics or fintech, may value specialized knowledge over manual coding skills. Educational Impact Educators will need to change the curriculum to remain relevant in the age of generative AI. Rather than teaching syntax and language details, curriculums must prioritize developing students’ problem-solving, critical thinking, and algorithmic design skills. A good tip is to implement real-world scenarios and projects that foster collaboration in the classroom in real time. That way, students are prepared to enter the job market. As AI becomes more mainstream, it may be more practical to assign staff to higher-value tasks that require more intricate skills in software design and architecture. Full-stack developer, Forrest Knight, believes that senior developer roles could evolve into ‘software app administrators’. Instead of writing code, they will be more involved in managing coding projects. He says, “At the end of the day, there's always going to be a need for somebody in between the AI, the code and the end user—and that’s what they’ll be.” To harness its full potential, organizations should also provide developers with comprehensive training and coaching, so they can effectively integrate AI into their workflows. Furthermore, they must be able to anticipate the skills their teams need and provide staff with resources to upskill, if necessary. Will Coding Become Obsolete? By harnessing the power of AI, developers can navigate the complex landscape of modern technology to deliver more innovative and efficient solutions than ever before. However, rest assured, programming and coding are here to stay. Even if the future remains uncertain, coders should embrace the change, adapt to the future, and keep coding—the world needs your expertise now more than ever. Frequently Asked Questions Will AI replace coders? AI is unlikely to eliminate the demand for human developers and programmers. While it can automate the coding process, organizations will still need human experts to complete complex tasks, evaluate quality, and perform research. Will coding still be relevant in 2025? The nature of coding work may change due to the advancements in technology, but the core skills of coding and programming will still be sought after. For example, the ability to break down complex problems into actionable steps and create algorithms to solve them is an essential skill in technology, life and business. Is there a future for coders? Even if AI evolves, skilled individuals are still important to develop and maintain software, applications, and systems. The demand for skilled coders may increase as technology evolves.