Table of Contents
1. Positive side: AI makes development work simpler
1. End monotony The work
2. Reshape the framework development process
3. “Generalist” developers will rise
4. The revolution of software testing
5. The era of universal developers
2. Negative side: code pollution, technology degradation
1. Risk of over-testing
2. Degradation of Development Skills
3. AI programming tools perform poorly
3. The most worthy question: Will AI replace software developers?
Home Technology peripherals AI The 'Devin AI era' of programming, the joys and worries of software developers

The 'Devin AI era' of programming, the joys and worries of software developers

Apr 11, 2024 pm 05:10 PM
python frame ai develop

编程的“Devin AI 时代”,软件开发者的喜与忧

Author|Compiled by Keith Pitt

|Produced by Yifeng

|51CTO Technology Stack (WeChat ID: blog51cto)

The author of this article, Keith Pitt, is the founder and CEO of Buildkite, a software development company. In 2013, he founded the company with another software engineer, Tim Lucas, to provide a continuous integration and continuous delivery (CI/CD) platform for the technology industry. It recently received support from OneVentures and AirTree co-led $21 million in Series B financing.

A 20-year programming veteran and CEO of a company that serves software developers, Keith Pitt has an early take on the idea of ​​producing intelligent artificial intelligence, AI programming tools and ultimately This brings an inherent level of skepticism to most software development skills in timing predictions.

He said in the article: "While I still have some doubts, my experience interacting with generative AI in my daily development work has prompted me to broaden my horizons and start thinking about what I think is possible. AI will be used in some ways Changing software development in a relatively basic way has both positive and negative sides.”

1. Positive side: AI makes development work simpler

1. End monotony The work

Developers spend too much time on details like grammar and punctuation can (and should) disappear. Developers no longer need to dig through manuals or piece together code snippets from code exchanges, but instead get perfectly formatted code answers by describing a desired result. Large language models (LLMs) can also inspect existing code for typos, punctuation errors, and other details that can cause headaches for developers.

2. Reshape the framework development process

When developing using software frameworks such as Spring, Express.js and Django, AI programming tools abstract common parts of software development and set consistent settings Guidelines, as well as pre-written code that provides common functionality, can greatly improve productivity. The generated AI will demonstrate the value of their tools by creating boilerplate code, automating repetitive tasks, and suggesting code optimizations.

AI can also help customize framework components for specific projects.

3. “Generalist” developers will rise

Many developers’ expertise lies in their proficiency in a specific programming language. When AI can generate code in any language, being proficient in Python or Ruby will no longer be so important. Likewise, tasks related to professional back-end skills like testing and code optimization will quickly be transferred to generative AI models.

The most valuable skills will be those that AI is not good at, such as building engaging user interfaces, translating user needs into documentation, and inventing new ways to support customers. Software "poets," or those who dream up the great ideas that code can make possible, will take center stage.

4. The revolution of software testing

Generative AI is naturally suitable for software testing. Developers write the code, and the AI ​​can create any number of test scripts you want. A recent IDC survey found that software quality assurance and security testing are the most anticipated benefits of AI programming, far outpacing other options. This will disrupt DevOps continuous integration/deployment practices and push many testing experts to find new areas of work.

5. The era of universal developers

The current low-code/no-code development tools are already very good, and generative AI will push them to new heights. While low-code/no-code tools are highly automated, it still requires people to piece together a workflow on a whiteboard and then turn it into software.

In the future, they will be able to give the model a hand-drawn workflow sketch and get the necessary code in seconds.

2. Negative side: code pollution, technology degradation

Although AI is full of promise, it should not be regarded as omnipotent.

1. Risk of over-testing

Because the model can generate tests quickly, we may run more tests than we need. Over-testing is a common problem in software development, especially in organizations that measure performance by the number of tests a team generates. Running too many duplicate or unnecessary tests can slow down a project and create bottlenecks later in the process.

However, when AI can recommend when to remove tests, we will see great liberation for developers-this vision of generative AI makes me excited for the future.

2. Degradation of Development Skills

"I always choose a lazy person to do a hard job because he will find an easy way to do it," this sentence Often mistakenly attributed to Bill Gates. Although the origin of this sentence is unclear, the sentence itself has a certain truth: lazy people are always looking for shortcuts to avoid hard work, and AI provides an excellent solution.

Generative AI is addictive to lazy developers and can lead to the creation of bloated, inefficient and poorly performing code. What’s even more frightening is that AI programming tools may stifle the innovations that excellent developers are proud of. Because generative AI is coded based on existing patterns and data, this may further limit the innovation potential of developers who are unwilling to step out of their “comfort zone.”

3. AI programming tools perform poorly

