Create:Code Creation Group

The Create:Code Creation Group is responsible for all product categories that fall under the Code Creation group of the Create stage.

Team Vision

We envision a world where our innovations in AI-driven code creation not only enhance productivity but also inspire creativity, enabling developers to tackle more complex challenges and push the boundaries of what’s possible in software development.

Team Mission

Develop cutting-edge AI-powered tools that enhance the efficiency and creativity of software engineers. We are committed to providing intelligent code suggestions that not only streamline coding tasks but also elevate the quality of software products. We aim to empower developers worldwide, making complex coding more accessible, and accelerating the creation of exceptional software.

About Code Suggestions

One of the main features we work on in the Create:Code Creation group is Code Suggestions. Here is some quick information to get you started with Code Suggestions.

A lot of the terms we use in this area sound similar and can be confusing at first. Here are the basic terms we use:

  • Code Creation: The group name and a collection of features relating to providing AI generated code
  • Code Suggestions: A feature within Code Creation that provides AI-generated code within an IDE
    • Code Completion: A short AI-generated suggestion intended to complete an existing line or block of code
    • Code Generation: A longer AI-generated suggestion intended to create entire functions, classes, code blocks, etc.
  • Duo Chat: Another feature that interacts with GitLab Duo Chat to write new code, refactor existing code, or scan code for vulnerabilities

If it helps, here are these terms in a diagram:

stateDiagram
    direction LR

    state "Code Creation" as creation
    state "Code Suggestions" as suggestions
    state "Code Completion" as completion
    state "Code Generation" as generation
    state "Duo Chat Features" as duo

    creation --> suggestions
    creation --> duo
    suggestions --> completion
    suggestions --> generation

Team Handles

Category Handle
GitLab Team Handle @code-creation-team
Slack Channel #g_code_creation
Slack Handle (Engineers) @code-creation-engs

Commonly Monitored Issue Lists

Team Members

The following people are permanent members of the Code Creation Team:

Name Role
Matt NohrMatt Nohr Backend Engineering Manager, Create:Code Creation
Allen CookAllen Cook Senior Backend Engineer, Create:Code Creation
Backend EngineerBackend Engineer Backend Engineer, Create:Code Creation
Jan ProvaznikJan Provaznik Staff Backend Engineer, Create:Code Creation
Leaminn MaLeaminn Ma Senior Backend Engineer, Create:Code Creation
Mikołaj WawrzyniakMikołaj Wawrzyniak Staff Backend Engineer, Create:Code Creation
Missy DaviesMissy Davies Backend Engineer, Create:Code Creation
Pam ArtiagaPam Artiaga Senior Backend Engineer, Create:Code Creation
Shola QuadriShola Quadri Associate Backend Engineer
Sri RanganSri Rangan Staff Fullstack Engineer, Create:Code Creation
Tian GaoTian Gao Backend Engineer, Create:Code Creation
Vitali TatarintevVitali Tatarintev Senior Backend Engineer, Create:Code Creation

You can reach the whole team on GitLab issues/MRs by using the @code-creation-team handle.

Stable Counterparts

The following members of other functional teams are our stable counterparts:

Category Counterpart
Product Manager Jordan JanesJordan Janes
Technical Writing Jon GlassmanJon Glassman
UX Andy VolpeAndy Volpe (Create Stage)
SET Jay McCureJay McCure (Create Stage)
Support TBD
AppSec TBD

Partner Groups

Here are other groups within GitLab that we work closely with:

Create Stage

AI Powered Stage

ModelOps Stage

Engineering Onboarding

To help get started as a developer with the Create:Code Creation team, we have created an onboarding issue template.

Group Processes

Meetings

Sync: Code Creation - a meeting held once a week on Tuesday at 15:00 UTC to align on group priorities. If there are no points on the meeting agenda one hour before the meeting starts, that meeting is considered as canceled.

All of our meetings and videos are uploaded to the Code Creation YouTube Playlist. Some meetings are marked as private, so internal team members will need to swtich to use the Unfiltered YouTube account.

Weekly Status Updates

We maintain a practice of weekly async status updates to ensure clear communication, track progress effectively, and maintain transparency across our team. This process aligns with our core values by fostering collaboration, driving results, and promoting efficiency through structured communication.

Timing and Frequency

  • Team members post updates every Wednesday
  • Updates are required for all assigned issues
  • Multiple updates may be needed if working on multiple issues

Template

This is the template to use for the updates

## Async Status Update yyyy-mm-dd

