fbpx

Unmasking the Illusion: Are We Building Smarter Developers or Shortcut Specialists?

Photo by Museums Victoria on Unsplash

Imagine being on an airplane when the only doctor onboard suffers a heart attack, and you are unexpectedly chosen to perform an urgent surgery using the doctor’s equipment. Plot twist, you are not even a doctor, all you know is how to write some machine languages!.


At first, the task may seem impossible. However, what if I told you that you possess a secret tool with documented and recorded steps that you can follow to successfully complete the operation? Although not an easy task, you would proceed due to the urgency and the need to save lives.


The operation is a success, and everyone praises your work, calling you a ‘Doctor’.

Now, the question arises: Are you truly a doctor because of this single experience?

If you answered yes, this article is for you. If you answered no, continue reading to explore our shared perspectives.


We have not inherited an easy world. If developments like the Industrial revolution, which began here in England, and the gifts of science and technology have made life much easier for us, they have also made it more dangerous.”


~Ronald Reagan

During the Industrial Revolution, differing opinions emerged regarding progress. On one hand, goods became more affordable and accessible, medicine saw advancements, and the quality of life improved for the average person. On the other hand, overcrowded cities, pollution, environmental issues, and poor working conditions became prominent concerns. Automation led to job losses, and standardized production models such as Henry Ford’s, turned humans into repetitive task performers, stifling creativity and progress. However, new job opportunities also arose.

So, what does this historical context have to do with our main topic?

Enjoying success requires the ability to adapt. Only by being open to change will you have a true opportunity to get the most from your talent.”

~ Nolan Ryan

When it comes to the tech world, we’ve been undergoing some kind of revolution in recent years.

 

As a software developer in the early stages of my career, I experienced a steep learning curve due to the novelty of the technologies I encountered. Over time, I became familiar with the frameworks and stacks I worked with, such as Angular, specifically Angular 2+.

 

At that time, I was part of a team dedicated to learning new Angular and .Net Core technologies. While we had to navigate the syntax and concepts ourselves, we were fortunate to have exceptional mentors to guide us. However, when faced with obstacles during feature implementation, we often perceived them as limitations of the framework itself.

 

To my surprise, my mentors seemed capable of solving these blocking issues without in-depth knowledge of the framework. It was then that I realized that once you grasp the core fundamentals and important concepts, frameworks become mere tools and wrappers. JavaScript, for example, remains JavaScript regardless of the framework used.

 

This is not to undermine the usefulness of frameworks like React, Angular, and Vue, which have undoubtedly revolutionized front-end development

 

My concern lies in the confusion between relying on these tools and establishing a strong foundation in the industry. Just as assisting a sick person does not make one a doctor, using these tools does not automatically make one a developer. Overdependence on open-source code, forums, packages, intellisense, extensions, and auto-complete features has made my generation less creative and limited when it comes to solving complex problems. In my case, I focused more on Angular itself rather than understanding the underlying JavaScript flow, hindering my ability to think beyond the Angular framework


Similar comparisons can be made between my mentors’ generation and the previous ones, when coding and deploying required physical papers. Developers of the past had no choice but to possess a deep understanding of every aspect of their work. However, as technology made development easier over time, many developers adapted in a less ideal way. For instance, when it comes to memory management, new developers using C# may not prioritize it due to the Garbage Collector handling it automatically, whereas in the past, developers working with languages like C, C++, or Objective-C had to learn and utilize memory management functions.


Fast forward to the present era, development is no longer limited to creating complex applications. It has become an integral part of our daily lives. Every business owner wants a website, every store owner needs a simple POS system, and so on. As a result, we’ve witnessed the rise of smart CMS platforms and dynamic website builders like WordPress and Shopify, designed for non-developers to build their websites with lower costs and reduced complexity.


This accessibility and simplification of development processes have made programming appear easier and more approachable. Programming languages have become more humanized, with user-friendly tools and online courses focusing on teaching specific libraries rather than core fundamentals. Additionally, the advent of AI language models like ChatGPT has further contributed to this trend.


Furthermore, our generation has unparalleled access to vast amounts of information through the internet. While this accessibility can be beneficial, it also presents challenges. Developers may find themselves overwhelmed by the abundance of information, leading to a focus on quick fixes and a tendency to copy and paste code without fully comprehending the underlying principles. Additionally, the rapid pace of technological advancements means that developers often have limited time to delve deeply into a specific context before new technologies emerge.


It is now possible to utilize the right tools and leverage ChatGPT to create a functional website, even without being a developer. However, the question remains: Does this ease of development truly make the process easier? Are developers becoming smarter as a result?


Photo by Andrew Neel on Unsplash

 


In my opinion, until the launch of ChatGPT, we were still in a phase where most developers were on an upward trajectory. However, going forward, I’m afraid that only a few will be able to sustain this upward trend, as some will fall on the declining wave where development becomes easier, faster and more superficial.

 

This observation is not a novel analysis. Speaking to those responsible for interviewing young developers would confirm this trend. By comparing what candidates of different generations knew at a certain age with what they know or expect now, we can observe a significant disparity.

 

I am not opposed to using these tools to facilitate faster, easier, more profitable, and cost-efficient development. However, it is crucial to recognize that these tools and bots should only serve as enhancers for developers. They should be viewed as additional hands that streamline the process rather than the sole weapon in a developer’s arsenal. What many young developers fail to realize until later in their careers is that development and programming encompass more than just writing code, executing functions, and designing interfaces. This is not a lifelong endeavor that will define their entire careers spanning 20, 30, or 40 years.

 

So, will ChatGPT actually replace developers? Or will it merely replace those developers who heavily rely on these tools as their primary weapon?

 

As long as a developer’s skills are honed in critical thinking, a unique mindset, comprehensive knowledge, and accumulated experience, they cannot be replaced by any bot. Developers who possess these qualities will always be prepared to embark on new journeys and adapt appropriately!

 

Resources:

Rahman, R. (2023, May 14). Unmasking the Illusion: Are We Building Smarter Developers or Shortcut Specialists? Medium. https://ramy-rahman.medium.com/unmasking-the-illusion-are-we-building-smarter-developers-or-shortcut-specialists-62e7dec25c5b