Generative AI is only as good as the data used to train the model.

Poor quality data, training shortcuts, and poor hint engineering can result in AI-generated code that doesn’t meet quality standards, is buggy, or doesn’t get the job done. This can cause organizations to lose trust in the quality of AI programming tools and miss out on their potential benefits.

3. The most worthy question: Will AI replace software developers?

Although some attention-seeking experts have made similar claims, there is no historical precedent to support such a conclusion. Technological advances—from high-level languages ​​to object-oriented to frameworks—have steadily increased developer productivity, but demand is only increasing.

Generative AI may undercut the market for low-end basic coding skills, but the larger impact will be to push the industry higher up the value chain to do what LLMs are currently not good at: innovate.

Remember that generative AI models are trained based on what is known, not what is unknown and waiting to be created. I don't expect machines to design a revolutionary user interface or come up with an Uber anytime soon.

However, it may be difficult for developers to encounter such bursts of productivity in their careers. Rather than trying to fight the machine like I did when I was younger, developers should just go with the flow and ride the wave. AI programming will free people from many tedious tasks, which should be exciting for everyone. The risk that certain work tasks may disappear should be turned into an incentive to learn and take action - quality developers who can translate business requirements into elegant and performant software will always be in high demand.

To learn more about AIGC, please visit:

51CTO AI.x Community

https://www.51cto.com/aigc/

The above is the detailed content of The 'Devin AI era' of programming, the joys and worries of software developers. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Python: Automation, Scripting, and Task Management Python: Automation, Scripting, and Task Management Apr 16, 2025 am 12:14 AM

Python excels in automation, scripting, and task management. 1) Automation: File backup is realized through standard libraries such as os and shutil. 2) Script writing: Use the psutil library to monitor system resources. 3) Task management: Use the schedule library to schedule tasks. Python's ease of use and rich library support makes it the preferred tool in these areas.

Python vs. JavaScript: The Learning Curve and Ease of Use Python vs. JavaScript: The Learning Curve and Ease of Use Apr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

Golang vs. Python: Concurrency and Multithreading Golang vs. Python: Concurrency and Multithreading Apr 17, 2025 am 12:20 AM

Golang is more suitable for high concurrency tasks, while Python has more advantages in flexibility. 1.Golang efficiently handles concurrency through goroutine and channel. 2. Python relies on threading and asyncio, which is affected by GIL, but provides multiple concurrency methods. The choice should be based on specific needs.

Golang vs. Python: Key Differences and Similarities Golang vs. Python: Key Differences and Similarities Apr 17, 2025 am 12:15 AM

Golang and Python each have their own advantages: Golang is suitable for high performance and concurrent programming, while Python is suitable for data science and web development. Golang is known for its concurrency model and efficient performance, while Python is known for its concise syntax and rich library ecosystem.

Golang vs. Python: Applications and Use Cases Golang vs. Python: Applications and Use Cases Apr 17, 2025 am 12:17 AM

ChooseGolangforhighperformanceandconcurrency,idealforbackendservicesandnetworkprogramming;selectPythonforrapiddevelopment,datascience,andmachinelearningduetoitsversatilityandextensivelibraries.

Python: The Power of Versatile Programming Python: The Power of Versatile Programming Apr 17, 2025 am 12:09 AM

Python is highly favored for its simplicity and power, suitable for all needs from beginners to advanced developers. Its versatility is reflected in: 1) Easy to learn and use, simple syntax; 2) Rich libraries and frameworks, such as NumPy, Pandas, etc.; 3) Cross-platform support, which can be run on a variety of operating systems; 4) Suitable for scripting and automation tasks to improve work efficiency.

Golang vs. Python: Ease of Use and Learning Curve Golang vs. Python: Ease of Use and Learning Curve Apr 17, 2025 am 12:12 AM

In what aspects are Golang and Python easier to use and have a smoother learning curve? Golang is more suitable for high concurrency and high performance needs, and the learning curve is relatively gentle for developers with C language background. Python is more suitable for data science and rapid prototyping, and the learning curve is very smooth for beginners.

sublime column mode sublime column mode Apr 16, 2025 am 08:03 AM

Sublime Text's column editing function can greatly improve code efficiency. 1. Select the same content through the shortcut key (Ctrl Shift L/Cmd Shift L) to modify it uniformly, such as batch replacement of variable names; 2. Use multiple column selection (Ctrl Shift M/Cmd Shift M) to modify it in the same position in different rows, such as adding parameters to multiple functions at the same time. After proficiency, column editing can significantly improve coding efficiency and reduce errors. It is suitable for various programming languages, but for complex code or conditional modifications, other tools may be required.

See all articles