The SHIFT Manifesto
For AI-Assisted Software Engineering
We specify, design, prototype, build, document, test, deploy, maintain, and monitor — in short, we create — high-quality software at the speed of AI-driven development, with the responsibility, design, and rigor of Engineering.
We also use AI proactively to understand undocumented legacy systems and systematically reduce historical technical debt.
Our discipline (Software Engineering) is a systematic, rigorous, and responsible process where AI acts as a tool and a catalyst, but never as a substitute for the engineering process.
At the intersection of human intelligence and computational capacity, we redefine the art and science of designing, building, and evolving software. We do not seek to replace the engineer, but to amplify their ingenuity, judgment, and productivity through the responsible, strategic integration of AI into the software development lifecycle.
We leverage AI with a deep understanding of both its capabilities and its limitations, especially in tasks requiring scalability, speed of execution, identification of complex patterns in large volumes of data, and the application of vast technical information as context.
Four Values
We are discovering more powerful ways to create software by integrating Artificial Intelligence not merely as a tool, but as a strategic collaborator. Through this work, we have come to value:
-
01
Engineering Rigor over Black-Box Automation
We value software quality above generation speed. This value establishes that AI is a tool within a formal discipline. We do not let the speed of AI compromise systemic quality. We prioritize systematic processes, conscious decisions, upfront specification, and multidimensional quality criteria — user, team, and standards — over the fast, irresponsible generation of artifacts.
-
02
Human Responsibility over Autonomous Delegation
Delegation demands judgment, experience, and conscious oversight. AI can assist and execute tasks, but not assume responsibility. Responsibility is not transferred — it is exercised with greater rigor. We value human judgment, ethics, and inalienable moral responsibility. Delegating a task to AI is a conscious act that depends on the maturity of the engineer. If the expert does not know how to do the task, they have no authority to delegate it to an AI.
-
03
Transparency & Traceability over Black Boxes that Decide
Blind automation has no place in Software Engineering. We value systems and processes that enable human oversight, traceability, and auditing of AI-assisted results. Every task and decision executed by an AI must be explainable, auditable, and traceable.
-
04
Sustainability & Applied Ethics over Uncontrolled Consumption
Automation must be exercised with awareness of its real-world impact. AI consumes energy and computational resources that are neither infinite nor free. We value security from the earliest stages of development, explicit risk management, and the responsible use of automation.
15 Principles
Rigor, responsible use, and cognitive synergy. We value assisted agility, but prioritize the integrity and rigor that engineering provides. Given AI’s capabilities, we establish the following principles:
-
01
AI amplifies the team
The center of the software engineering process is not AI; AI-Assisted Software Engineering is built on the collaboration between people and intelligent systems. AI is an active part of every stage, but its integration is always subordinate to objectives of transparency, trust, and a clear definition of responsibilities. Success is not measured by AI autonomy, but by the augmented capacity of the hybrid team.
-
02
We do not delegate what we do not understand
Task delegation to AI must not be automatic; it must be based on the cognitive and professional maturity of the software engineer. The greater the task complexity, the greater the capacity to understand, supervise, and validate the generated results must be. AI’s speed must not replace talent development; for those still learning, AI assistants should complement — not bypass — the cognitive struggle needed to build solid engineering foundations.
-
03
AI assists, the engineer decides
AI should be used to automate and expand capabilities, not to replace the software engineer’s understanding. Whoever delegates a task must understand how to perform it, supervise it, and critically evaluate its results. The engineer must not react passively to errors or assume all AI-generated artifacts are correct, but actively direct the process.
-
04
Responsible AI use across the entire lifecycle
AI impacts all stages of software development. Every AI intervention must be governed by trust, transparency, and explainability. AI-assisted systems and artifacts must remain comprehensible, maintainable, and controllable over time. We treat AI instructions and contexts as critical engineering assets.
-
05
Ethics by design
Ethics has always been a fundamental part of Software Engineering, and the use of AI makes its explicit incorporation even more critical. Ethical principles are not suggestions or afterthoughts: they are part of product quality and the development process. They must be operationalized, tracked, and evaluated with clear metrics.
-
06
Inalienable moral responsibility
The human is the sole moral agent accountable for products generated in a software development process, regardless of the level of AI assistance received. AI is a powerful tool, but final judgment, ethics, and systemic understanding are essential human capabilities.
-
07
Multidimensional, strategy-based quality
Software system quality must always be measured on three fronts: quality perceived by the user, quality defined by the team, and quality evaluated against standards. Quality measurement must fuse classic software engineering metrics with metrics designed to evaluate AI-generated artifacts. Auditing AI-generated artifacts is cognitively more exhaustive than writing them.
-
08
Design and specification come first
Specifications, problem understanding, and architectural thinking must exist before turning to AI models and agents. Automatic artifact generation does not replace the need for design, analysis, or deep understanding of the system to be built.
-
09
Specialized AI models and agents
We prefer specialized, supervised AI systems for specific Software Engineering tasks over generic automation that reduces control, precision, and comprehension of generated artifacts.
-
10
Vigilance against infrastructure degradation
AI-assisted artifacts and required infrastructure also evolve, age, and accumulate technical debt. Automatic generation does not eliminate the need for continuous maintenance, monitoring, and supervision. Strict review periods must be established to manage degradation of both code and AI infrastructure.
-
11
Stakeholder and community awareness
AI-assisted development requires shared awareness among teams, organizations, users, and technical communities. We promote practices that help understand the impact of automation, encourage responsible AI use, and reduce technical, human, and social risks throughout the software lifecycle.
-
12
Cognitive, financial, and environmental cost efficiency
AI use carries cognitive, energetic, and financial costs. We prevent the natural cognitive erosion of AI use through the promotion of critical thinking. We do not “burn tokens” without purpose; we evaluate the environmental impact and return on investment of every AI interaction.
-
13
Data sovereignty and zero trust
The engineer acts as the final custodian of information in the development cycle. AI’s agility never justifies compromising intellectual property, security, corporate secrets, or personal data. Strict sanitization and anonymization protocols must be applied before exposing any context to external models.
-
14
Operational resilience and risk mitigation
We recognize AI as a powerful, highly complex tool that introduces security risks, technological dependency, biases, and probabilistic failures. Engineering prevails over the tool: we design systems capable of evolving and functioning even in the face of AI service degradation or absence.
-
15
Evolutionary leadership and continuous improvement
AI-Assisted Software Engineering demands learning, adaptation, and continuous improvement. We assume the role of agents of change, transforming technological disruption into an opportunity for responsible innovation. AI-assisted software engineering is not a static state but a perpetual cycle of experimentation, real-world feedback, and adaptation.
If you share these values and principles, add your name.
Sign the Manifesto →