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 Nohr
|
Backend Engineering Manager, Create:Code Creation |
Allen Cook
|
Senior Backend Engineer, Create:Code Creation |
Backend Engineer
|
Backend Engineer, Create:Code Creation |
Jan Provaznik
|
Staff Backend Engineer, Create:Code Creation |
Leaminn Ma
|
Senior Backend Engineer, Create:Code Creation |
Mikołaj Wawrzyniak
|
Staff Backend Engineer, Create:Code Creation |
Missy Davies
|
Backend Engineer, Create:Code Creation |
Pam Artiaga
|
Senior Backend Engineer, Create:Code Creation |
Shola Quadri
|
Associate Backend Engineer |
Sri Rangan
|
Staff Fullstack Engineer, Create:Code Creation |
Tian Gao
|
Backend Engineer, Create:Code Creation |
Vitali 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:
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
Other Related Pages
Code Suggestion Dashboards
- Usage and Acceptance Rate (Tableau)
- General Metric Reporting - can find code suggestions rate limiting, X-Ray usage, etc (Tableau)
- Log Visualization Dashboard - another view of latency, response codes, number of requests, etc (Kibana)
- Code suggestions latency: Breakdown of server-side latency for code suggestions (Kibana)
- Metrics Dashboard (Grafana)
- Error Budget (Grafana)
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:
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.
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:
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
)