Fullstack Engineer (TypeScript), AI Engineering: Duo Client SDK
Tech Stack
Tag name is followed by "@" symbol and proficiency level value.
About proficiency levels:
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
AI @ 3
API @ 3
Agile @ 3
Communication @ 3
Node.js @ 6
Performance Optimization @ 3
Security @ 3
TypeScript @ 6
- 1-2 — basic awareness. Minimal hands-on experience, and a rudimentary understanding of the technology's purpose;
- 3-6 — daily use. Comfortable and regular usage, capable of handling common tasks and challenges related to the technology;
- 7-9 — you are an expert, you can teach others, you know all the pitfalls and tricks;
- 10 — exceptional knowledge, comprehensive understanding, and adeptness in all aspects of the technology, including advanced problem-solving. Think twice before claiming or demanding such level.
Details
GitLab is building the Duo Client SDK, a shared foundation for GitLab Duo clients. The SDK consists of well-versioned TypeScript packages that can be used by editor extensions, GitLab.com Duo Chat, and eventually external applications.
The role involves working across frontend and backend systems, designing the SDK's Node.js core and public API, and contributing to the clients that use it. Responsibilities include owning scoped packages, shipping improvements with minimal guidance, and collaborating on larger architectural changes. The team works fully remotely and asynchronously across regions.
Responsibilities
- Develop secure, well-tested, and performant TypeScript features addressing technical problems of moderate scope and complexity.
- Ship features and improvements with minimal guidance, write tests with every merge request, and contribute to code reviews and design discussions.
- Extract and publish TypeScript packages from the GitLab Language Server and migrate consumers incrementally.
- Design durable public APIs with clear interfaces, semantic versioning, changelogs, and deprecation paths.
- Build isomorphic core packages that isolate platform-specific behavior in adapters.
- Build and improve SDK client surfaces, including Vue 3 components in Duo Chat on the web.
- Strengthen credential handling across hosts, including bearer tokens, session cookies, and CSRF protection.
- Optimize bundle size, startup cost, and dependency weight for browser consumers.
- Support a Tier 2 on-call rotation for urgent engineering issues.
Example projects include the Duo Client SDK, the GitLab Language Server, and Duo Chat on the web.
Requirements
- Strong proficiency with TypeScript across frontend and backend systems, including experience building and maintaining Node.js services.
- Experience with modern build and packaging tools, including monorepos, multi-module builds, ECMAScript modules (ESM), and dependency management.
- Experience with Vue 3 and the Composition API, or comparable component-based frontend experience and willingness to learn Vue.
- Experience designing APIs used by others, with the ability to explain alternative design decisions.
- Understanding of the differences between Node.js and browser environments and how to write code that works in both.
- A security-minded development approach, including careful credential handling and performance optimization.
- Clear and concise written communication about technical problems, iterative solution design, and effective collaboration in an agile environment.
- Self-motivation, strong organizational skills, and the judgment to ask for help when needed.
Team
The Duo Client SDK team is part of GitLab's AI Clients stage and works closely with teams building GitLab Duo experiences. The team collaborates across client surfaces, makes technical decisions as the platform evolves, and follows GitLab's values of transparency and open communication.
Benefits
- Benefits supporting health, finances, and well-being
- Flexible paid time off
- Team Member Resource Groups
- Equity compensation and Employee Stock Purchase Plan
- Growth and Development Fund
- Parental leave