Curated by THEOUTPOST
On Fri, 4 Oct, 4:02 PM UTC
2 Sources
[1]
AI is the best and worst thing to happen to entry-level programmers
Key Takeaways AI makes coding easier like a personal tutor, accessible 24/7 Simple coding tasks can now be automated using AI models AI lowering entry barriers may increase knowledge demands for entry-level programming jobs AI has affected every part of our technical lives, some areas more so than others. Programming was rocked pretty hard by LLMs, with people discovering early on that AI was pretty good at solving coding issues. Soon, people were using AI to help with their code, whether it meant generating it or getting help debugging it. As such, learning how to code in the current day is a bit of a mixed bag. While AI is an amazing tool for entry-level coders, it's also their strongest bane. Here's why programming can be a beginner's greatest teacher - and their worst enemy. AI models can make coding a breeze... It's like a personal tutor, accessible 24/7 Close When I graduated from University and considered a job in programming, I read an article titled "Why Can't Programmers... Program?" The author lamented that tons of coding graduates, even those with PhDs, couldn't write simple programs during a job interview. In fact, the article recommends giving potential hires the FizzBuzz test, where they have to create a program that counts from 1 to 100. Whenever the program reaches a number divisible by 3, it instead prints "fizz." If it's divisible by 5, it prints "buzz." And if it's divisible by both, "FizzBuzz." The test was pretty effective because it was simple enough for people to do while under the stress of a job interview, but also asked for a bit of advanced tool usage, such as using modulo to test if dividing a number by 3 or 5 leaves any remainder. However, these days, you don't even need to think about it; just pull up your favorite AI and ask it how to achieve your goal in plain English. It'll usually spit out a way to solve it. In fact, it's more than just a handy way to generate code. You can also ask it questions about the code it generated for more context as to why it made that decision. AI is a fantastic way for beginners to not only overcome simple coding challenges but also take the time to learn from the answers and use what they learned in their own code. Related How to use the GPU in Visual Studio Code You can use a dedicated GPU to accelerate Visual Studio Code processing. ...so why hire an entry-level coder at all? So simple, anyone can do it Source: Unsplash When I covered the news piece on Google's CEO claiming that AI wouldn't replace programmers, the quote contained this nugget of information (emphasis mine): It is just lowering the barriers for who can program , right, like how can you, more, in a natural language medium, interact. So, programming becomes more like a creative tool. I think that's gonna enable and make it accessible to more people . I agree with this point; AI models that can generate code allow people who know very little about coding to program something. But therein lies the problem; if AI lowers the bar of entry low enough that everyone can generate code, why should a manager pay an entry-level programmer to program for them? Why not instead just throw prompts into the AI model and use whatever it spits out? I don't think AI will wholly overtake programmers. I believe that senior programmers won't face the axe; not only have AI models not quite gotten to their level, but veteran coders can better listen to client feedback and requirements, debug advanced code, and adopt new practices and languages faster than an AI can. But entry-level programmers have it a lot tougher. If they were relied upon to write simple functions, and AI can now fill that gap amiably, then managers can save time and money by just having the AI generate everything for them. In a weird, paradoxical way, AI has lowered the bar for people to get started with programming while also raising the bar for what an "entry-level programmer" should know so they're more valuable than an AI model. Related Using ChatGPT to program in Python, C, and Java ChatGPT is scarily good at writing code. The knowledge required for entry-level programming jobs may rise considerably Not quite as "entry-level" as we'd like Source: Unsplash So, how do people get their foot into the programming career door? Well, it means that entry-level programmers will need to know more than ever before. They need to be at a level where a manager will find value in taking them on as new hires rather than simply writing what they want into ChatGPT and copy-pasting the result. The ideal solution is probably encouraging the use of AI among entry-level programmers. Sure, anyone can plug a prompt into an AI model, but will they fully understand the result? If a bug crops up and the AI can't seem to fix it, will they know what to do? Perhaps the answer is to train new programmers to be AI code wranglers themselves, teaching them how to use the results of a prompt and how to fix any issues that arise. That way, they can offload the easy stuff onto the AI, while they focus on learning how to perform more advanced functions that an AI model can't handle. Related A beginner's guide to programming the Raspberry Pi Unsure about what you should do after buying your first Raspberry Pi? Check out our in-depth tutorial to familiarize yourself with the SBC. Coding won't be the same again What does the future hold for people who want to get into programming? It's kind of hard to say. Programmers may adopt AI as part of their toolset and build upon it to be a better hire, or AI models may get to the point where only the most advanced coders will be worthy of hiring. Whatever way it goes, AI has been both a blessing and a curse for entry-level programmers.
[2]
The 4 biggest challenges of AI-generated code that Gartner left out of its latest report
Gartner is one of the tech industry's most respected analyst groups. Its business is custom advisory services, conferences, and putting out multi-client industry analysis reports. Becoming a Gartner client is not cheap, with estimates starting at $30,000 per seat per year. The way Gartner (and, to be fair, most other analyst groups) create interest is to put out press releases that summarize conclusions from its research reports, in the hopes that they'll get picked up for coverage by outlets like ZDNET. Since these press releases often contain nuggets that explain industry trends, we often glom onto them to try to understand the state of the industry. Also: The best AI for coding in 2024 (and what not to use) Gartner is back with a new press release. This one has the headline, "Gartner Says Generative AI will Require 80% of Engineering Workforce to Upskill Through 2027" The press release goes on to discuss Gartner's predictions of the short, medium, and long-term impact AI will have on software engineering. In this article, I'll look at Gartner's conclusions, along with my analysis of multiple glaring omissions from the conclusions Gartner presents in its release. I reached out to Gartner to request the opportunity to examine the full report, which the company was kind enough to provide me with. Also: Is AI in software engineering reaching an 'Oppenheimer moment'? Here's what you need to know The full report very briefly mentions some of what I consider to be omissions. But since a lot more people will make their judgement calls based on the press release than the full report behind a five-figure firewall, it's worth discussing some of Gartner's valid observations and also the very important stuff left out. Gartner's big headline is that AI will require 80% of the engineering workforce to upskill within the next two years. Later, in the release, Gartner clarifies that it meant software engineering rather than every engineering discipline. The implication is that AI is going to so massively disrupt software engineering that if you don't upskill, you're effectively screwed. This is true. But this is not news. Also: How I test an AI chatbot's coding ability - and you can, too Upskilling, learning new stuff and keeping up with technology, is a key aspect of any software engineer's job. In this article, I'm going to use terms like programmer, coder, software engineer, and developer somewhat interchangeably. There are subtle differences, but for the purpose of what we're discussing, they're all applicable. My point is, if you're a coder, you need to be constantly learning. There is nothing surprising about having to upskill as a software engineer. Programmers always have to upskill. Every new operating system release, every new language, every new API, every new piece of hardware released requires upskilling. Also: The rise and fall in programming languages' popularity since 2016 - and what it tells us AI will also require engineers to grow their skills, but that's no big change in what it takes to maintain a career as a software engineer or a developer. So yeah, sure while the headline is credible, it's just not as consequential to coding careers as it seems to imply. Here's how Gartner describes the stages of AI impact. I don't disagree with this assessment, although you can't really bucket these three outcomes into time periods. AI tools, now that we have them, will be able to augment coding both short term and long term. Also: How ChatGPT scanned 170k lines of code in seconds and saved me hours of work Symbolic debuggers, for example, have existed for 40 years or so, and we still use them daily. They've gotten better, they do more things, and they reflect the nuances of their working environments, but they're still in use. That will be the case with AI-assisted programming. "Building AI-empowered software will demand a new breed of software professional, the AI engineer," according to Gartner analyst Philip Walsh. "The AI engineer possesses a unique combination of skills in software engineering, data science and AI/machine learning (ML), skills that are sought after." Keep in mind that there is a distinction when it comes to AI's impact on coding. Sometimes, coders will use AI for programming (to get more code working). Sometimes, developers will use AI in programming (to make the code and solution they are working on smarter). Also: AI engineering is the next frontier for technological advances: What to know Gartner did a survey at the end of last year, asking 300 software engineering managers about job roles. 56% said AI and machine learning engineers were the most in-demand role and applying AI and machine learning to applications was an area where their teams needed to increase their skills. This makes total sense. AI and machine learning features have the potential to add tremendous value to applications in almost any field. According to Gartner's Walsh, "In the AI-native era, software engineers will adopt an 'AI-first' mindset, where they primarily focus on steering AI agents toward the most relevant context and constraints for a given task." Also: Yikes! Microsoft Copilot failed every single one of my coding tests The basic premise with "AI-first" programming is that developers hand assignments to an AI and the AI returns code for the project. This is directly analogous to a programming manager handing assignments to devs on the team, and those devs returning code for the project. The full report did mention that senior developers might be tasked with quality-checking code in organizations without automated code review tools. But there's a lot more to the problem than was discussed, even in the full report. Here are the four omissions from Gartner's press release. You just can't discuss the future of software engineering without giving these four aspects of the craft some significant attention. The scenario is simple. You feed a prompt to an AI or a set of guidelines to a programming team. Time passes (less for the AI, more for the team) and you get back a chunk of supposedly working code. Then you try it out. It's not quite right. It's never going to be quite right on the first run. Even if you're doing your own coding, the first run after writing the code is going to have bugs. It's one of the natural laws of the universe. RIght now, you can tell ChatGPT that what it gave you doesn't work, or give it the error message and it will generate a whole new block of code. But AIs have a much harder time incrementally revising their work to tune into what's needed. This applies whether the AI is text-to-text or even text-to-image. Try getting Midjourney to make just the changes you want in an image. You can specify small areas to work on, but then Midjourney will do what Midjourney wants to do. Also: The most popular programming languages in 2024 (and what that even means) To be able to have a project where developers "hand assignments to an AI and the AI returns code for the project," the AI has to be able to take criticism and make small, focused changes. Right now, each returned revision is a complete roll of the dice. It is possible to get one AI to test the output of another AI. I've done this with fairly good results, especially checking how regular expressions are constructed and will perform. Also: 8 ways to reduce ChatGPT hallucinations But given how much AIs hallucinate, and how often an AI will write code that just doesn't work, testing protocols and suites will need to be developed as part of the AI programming process. All that is likely to require humans to do much of the work. We won't be able to rely on AIs to code until we can be sure the code is good. The bigger the project, the more complex the code, the more we'll need human programmers and project managers to shepherd this all through the process. Software is far from static. Once released, bugs will need to be fixed, updates will need to be implemented, performance will need to be tuned, and so on. None of these are things an AI can do across a whole product. Also: How to use ChatGPT to write code: What it does well and what it doesn't That's not to say that an AI can't help. It can certainly be handed a function, for example, and be prompted to rewrite (note that I did not say "update") the function to provide better performance. Of course, now you have an entirely new function that needs to go through functional testing. If something broke in the rewrite, you couldn't look to just the few lines that were modified. You'd have to find the bug in the entire block of code. Maintaining code you wrote is work. Maintaining code you didn't write is a whole ton of work. When you write the code (whether as an individual or a team), you have some knowledge of why the code was structured the way it was, how all the pieces work together, and why certain decisions were made. When you maintain code that someone else wrote (human or AI), the code is something completely new. You first have to deconstruct the entire architecture of the code. If you're doing it right, you'll carefully document everything you discover. This deconstruction process is very time-consuming -- and that's before you modify or add even one line of new code. I have some experience with this. Back in 2015, I adopted 10 open source WordPress plugins. That meant I was responsible for maintaining the code, fixing bugs and security flaws, and in a few of them, turning them into more commercially functional products. Also: The best free AI courses Not only did I have to deconstruct how the original programmers wrote their code, I also found that -- in a few cases -- I hated their programming styles. Programmers can be very particular about programming styles, the way in which the code is written and structured. In most cases, code will run when written in a variety of styles, but each programmer's brain works differently and gravitates to certain ways of writing code. I am particularly persnickety about code style. If it's written the way I like, I'm incredibly productive. But if the coding style annoys me, my productivity drops and I get cranky. Also: How to use ChatGPT to create an app I have tried to get ChatGPT to convert from one of the more annoying coding styles into one I like, particularly for the mix of PHP and HTML. ChatGPT did not succeed. Over time, it may be possible to carefully train an AI on a preferred coding style and have it update adopted code into the style favored by the developer or development team, but we're not there yet. As such, maintaining AI-produced code will not only be more difficult than writing the code originally, it may also conflict with good style practices, making it even more annoying to work on. The research report Gartner is promoting with its press release is titled "AI Will Not Replace Software Engineers (and May, in Fact, Require More)." That is a premise I wholeheartedly agree with -- at least for the next decade or so. Also: If you want a career in AI, start with these 5 steps As I've shown, beyond using AI to help program or using AI to make programs more capable, there's a lot of work to be done related to the fundamental logistics of programming projects. There is no doubt AI can help with programming. I estimate that AI has save me at least a month in programming time over the past year, allowing me to complete projects I probably wouldn't have undertaken given my limited free time. But the code the AI helped write does break. A lot. And I'm finding myself spending as much time going in and fixing the edge cases the AI didn't anticipate, reverse engineering the AI's coding architecture, and then putting that code back into production. It's certainly a far cry from hands-off delegation of coding work. The full Gartner report is instructive and well-considered. But the report could use some more discussion of the areas I mentioned. I encourage the analysts to supplement their report with a greater focus on revision, testing, and ongoing maintenance. Keep in mind the process not just of generating code, but the entire lifecycle of a software project after the first set of semicolons* has been added at the end of all those lines of code. Also: AI development and agile don't mix well, study shows What do you think? Will AI replace programmers or create more demand for programming skills. Are you already constantly upskilling? Do you think AI will require you to upskill a different set of talents? Do you think AIs will someday be able to do the bug fixing and maintenance that's ever-necessary in programming projects. *Note: Python does not require semicolons, but Java, JavaScript, PHP, and all the C-based languages do.
Share
Share
Copy Link
AI is revolutionizing the programming landscape, offering both opportunities and challenges for entry-level coders. While it simplifies coding tasks, it also raises the bar for what constitutes an "entry-level" programmer.
The integration of Artificial Intelligence (AI) into the programming world has created a paradoxical situation for entry-level coders. While AI tools make coding more accessible, they simultaneously raise the bar for what constitutes an "entry-level" programmer in the job market.
AI models have emerged as powerful tools for beginner programmers, offering 24/7 assistance akin to a personal tutor. These models can generate code, explain concepts, and help debug issues, making the learning process more efficient and accessible 1. This accessibility allows newcomers to overcome simple coding challenges and learn from AI-generated solutions, potentially accelerating their learning curve.
While AI lowers the barriers to entry for programming, it also creates new challenges for aspiring professionals. As AI becomes capable of handling simple coding tasks, the expectations for entry-level programmers are shifting. Employers may now expect a higher level of expertise from new hires, as basic tasks can be automated using AI models 1.
Gartner, a respected tech industry analyst group, predicts that 80% of the software engineering workforce will need to upskill through 2027 due to AI's impact 2. This forecast underscores the need for continuous learning in the field, a characteristic that has always been essential for software engineers. The difference now is the rapid pace of change driven by AI advancements.
The integration of AI into software development is giving rise to a new breed of professionals: AI engineers. These individuals possess a unique combination of skills in software engineering, data science, and machine learning. According to a survey by Gartner, 56% of software engineering managers identified AI and machine learning engineers as the most in-demand roles 2.
As the industry evolves, software engineers are expected to adopt an 'AI-first' mindset. This approach involves focusing on guiding AI agents towards relevant contexts and constraints for given tasks, rather than writing every line of code manually. This shift represents a fundamental change in how software development is approached 2.
While AI offers numerous benefits, it also presents challenges. The reliance on AI-generated code raises questions about code quality, security, and the ability to debug complex issues. Additionally, the role of human creativity and problem-solving in programming remains crucial, especially for tasks that AI may not handle effectively 1 2.
As the programming landscape continues to evolve with AI, entry-level coders face both opportunities and challenges. While AI tools can accelerate learning and simplify certain tasks, they also necessitate a higher level of expertise and continuous upskilling to remain competitive in the job market.
Generative AI is revolutionizing software development, offering significant productivity gains but also raising concerns about code quality and security. The impact varies based on developer experience and organizational readiness.
3 Sources
3 Sources
Despite the potential benefits, Indian developers are struggling to fully embrace AI coding tools due to affordability issues, company policies, and concerns about privacy and skill development.
2 Sources
2 Sources
An exploration of how AI tools like ChatGPT can be used to boost programming output and improve research processes, along with tips for responsible and effective use.
6 Sources
6 Sources
DeepSeek's emergence disrupts the AI market, challenging industry giants and raising questions about AI's future development and societal impact.
3 Sources
3 Sources
As AI technology advances, it offers new tools for enhancing work productivity. However, its application in creative fields like novel writing raises concerns among authors. This story explores the potential benefits and controversies surrounding AI in various industries.
2 Sources
2 Sources
The Outpost is a comprehensive collection of curated artificial intelligence software tools that cater to the needs of small business owners, bloggers, artists, musicians, entrepreneurs, marketers, writers, and researchers.
© 2025 TheOutpost.AI All rights reserved