How AI is Reshaping the Entire IT Field

Over the past week, I've been diving deep into using GPT and Copilot to aid in my coding ventures, which has led me to some fresh insights. As a hardcore coder who absolutely adores programming, I've always been somewhat hesitant when it actually comes to solving problems with a computer. The crux of the matter is that computers can be incredibly finicky. What seems like straightforward issues can quickly become mired in complexity once you delve into the details, leading to spending far more time than initially anticipated. Take, for example, the task of renaming 50 files under a specific rule, such as swapping the strings between two underscores in their names. This task, seemingly simple and straightforward, requiring just three steps: parsing the filename, generating a new name, and calling the rename function. This can become a hassle when you halfway realize you've forgotten the intricacies of regex syntax or how to make regex ignore case sensitivity. Often, what looks good in theory fails upon execution, necessitating debugging sessions. Managing to churn out a functional program in 5 to 10 minutes is considered quick under these circumstances. Yet, manually changing a filename takes but a few seconds, making manual edits far quicker for a smaller batch of files (e.g. 30 ~ 50). This realization isn't lost on me, a self-proclaimed coding enthusiast, so I completely get why those not deeply entrenched in programming, like data scientists or business analysts, might prefer sticking to tools like Excel and Tableau for their problem-solving needs.

However, transforming seemingly one-off tasks into repeatable, batch-processable code is incredibly beneficial. On one hand, humans are prone to errors and oversight in repetitive tasks, issues computers don't face. A single mistake in file handling can lead to more time spent in revision and rework than in writing the code itself. On the other hand, automation opens up new possibilities. Coding a task means entrusting the computer with its completion. As we automate more of these fragmented tasks, the complexity of what we can confidently delegate to computers grows exponentially. Yet, many, myself included, often hesitate. Why spend ten minutes coding when a task can be manually completed in a minute and a half? It's the classic over-engineering dilemma humorously epitomized by the PhD student who builds an elaborate X-ray and robotic arm system to detect empty soap boxes on a production line.

Fortunately, my recent foray into intensive AI programming experimentation has shown me that AI might just be the perfect solution to this conundrum. For relatively simple programming tasks, AI is likely to spit out directly usable code in one go. Returning to the file renaming example, it took me merely a couple of tens of seconds to describe my needs to AI via speech recognition, providing an example, and it generated the necessary code in about thirty seconds. Another thirty seconds to paste this into an editor and run it, and voilĂ , task accomplished with ease. Thus, the advent of GPT-4 and Copilot has been nothing short of revelatory. They've transformed programming from a last resort, employed only when manual efficiency bottoms out due to data volume, into a potentially first-class solution for problem-solving. With the ability to leverage AI in this manner, the efficiency and depth with which we can utilize computers, whether short or long-term, are set to dramatically increase.

And it's not just programmers who stand to benefit. The process I've outlined, including describing requirements to AI and executing code, requires little to no programming knowledge. A brief tutorial on running Bash or PowerShell scripts can get you started. Should issues arise, error messages can be directly fed back to AI for troubleshooting. This makes the whole process not only accessible to those with basic computer skills but arguably more advantageous, as AI significantly lowers the entry barrier. In essence, AI equips professionals like data scientists and business analysts with programming capabilities on par with trained developers, facilitating both speed and quality in coding. This democratization of programming represents the first profound impact AI could have on the IT field as I see it.

Beyond this, AI promises to revolutionize how we learn programming and other IT skills. Traditional learning has relied on a triad: textbooks for theoretical foundations, teachers or TAs for personalized Q&A, and hands-on practice, with the latter being crucial in IT. Theory without practical application is fruitless. Yet, our current educational systems, both classroom-based and online, prioritize textbook and instructor-led lecturing, diminishing the focus on practical skills. This approach breeds two main issues: a lack of emphasis on practical application, leading to a theoretical rather than hands-on understanding of programming, and a disconnect between learning and doing, resulting in a failure to grasp the practical utility of knowledge points, thereby sapping motivation and blurring focus. These challenges are detrimental to learning, especially in IT.

My recent experience learning Swift and Python's asynchronous programming with AI's help has laid bare the transformative power AI wields over traditional learning methods. Rather than starting with textbooks or binge-watching tutorial videos (I find books more helpful than videos for quick reference and deep dives into topics), I've embraced learning through doing, guided by AI. I ask AI how to implement specific functions in Swift or Python, adjusting and querying as I go for a tailored learning experience. This approach is highly personalized, allowing you to prioritize learning areas that interest you the most, thereby maximizing efficiency. Moreover, AI serves as a patient tutor, guiding step-by-step through configurations and offering customized, practical advice based on industry trends and standards, often more aligned with real-world practices than what you might get from a graduate TA.

In summary, at least for straightforward scenarios, AI can write programs both efficiently and correctly, potentially reshaping the IT landscape in two significant ways. First, it elevates programming to the preferred method for problem-solving, enhancing the accuracy and productivity of those using AI tools. Second, it offers a personalized, efficient, and in-depth learning experience, vastly improving our learning efficiency and outcomes. From these perspectives, while AI may not immediately replace programmers, it's undoubtedly starting to profoundly impact our entire IT field.

Comments