- **Progress & Status**: _What progress have you made? What's the current state?_
- **Next Steps**: _What are your planned next actions?_
- **Blockers**: _Are you blocked or need assistance with this?_
- **How confident are you that this will make it to the current milestone?**
    - [ ] Not confident
    - [ ] Slightly confident
    - [ ] Very confident

_Remember to update the workflow label!_

/cc @mnohr @jordanjanes 

Be sure to tag the engineering manager, product manager, and any team members you are collaborating with.

Best practices

  • Be specific and concise in updates
  • Always include next steps, even if they’re tentative
  • Flag blockers early - don’t wait until they become critical
  • Use the template consistently for easier scanning
  • Link to relevant issues or documentation when appropriate

Code Suggestion Dashboards

  1. Usage and Acceptance Rate (Tableau)
  2. General Metric Reporting - can find code suggestions rate limiting, X-Ray usage, etc (Tableau)
  3. Log Visualization Dashboard - another view of latency, response codes, number of requests, etc (Kibana)
  4. Code suggestions latency: Breakdown of server-side latency for code suggestions (Kibana)
  5. Metrics Dashboard (Grafana)
  6. Error Budget (Grafana)

AI Context Taskforce

Vision

The AI Context Framework Task Force aims to create a robust and scalable system for storing, managing, and utilizing additional context across all AI features within GitLab. We envision a framework that enhances the intelligence and effectiveness of our AI-powered tools by leveraging project-specific information, ultimately leading to more accurate and tailored AI responses for our users.

Mission

Our mission is to develop a comprehensive context framework that will:

Create:Code Creation Group engineering overview

Introduction

Welcome to the technical overview of GitLab’s Code Suggestions, a feature designed to enhance the coding experience by integrating advanced AI technologies directly within your development environment. This page serves as your guide to understanding the architecture and interactions behind our innovative Code Suggestions feature, which significantly streamlines coding processes through intelligent completions and generative coding capabilities.

At its core, Code Suggestions operates through a sophisticated workflow involving multiple components such as IDE extensions, the Language Server, GitLab Workhorse, and our AI Gateway, all culminating in providing you with real-time, context-aware coding suggestions. From simple code completions that speed up your typing tasks to complex code generations that craft entire code blocks, our system is designed to support a wide array of coding activities and enhance productivity.

Create:Code Creation Group Milestone Planning

At GitLab and on the Code Creation team, we believe in a structured yet flexible approach to milestone planning to ensure that our engineering and product teams are aligned, focused, and able to deliver high-quality work efficiently. This page outlines our process for planning and preparing for milestones.

Monthly Planning Issue Creation

  • Frequency and Purpose: On the first of every month, a planning issue is automatically created to serve as the cornerstone for that month’s milestone planning. Responsibility: The creation of the planning issue is overseen by the engineering manager (EM).
  • Location: Planning issues can be found in the Create stage project.

Role of Engineering and Product Managers

  • Collaboration: The engineering manager (EM) and product manager (PM) work closely to prioritize upcoming issues for the next milestone.
  • Input from Engineers: Engineers are encouraged to provide insights and recommendations on which issues should be considered for the upcoming milestone.

Planning and Triage Process

  • Objective: This process is not for issue resolution but for preparation and estimation for the upcoming milestone.
  • Issue Assignment: During the current milestone, each engineer is assigned 1-2 upcoming issues that are likely to be included in the next milestone.
  • Due Date: The triage process should be complete at least one week before the end of the current milestone.
  • Time Management: Engineers are to dedicate no more than one hour per issue for review and preparation.
    • Review Criteria: Engineers review the title and description of assigned issues to ensure the scope of work is clearly defined.
    • Estimation and Comments: If the issue is well-defined, engineers add an estimate. If additional details are needed, they should leave a comment accordingly.
    • Issue Readiness: Issues that are ready for development receive the “ready for development” label. Issues deemed no longer valid should be closed.

Issues Estimation

Here are the weights we use for issue estimation:

Create:Code Creation: Code Suggestions Guide

Introduction

This document contains Code Suggestions development guidelines for engineers.

For an overview of Code Suggestions, please refer to Create:Code Creation Group engineering guide

Supporting new AI models

As the Code Suggestions offering continues to mature and we discover more about our users’ needs as well as available AI models, we will need to add or switch to new AI models that Code Suggestions will use.

Integrating a new AI model into our systems generally consists of three steps:

Last modified November 12, 2024: Bold template bullets (0c8c1b24)