Generative AI Tools for Technologists (1 day)
Generative AI has transformed the development landscape. We have seen clients greatly improve developer productivity through training staff on how to use Gen AI tools effectively from within their IDEs. Through this course, developers will learn how to use tools such as GitHub Copilot (including agent mode), Cursor, Claude, Amazon Q, and other modern AI coding assistants to increase productivity, reduce errors, and reduce time to market. Specifically, in this course you will learn how to use these tools for multi-file editing, code generation, debugging, testing, documentation, security analysis, and much more.
Prerequisites
- This course will be most beneficial to those with development or scripting experience
Contents
Modern AI Coding Assistant Landscape
- Overview of current AI coding tools and capabilities
- Understanding different modes: inline suggestions, chat, and agent mode
- GitHub Copilot: inline, chat, and agent mode capabilities
- Cursor: AI-first IDE with advanced context awareness
- Claude, ChatGPT, and conversational AI for coding
- Amazon Q, Codeium, and other specialized tools
- IDE integrations and extensions
- When to use which tool and mode
Agent Mode and Advanced Code Generation
- Understanding AI agent mode: autonomous multi-file editing
- Workspace context awareness and file navigation
- When to use agent mode vs chat vs inline suggestions
- Complex refactoring across multiple files
- Feature implementation from natural language descriptions
- Managing context windows and token limits
- Iterative refinement with AI agents
- Best practices for effective agent interactions
Effective Prompt Engineering for Developers
- Prompt engineering fundamentals for code generation
- Setting context: skill level, code quality expectations, and standards
- Referencing existing code patterns and architectural styles
- Workspace and file context management
- Using @-mentions and file references effectively
- Chain-of-thought prompting for complex problems
- Iterative refinement: from rough draft to production code
- Common prompt patterns and anti-patterns
Code Understanding and Explanation
- Using AI to understand unfamiliar codebases
- Setting your skill level for appropriate explanations
- Ensuring context files are available to the AI
- Effective prompting for code explanations
- Getting architecture and design pattern explanations
- Understanding dependencies and data flow
AI-Powered Debugging and Problem Solving
- Providing error messages and stack traces to AI
- Ensuring sufficient context: related files and dependencies
- Root cause analysis with AI assistance
- Critically evaluating and testing suggested solutions
- Multi-file debugging and fixes with agent mode
- Performance optimization with AI recommendations
- Security vulnerability detection and remediation
Upgrading and Modernizing Applications
- Strategies for upgrading frameworks and dependencies
- Breaking down upgrades into manageable steps
- Using AI to identify breaking changes
- Automated migration of deprecated APIs
- Testing and validation after upgrades
- Troubleshooting upgrade issues with AI
Legacy Code Migration and Modernization
- Strategies for migrating legacy code to modern architectures
- Approach 1: Document existing code and generate new implementation
- Approach 2: Incremental direct conversion with AI
- Language migrations (e.g., Java to Kotlin, JavaScript to TypeScript)
- Framework migrations with AI assistance
- Maintaining code quality and test coverage during migration
- Risk mitigation and validation strategies
AI-Assisted Testing and Quality Assurance
- Test-driven development (TDD) with AI assistance
- Generating unit tests with comprehensive coverage
- Creating integration and end-to-end tests
- Mocking, stubbing, and test fixture generation
- Test coverage analysis and gap identification
- Validating and improving AI-generated tests
- Edge cases and error condition testing
- Refactoring with test safety nets
Documentation and Code Quality
- Automated documentation generation: comments, docstrings, README files
- API documentation with examples
- Code review assistance with AI
- Identifying code smells and refactoring opportunities
- Improving code readability and maintainability
- Generating architectural diagrams and documentation
- Dependency analysis and update recommendations
Pitfalls, Safeguards, and Best Practices
- Understanding AI limitations and failure modes
- Recognizing and handling hallucinations in code suggestions
- Security risks: validating AI-generated code for vulnerabilities
- License compliance and intellectual property concerns
- Over-reliance on AI and maintaining core development skills
- Code review standards for AI-assisted development
- Cost management and token usage optimization
- Accountability and responsibility for AI-generated code
- Privacy and data security when using AI tools
- The evolving landscape of AI in software development
Hands-on: Real-World Development Scenarios
- Scenario 1: Building a REST API from scratch with AI
- Scenario 2: Adding authentication and authorization to an existing app
- Scenario 3: Migrating a legacy application to a modern framework
- Scenario 4: Implementing a complete feature with tests and documentation
- Scenario 5: Debugging a complex production issue with AI
- Scenario 6: Refactoring a monolith toward microservices
- Comparing different AI tools and approaches for the same task
- Lessons learned and takeaways


