Fullstack Engineer, Typescript (+ Lua) in United States
Fullstack Engineer, Typescript (+ Lua)
at GitLab
Remote
The GitLab DevSecOps platform (https://about.gitlab.com/solutions/devops-platform/) empowers 100,000+ organizations to deliver software faster and more efficiently. We are one of the world’s largest all-remote companies (https://about.gitlab.com/company/culture/all-remote/guide/) with 2,000+ team members and values (https://handbook.gitlab.com/handbook/values/) that foster a culture where people embrace the belief that everyone can contribute. Learn more about Life at GitLab (https://vimeo.com/778157354) .
An overview of this role
The Create:Editor Extensions team (https://about.gitlab.com/handbook/engineering/development/dev/create/editor-extensions/) is part of the Create Stage (https://about.gitlab.com/handbook/engineering/development/dev/create/) in the Dev Sub-department (https://about.gitlab.com/handbook/engineering/development/dev/) . The Create stage focuses on multiple categories (https://about.gitlab.com/direction/create/#categories-in-create) : Editor Extensions, Code Suggestions, the Web IDE, Remote Development, and more.
Our team works on Editor Extensions (https://about.gitlab.com/direction/create/editor_extensions/) that support developers directly in their IDEs, where they spend the majority of their time.
You’ll be working on the VS Code extension (https://docs.gitlab.com/ee/editor_extensions/visual_studio_code/) (TypeScript), as well as either the JetBrains plugin (https://docs.gitlab.com/ee/editor_extensions/jetbrains_ide/) (Kotlin) or Neovim plugin (https://docs.gitlab.com/ee/editor_extensions/neovim/) (Lua). Joining the Editor Extensions team provides the opportunity to work on cutting-edge AI enhancement projects, which are at the forefront of technological advancements. The team’s focus on expanding IDE support for the VS Code Extension and the Language Server offers an exciting challenge and a chance to contribute to innovative solutions.
Some examples of our projects:
- VS Code Language Server Integration (https://gitlab.com/groups/gitlab-org/-/epics/11723)
- Integrate a code parser to enhance Code Suggestions (https://gitlab.com/groups/gitlab-org/-/epics/11568)
What you’ll do
- Backend Topics: TypeScript, Node.js, Kotlin, Lua, Language Server, Git
- Frontend Topics: TypeScript, CSS, Vue
- Advocate for improvements to product quality, security, and performance that have a particular impact across your team.
- Solve technical problems of high scope and complexity. Exert influence on the overall objectives and long-range goals of your team.
- Experience with performance and optimization problems, particularly at large scale, and a demonstrated ability to both diagnose and prevent these problems
- Help to define and improve our internal standards for style, maintainability, and best practices for a high-scale web environment.
- Maintain and advocate for these standards through code review.
- Represent GitLab and its values in public communication around broader initiatives, specific projects, and community contributions.
- Provide mentorship for Junior and Intermediate Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
- Confidently ship moderately sized features and improvements with minimal guidance and support from other team members.
- Collaborate with the team on larger projects.
- Improve the engineering projects at GitLab via the maintainer program at own comfortable pace, while striving to become a project maintainer.
What you’ll bring
- Mandatory: significant professional experience with Typescript or JavaScript
- Mandatory: professional experience with either Lua or Kotlin
- Mandatory: professional experience with VS Code Extension
- Language Server Expertise
- Visual Studio Code API
- Implement and Optimize Language Servers: Develop and optimize Language Servers for specific programming languages, ensuring efficient communication with code editors.
- Language Server Protocol (LSP) Mastery: In-depth understanding and practical experience with the Language Server Protocol, facilitating seamless integration between language servers and code editors.
- Understanding Extension Points: VS Code provides various extension points, such as editors, languages, themes, and more. Understanding how to leverage these extension points to enhance or extend the functionality of VS Code is key.
- Proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment
- Demonstrated capacity to clearly and concisely communicate about complex technical, architectural, and/or organizational problems and propose thorough iterative solutions
- Experience with performance and optimization problems and a demonstrated ability to both diagnose and prevent these problems
- Experience owning a project from concept to production, including proposal, discussion, and execution
- Self-motivated and self-managing, with strong organizational skills
- Share our values, and work in accordance with those values
- Ability to thrive in a fully remote organization
- Ability to use GitLab
- Comfort and familiarity with our code review process
About the team
We are currently focused on bringing Code Suggestions (https://docs.gitlab.com/ee/user/project/repository/code_suggestions/) to more IDEs, by building dedicated extensions for VS Code, JetBrains, Visual Studio, Neovim, and GitLab’s Web IDE. We work on multiple projects (https://gitlab.com/gitlab-org/editor-extensions/) written in Typescript, Kotlin, C#, and Lua.
Thanks to our Transparency (https://about.gitlab.com/handbook/values/#transparency) value, you can see how we work in our Team (https://about.gitlab.com/handbook/engineering/development/dev/create/editor-extensions/) page. You can even see our roadmaps ( Editor Extensions (https://about.gitlab.com/direction/create/editor_extensions/#1-year-plan) , Code Suggestions (https://about.gitlab.com/direction/create/code_creation/code_suggestions/#roadmap) ) and listen (https://www.youtube.com/playlist?list=PL05JrBw4t0KoC0pFfuNOAQjKxe4_ypFKc) to some of our meetings.
How GitLab will support you
- Benefits to support your health, finances, and well-being (https://about.gitlab.com/handbook/total-rewards/benefits/general-and-entity-benefits/)
- All remote (https://about.gitlab.com/company/culture/all-remote/guide/) , asynchronous (https://about.gitlab.com/company/culture/all-remote/asynchronous/) work environment
- Flexible Paid Time Off (https://about.gitlab.com/handbook/paid-time-off/)
- Team Member Resource Groups
- Equity Compensation &Employee Stock Purchase Plan (https://about.gitlab.com/handbook/stock-options/)
- Growth and development budget (https://about.gitlab.com/handbook/total-rewards/benefits/general-and-entity-benefits/#growth-and-development-benefit)
- Parental leave (https://about.gitlab.com/handbook/total-rewards/benefits/general-and-entity-benefits/#parental-leave)
- Home office (https://about.gitlab.com/handbook/finance/procurement/office-equipment-supplies/) support
Please note that we welcome interest from candidates with varying levels of experience;many successful candidates do not meet every single requirement. Additionally, studies have shown that people from underrepresented groups (https://about.gitlab.com/company/culture/inclusion/#examples-of-select-underrepresented-groups) are less likely to apply to a job unless they meet every single qualification. If you’re excited about this role, please apply and allow our recruiters to assess your application.
Remote-Global
Country Hiring Guidelines: GitLab hires new team members in countries around the world. All of our roles are remote, however some roles may carry specific location-based eligibility requirements. Our Talent Acquisition team can help answer any questions about location after starting the recruiting process.
Privacy Policy: Please review our Recruitment Privacy Policy. (https://about.gitlab.com/handbook/hiring/candidate/faq/recruitment-privacy-policy/) Your privacy is important to us.
GitLab is proud to be an equal opportunity workplace and is an affirmative action employer. GitLab’s policies and practices relating to recruitment, employment, career development and advancement, promotion, and retirement are based solely on merit, regardless of race, color, religion, ancestry, sex (including pregnancy, lactation, sexual orientation, gender identity, or gender expression), national origin, age, citizenship, marital status, mental or physical disability, genetic information (including family medical history), discharge status from the military, protected veteran status (which includes disabled veterans, recently separated veterans, active duty wartime or campaign badge veterans, and Armed Forces service medal veterans), or any other basis protected by law. GitLab will not tolerate discrimination or harassment based on any of these characteristics. See also GitLab’s EEO Policy (https://about.gitlab.com/handbook/people-policies/inc-usa/#equal-employment-opportunity-policy) and EEO is the Law (https://about.gitlab.com/handbook/labor-and-employment-notices/#eeoc-us-equal-employment-opportunity-commission-notices) . If you have a disability or special need that requires accommodation (https://about.gitlab.com/handbook/people-policies/inc-usa/#reasonable-accommodation) , please let us know during the recruiting process (https://about.gitlab.com/handbook/hiring/interviewing/#adjustments-to-our-interview-process) .