Code Generation in 2024: How AI Will Take Your Job…to the Next Level! • Julien Dubois • GOTO 2024

Learn how AI coding assistants like GitHub Copilot enhance developer productivity, exploring strengths, limitations, and best practices for effective integration in your workflow.

Key takeaways
  • GitHub Copilot is strongest when given specific context and precise tasks, but less effective at generating complete applications or following latest technology versions

  • Copilot understands and works well with common open source frameworks/APIs but struggles with proprietary or internal company code

  • The tool excels at:

    • Understanding existing code context
    • Refactoring and simplifying code
    • Generating tests
    • Providing code-specific documentation
    • Acting as a pair programming assistant
  • Copilot is trained on historical data (approximately 2 years old) which can lead to outdated recommendations and limitations with newest framework versions

  • The tool works best when complementing traditional code generation tools (like JHipster) rather than replacing them completely

  • Security considerations:

    • Copilot will warn against or refuse to generate unsafe code practices
    • It understands security best practices but needs context to provide appropriate solutions
  • Code generation effectiveness improves significantly when:

    • Using well-structured prompts
    • Providing adequate context
    • Working with commonly used technologies
    • Breaking down complex tasks into smaller, specific requests
  • Integration with IDEs and development workflows is seamless through plugins for major platforms like VS Code and IntelliJ

  • The tool focuses exclusively on coding-related queries and won’t respond to non-programming questions

  • Results aren’t always reproducible - same prompts may generate different code outputs each time