←Web-based IDEs for interviewing
Sep 1, 2021 - Feb 1, 2022
Overview
To address the limitations of screen sharing I developed a web application using Golang, Vue.js, Terraform and Yandex.Cloud to provide a comfortable and convenient coding environments during interviews. It offers a collaborative coding experience by sharing a full-fledged IntelliJ IDEs via Projector interface in browser with full access to terminal.
System Diagram
My Role
Developed the entire application from idea to implementation, with the first MVP version ready for testing within a week.
Researched existing solutions like Replit, GitHub Codespaces, and Gitpod before designing and developing the web-based IDE provisioning app.
Ended up with provisioning isolated VMs in the cloud with JetBrains IntelliJ IDEs and projector-server for browser access.
Leveraged Golang, Vue.js, terraform and Yandex.Cloud to build the app from scratch.
Implemented a timeout feature to gracefully shut down the VM after the interview duration.
Implemented a code upload functionality for later assessment of the candidate's solution.
Outcomes:
Interviewers could spin up IDEs in seconds and send job seekers a link for instant access to the IDE web interface. With the ability to access artifacts of an interview later.
Allowed for assessment of practical skills, including spinning up Kubernetes clusters or Gitlab instances for SRE engineers.
Enabled ability to check QA automation engineers' skills of writing CI pipelines and designing whole automation process.