Technical Thinking | AI Coding: Experience barriers are failing, tool evolution reshapes programming

AI is reshaping the programming world. The barriers of professional experience are being broken. How can developers seize the opportunity to upgrade their skills?
Core content:
1. Professionalism shifts from "how to do" to "what to do" and "why to do it"
2. The "high-quality focus" work mode change and efficiency improvement brought by AI
3. Key strategies to maintain code reusability and long-term maintainability in the AI era
Introduction
1. Professional transfer and upgrading
2. Efficiency comes from high quality and focus
It's atmospheric and you don't have to concentrate. You can get the work done while sipping milk tea.
This "satisfaction" comes from the fact that AI frees developers from a lot of repetitive and boring "physical work". For example, AI can quickly generate boilerplate code, perform preliminary code formatting, and even assist in writing unit test frameworks. This allows you to devote more of your precious energy to more creative and challenging tasks, such as thinking deeply about system architecture, solving core complex logic, and conducting forward-looking innovative designs.
GitHub's survey data also shows that developers who use AI coding tools usually experience higher work happiness and satisfaction, and are more likely to enter a "flow" state. Therefore, this may not be a simple "low focus", but more like a "high-quality focus" - you can more effectively allocate limited focus resources to links with higher value density.
Of course, if AI is simply viewed as a tool for "slacking off" and you expect AI to do all the work while you drink milk tea, then there is no way to improve efficiency, and in the long run, this is also not conducive to personal career growth. The key is how to properly use the sense of ease brought by AI and transform it into the internal motivation for deep thinking and continuous innovation.
3. Reusability is still an iron rule
Introducing a calendar component library vs directly generating a calendar component that meets the minimum business needs.
The concern about "de-componentization" is because AI does have the ability to quickly generate "minimized components" that seem to meet current specific business needs. However, the complexity of software development is not only about the immediate realization of functions, but also about its long-term maintainability, scalability and overall stability. GitClear's research points out that AI-assisted coding may lead to an increase in the proportion of duplicate code in the code base, because developers may no longer actively refactor code for reuse as in the past, but tend to let AI generate new code for each similar scenario. This practice will quickly accumulate technical debt, causing the software system to become increasingly bloated and difficult to maintain.
The iron rule of reusability has been shaken, but it has stabilized again. Reuse is still necessary, and architectural design is still needed, because efficiency is paramount. AI is really cool, but 4 terminals x 4 times the workload and the risk of inconsistency are not cool at all.
4. Full-stack developers and domain experts
One position with multiple responsibilities: front-end engineer, full-stack engineer, and full-time engineer.
When many coding, testing, and even some simple design tasks that originally required specific field skills can be completed with the efficient assistance of AI, the capabilities of individual engineers seem to have been greatly expanded. McKinsey's report also pointed out that AI will drive developers to develop more comprehensive full-stack capabilities, and even give birth to so-called "AI stack developers", that is, compound talents who can skillfully use AI tools and platforms for software development.
5. Shift left, shift left again
Shifting testing left: The natural fit between TDD and AI programming
TDD is in line with AI programming because humans do not need to know how AI specifically does things or thinks, as long as the final result works well.
TDD (test-driven development) is an insightful view of AI programming. In TDD mode, developers first write test cases to define the expected software behavior, and then write code to pass the test. AI can help generate code based on these clear test cases, which allows you to focus more on accurately defining the "expected behavior" (that is, writing high-quality tests) instead of getting entangled in specific implementation details. AI can even help generate some test cases to help identify some boundary scenarios or abnormal situations that developers may ignore, thereby improving test coverage and quality.
Shifting R&D Left: Direct Transformation from Requirements to Code
prompt2code and prd2code are formally the same thing.
Lowcode/nocode is a successful example of R&D left shift in specific scenarios.
The essence of shifting left is to reduce intermediate links, reduce information loss and improve efficiency.
6. What are the 10% of core skills?
Long-term planning ability: Humans can break down a super-large project into a series of interlocking fine-grained tasks, and then multiple human colleagues can complete the project in a few weeks to months. Everyone is an agent with super long-term planning ability, learning/reflection, and generalization ability.
Decision-making/problem-solving ability: Make correct decisions based on multi-faceted information/analytical reasoning and take responsibility (AI is not to blame for this).
Ability to collaborate with others: mobilize resources and handle interpersonal issues.
1. Long-term planning and complex problem definition capabilities: AI can help solve the problems you clearly raise, but it cannot discover and define complex problems that are truly commercially valuable and socially significant. Transforming vague business visions into clear technical strategies and executable roadmaps, designing robust and scalable complex system architectures, conducting long-term strategic planning, and foreseeing potential risks and dependencies requires strong abstract thinking, systematic thinking, and rich experience. You can break down a super-large project into fine-grained tasks that AI can understand and gradually execute, and foresee the challenges and coordination issues that may arise when integrating these AI "parts", which is the starting point of "1000x leverage".
2. Critical thinking, decision-making and responsibility: Content generated by AI, whether it is code, analysis reports or design plans, may contain errors, biases, omissions or limitations that do not conform to specific scenarios. Being able to use critical thinking to examine AI output, discern its authenticity and quality, combine multiple information (including business intuition, industry insights, ethical considerations and value judgments that AI cannot provide) to make key decisions, and take ultimate responsibility for the consequences of these decisions - this is the core embodiment of human wisdom and responsibility. AI will not "take the blame" for project failures or wrong decisions, but people with these 10% skills will, and that is why their judgment and decision-making become invaluable.
3. Deep insight and creative problem-solving capabilities: AI is currently better at finding the best solution or pattern matching in existing knowledge and data patterns, but it often seems powerless for disruptive innovations and original solutions that require breaking out of the inherent framework and conventional thinking. The ability to see into the essence of the problem, discover hidden connections, propose new ideas, and design clever solutions that AI "cannot think of" - this creativity derived from human inspiration, intuition and imagination is difficult for AI to replicate. When AI can help deal with the 90% of tedious work, you will have more energy to carry out this kind of deep and creative thinking and exploration.
4. Collaboration, communication and leadership: Software development is essentially a social activity that relies heavily on teamwork. Effectively communicate across teams, clearly express complex ideas, coordinate resources from all parties, motivate team members to realize their potential, handle complex interpersonal relationships and potential conflicts, and build and maintain trust - these abilities to deal with people have not only not been weakened in the AI era, but have become more important due to the complexity of the project and the increased requirements for interdisciplinary collaboration. You need to lead a diverse team that may include human colleagues and AI "assistants" to move towards a common goal. This kind of leadership and influence is an important part of achieving "1000x leverage".
5. The ability to continuously learn, quickly adapt and "recalibrate": As Kent Beck emphasized, "I need to recalibrate." Technology is developing at an astonishing speed, and the capabilities of AI are constantly expanding. Being able to maintain an open mind, quickly learn new knowledge, master new tools, adapt to new methods, and actively adjust one's own skill structure and working methods, this metacognitive ability and lifelong learning growth mentality are the fundamental prerequisites for maintaining and developing the critical 10% of core competitiveness.
7. The experience of “old hands” is also important in the AI era
AI has narrowed the experience gap in some aspects, especially for problems that can be solved by learning existing patterns and information retrieval. Studies have also shown that junior developers can usually get greater immediate productivity gains from AI coding assistants. Newcomers can use AI to quickly get started and complete tasks that would have required a certain amount of experience in the past, which undoubtedly lowers the entry barrier.
Summarize