Help us create the ultimate collaboration platform for developers
GitLive is an early stage tech startup with an open culture. We are based in London but being a remote-first company we are happy to accept applications from all over the world. We’re looking for people with an entrepreneurial spirit that want to stay current with the latest technologies in order to come up with creative solutions.
Being early stage we work with as little overhead as possible (no project managers!), close contact with customers, and a team of people that enjoy the fast pace of a startup, regularly stepping outside their comfort zone to learn new skills on the job and adapting to the ever changing environment as the company grows.
As our Developer Advocate you represent GitLive to developer communities all around the world and help inspire new and existing developers use GitLive with their teams. We are looking for someone with prior experience as a Developer Advocate or someone who wants to step away from day-to-day engineering and/or management and start driving product adoption and community growth.
You will need to bring in a mix of experience from engineering, product and marketing to educate and inspire our userbase about our tool. It will be your job to demonstrate how GitLive increases developers productivity and why it makes communication between developer teams more pleasant.
You will receive a lot of authority and independence, the opportunity to participate and grow with the success of a very promising startup as well as the ability to create a name for yourself online.
As a Developer Advocate, you’ll establish strong relationships with developers around the world in a scalable way, by crafting great resources to help developers use GitLive with their team, including samples, blog posts, and documentation. You’ll foster developers communities, championing their interests and translating their feedback into actionable product insights
GitLive is built on the shoulders of giants, meaning we set out to avoid recreating the wheel by building everything in-house from scratch. Instead we leverage cloud / serverless technology as much as possible to accelerate development and lower maintenance cost.
And that’s where GCP fits in, and in particular; Firebase - originally designed as a backend for mobile apps, Google later adding support for web apps, we retrofitted Firebase to work on the desktop too. This could also be where you fit in if you are a backend engineer who enjoys all things GCP/Firebase!
TypeScript, Node.js, Google Cloud Platform, Firebase, Firestore, SAML, GitHub API, GitLab API, Atlassian APIs, Azure DevOps API, Slack API, Microsoft Teams API
This role requires strong TypeScript skills and experience developing and scaling a serverless architecture on the Google Cloud Platform. Also ensuring efficient use of Cloud Functions and Firestore to avoid spiraling costs as our service scales.
In addition experience in the following is highly desirable:
As real world uses of Kotlin Multiplatform go GitLive is probably one of the coolest going. We share the majority of our plugin code across IDEs running on different platforms such as IntelliJ (JVM) and VSCode (Node/JS).
With mobile apps also in the pipeline we will take code reuse through Kotlin Multiplatform and Kotlin Native to a new level!
Kotlin, Kotlin Multiplatform, Kotlin JS, Kotlin Native, Kotlin Coroutines, Kotlin Serialization, TypeScript, JS, Java, Firebase, Realtime Database, Firestore
This role requires a deep understanding and experience of multiple programming languages (namely Kotlin, TypeScript, JS & Java).
In addition, Firebase experience is highly desirable. You should have plenty of hands on experience with Kotlin Multiplatform and a love for all things Kotlin that keeps you on the cutting edge (e.g you have already got your head around Coroutine’s Flows). Being such an early stage technology you are likely to be an active member of the community with activity visible on the Kotlin forums and open source projects. This can be as simple as bug reports on GitHub or the odd discussion thread on Discourse etc.
Visual Studio Code has grown to be one of the most popular code editors around, and its essential GitLive provides a first-class experience for developers using VSCode.
This role involves getting creative with VSCode's straightforward but limited API and requires strong UX/UI skills.
TypeScript, VSCode API, Atom SDK, Electron, Node.js, HTML/CSS, Webpack, Chrome, Native Node Modules
This role requires a front-end developer with direct experience of developing VSCode extensions and/or Atom packages. Also, a more in-depth understanding of Electron is highly desirable. For example, knowing what to do with a native stack trace from an 'Extension Host crashed' error.
Ensuring developers have the best experience possible inside VSCode/Atom will be your responsibility; this includes designing the UI /UX of GitLive’s extension plus monitoring and fixing bugs and gathering and acting on user feedback. Strong HTML/CSS skills are essential as you will be tasked with implementing the style and functionality of custom UI elements rendered via web views.
From humble beginnings JetBrains have grown to be a major force in the developer tools industry. With over 10 IDEs with a total market share of 50% it is essential the GitLive plugin provides a first-class experience on the IntelliJ Platform.
This role requires a mastery of the IntelliJ Platform’s powerful but complex API and focuses on the user interface of the plugin rather than the business logic.
Kotlin, Java, IntelliJ Platform, Eclipse SDK, Swing, Kotlin coroutines, Java profiling, Proguard, Android SDK
This role requires a developer with direct experience of developing IntelliJ platform and/or Eclipse plugins. Also, a high proficiency in Kotlin is required including the coroutines library (especially flows). Ensuring developers have the best experience possible inside IntelliJ /Eclipse will be your responsibility; this includes designing the UI/UX of GitLive’s plugin plus monitoring and fixing bugs and gathering and acting on user feedback.
A strong background in Java is essential as many of the IntelliJ Platform’s APIs are undocumented and requires digging around in the IntelliJ open source code. In addition, experience with JCEF and HTML/CSS/JS proficiency is highly desirable.
Being developers’ ourselves we dog food our product on a daily basis but with the multitude of services we integrate with and configurations we support means manual QA testing plus a suite of automated UI tests are essential to ensuring the quality of our service.
Testing plugins is hard and requires great attention to detail. For example, in addition to having different operating systems to contend with, you have different versions of the host application (in our case the IDEs) to consider too. Our testing approach is based on Behavior Driven Development (BDD), our objective is to maintain a comprehensive set of generic behavioral specifications (written in Gherkin) which we can execute manually and automated across all platforms and configurations we support.
BDD, Gherkin, Selenium, CucumberStudio, Multiplatform testing, Java Desktop / Swing GUI testing, Electron GUI testing, Android App testing, iOS App testing
This role would suit someone with direct experience of manual testing and a familiarity of programming with a desire to get into automated testing. An understanding of the basics of software development including version control (Git) is essential in understanding our service and problems it's trying to solve. Your responsibility would be to ensure the quality of our service, this would include manual testing of new releases, investigation and reproduction of reported issues and the writing of behavioral specifications for new features as they are developed.
You would also be responsible for overseeing the development of automated tests. Our development team would be on hand to help you and assist with the development of platform-specific code required for running automated UI tests whilst you would maintain the platform-agnostic code and ensure the behavioral specifications are written in a way to make them suitable for automated testing.
Any previous experience of the technologies listed for this role, especially Cucumber and Selenium is highly desirable.