Backend Software Engineer

Our client is seeking a Backend Software Engineer to lead technology development on the frontier of code discovery and developer productivity. A successful applicant is one capable of building software using a variety of technologies. They are polyglots and can learn and adapt to solve the problem at hand. You will help our team design, test, and rapidly iterate on multiple products and services stemming from our core technology. You will develop prototypes, tools, and methods that inform decision-making for software developers (e.g. “Is this the right solution to my coding problem?” or “How do I implement this specific code in my application?” or “What code libraries are other developers using to solve my problem?”).

Who will love this job

The ideal candidate is excited to influence the direction of our technology and product development. You are an explorer, looking to help developers discover code in any form and improve their productivity. You are passionate about using machine learning to empower better software development. You could ship an entire web service if you wanted to, but prefer working with others.

Stack

  • The backend, data fetching pipelines, tooling is built with Go.
  • The frontend is built using TypeScript & Svelte.
  • An ML stack is built using Python & PyTorch.
  • Cloud automation is built using Terraform.
  • The data is primarily stored in PostgreSQL.
  • The search engine is powered by OpenSearch.
  • The services run on Google’s Cloud Platform.

Responsibilities

  • Write and maintain services, tools, APIs, wearing many hats
  • Use SQL to interact with our data
  • Leverage services provided by our cloud provider to power our products
  • Optimize and focus on performance with an emphasis on user experience and cost
  • Monitor and own your work in the production
  • Protect the work by writing tests and automating quality control where possible
  • Write real-time pipelines that execute complex operations on incoming data
  • An experiment in ways that accelerate prototyping and maximize resource utilization
  • Ensure pipelines work quickly, focus on fast single node performance and leverage horizontal scaling
  • Manage the data pipeline, including scheduling, dataflow programming, SQL and data labeling
  • Orchestrate the operation of clusters of commodity machines
  • Review code, mentor other engineers and support your peers
  • Attract, recruit and retain top engineering and scientific talent

Minimum qualifications

  • Expertise in microservices and cloud computing—across cloud platforms
  • Proficient with distributed systems and the coordination of high volume independent commodity machines into complete, functional systems to handle diverse workloads
  • Minimum 8+ years of professional software engineering experience
  • Expertise with ETL
  • Expertise with Go
  • Expertise with Python
  • Experience in building the server side including the web & public APIs
  • Experience working remotely, capable of leveraging asynchronous communication patterns
  • Experience documenting your work for the benefit of your peers

Preferred qualifications

  • Ph.D. or Master’s degree in computer science/engineering, mathematics, physics, or related field 
  • Experience with machine learning and NLP
  • Expertise with machine learning frameworks (like Keras or PyTorch)
  • Experience debugging CPU/memory performance issues 
  • Experience with various security aspects of building public-facing APIs 
  • Experience in frontend development 
  • Ability to run a CPU and IO profiler to figure out where to optimize the pipeline
  • Advanced working knowledge of information retrieval and search technologies 
  • Expertise with configuration and use of open-source search systems to query and understand data
  • Experience with most of the following technologies:
  • ElasticSearch, Solr and Lucene
  • Machine learning infrastructure
  • Kubernetes, Docker, Terraform
  • Deep learning, GNNs
  • CircleCI, GitHub Actions, Jenkins
  • Graph databases

What is in it for you:

You have the opportunity to join an early-stage startup and have significant ownership of critical technical components. You will work with a great team and collaborate with exceptional advisors and technical experts. Our client’s team is growing rapidly and we hope you’ll grow with us, too.

  • Competitive salary & equity packages.
  • Unlimited vacation and sick leave.
  • Strong remote work culture and esprit de corps.

Related Jobs

Data Tech Lead

Our client is a technology solutions company passionate about Customer tailored product development. From...