This article describes practices relating to internal cloud development projects at the University of St. Thomas and is primarily intended for staff and student employees. It is not related to coursework or external business environments. With the rise of vibe-coding and AI-assisted development, it may be helpful to understand how the university approaches development projects.
The University of St. Thomas ITS Cloud Team promotes AI-Assisted Engineering using well-established practices such as spec-driven development (planning, requirements gathering, implementation), documentation, testing, and deployment (DevOps) over "vibe-coding" for official university applications and projects.
What is "AI-Assisted Engineering"?
AI-Assisted engineering is the broader application of AI to engineering workflows such as planning, requirements gathering, implementation, documentation, testing, and deployment (DevOps).
When the spec-driven workflow is thoughtfully applied to a project, it incorporates engineering workflows, distinguishing it from "vibe-coding" which is no different than the old developer practice of "code without a plan until it works."
Addy Osmani, a developer at Google, explores this distinction in his article "Vibe coding is not the same as AI-Assisted engineering."
What is "DevOps"?
When developing workloads on AWS, the University of St. Thomas follows a DevOps/CI-CD approach encompassing planning, design, implementation, automated testing, and deployment placing these responsibilities in the hands of the developer.
Steps for applying AI-assisted Engineering
1. Requirements and Planning
- Faster requirements generation: AI can help translate rough ideas into structured user stories, acceptance criteria, and technical specs
- Gap detection: AI tools can identify ambiguities or missing requirements before a single line of code is written
- Architecture suggestions: AI can recommend cloud-native patterns (e.g., serverless, microservices) based on your requirements
2. Design and Architecture
- Boilerplate elimination: AI generates infrastructure-as-code (e.g., CloudFormation, Terraform) scaffolding from high-level descriptions
- Security by design: AI can flag insecure patterns (e.g., overly permissive IAM roles) during the design phase, not after deployment
- Diagram and documentation generation: AI can produce architecture diagrams and API specs (OpenAPI) automatically
3. Development and Coding
- Code generation and completion: Tools like GitHub Copilot or Kiro accelerate implementation by generating functions, tests, and integrations
- Context-aware suggestions: AI understands your codebase and suggests code consistent with your existing patterns
- Reduced cognitive load: Developers focus on what to build, not how to wire up routine plumbing
4. Testing and Quality Assurance
- Automated test generation: AI writes unit, integration, and edge-case tests based on your code or specs
- Faster bug detection: AI-powered static analysis catches bugs, anti-patterns, and vulnerabilities early
- Monitoring and observability generation: AI builds in runtime check-points and logging, often feeding to metrics, alarms, and deployment tests
- Test coverage improvement: AI identifies untested code paths that humans often overlook
- Automated documentation updates: AI keeps docs in sync with code changes over time
Summary
AI-Assisted Engineering doesn't replace developers, instead it amplifies them. The biggest gains come when AI handles the repetitive, boilerplate, and analytical work, freeing developers to focus on creative problem-solving, architecture decisions, and business logic.
For cloud development specifically, the combination of AI tooling with serverless-first architectures, GitOps pipelines, and infrastructure-as-code creates a particularly powerful and efficient development workflow.
Learn More
Check out the related Knowledge Base articles to learn more about the benefits of using opinionated platforms and the DevOps and AI-assisted Engineering approach.