- Position: Machine Learning Software Engineer
- Location: Remote
- Contract type: B2B
Our client is building an intelligent code discovery platform that gives developers the best tools to discover code in any form and be more productive. We are transforming code search to improve the practice of modern programming—taking a graph-based approach using data from the entire open source ecosystem. We’re on a mission to build the world’s best code discovery engine. The company is funded by top investors in Silicon Valley, including the first investors of Google, Twitter, Zoom, LinkedIn, and Uber. Our team has backgrounds from NASA, LinkedIn, Facebook, Amazon, AWS, Cisco and MIT, Harvard, Stanford, and Berkeley. Our company is based in San Francisco, California, but our team is all remote and globally distributed.
If you are a passionate software engineer eager to acquire new machine learning knowledge to create and deploy ML models in production—this is a perfect position for you. We seek a candidate with a strong software engineering background to join our Data Science team and help us develop machine learning applications on the frontier of code discovery and developer productivity. While strong Software Engineering expertise is a requirement, knowledge of machine learning is a plus. In this position, you will be responsible for developing ML models, managing machine learning pipelines, and deploying them in production.
Our team expands the state of the art in machine learning technology, which enables thoughtful, efficient, and intuitive ways to search, re-use, explore or process metadata around the code. You will use world-class engineering and ML techniques on real-world, internal, and external data to directly impact the evolution of software development. A successful applicant is an expert in software engineering and DevOps with familiarity with machine learning, data science and MLOps.
Who Will Love This Job
You have worked on large scale software and machine learning models and systems. You are passionate about technology and can keep up with the latest developments. You have proven experience in software development and are passionate about machine learning and natural language processing. You are curious, driven to learn and improve yourself by any and all means. You are a skilled technical influencer and have a track record of successfully influencing product direction. You have a respectful, collaborative approach that earns the trust of your peers and stakeholders.
Our backend, data fetching pipelines, tooling is built with Go
Our frontend is built using TypeScript & Svelte
Our ML stack is built using Python & PyTorch
Our cloud automation is built using Terraform
Our data is primarily stored in PostgreSQL
Our search engine is powered by OpenSearch
Our services run on Google’s Cloud Platform
Bring your software development expertise to create and productionize machine learning models
Develop pipelines for automation of experiments and deployment of machine learning models
Implement machine learning algorithms
Own and implement various components of a machine learning pipeline
Review code, and support other engineers and data scientists in the team.
Build and deploy robust machine learning / deep learning models that improve entity extraction, classification, recommendation, and summarization
Collaborate with technical and non-technical business partners to develop analytics and metrics that describe the performance of matching systems and the quality of our data.
Determine the feasibility of projects through quick prototyping with respect to performance, quality, time and cost using Agile methodologies
Follow best software development practices and best-in-class infrastructure (platforms, tools, and approaches) to accelerate our research in the production phase and to unblock efficient deployment, optimization, and testing of ML models
5+ years experience as a software engineer, software developer, or backend engineer
Degree in Computer Science, Software Engineering, or related fields
Expertise coding in Python
1+ years experience with machine learning and/or natural language processing is a plus.
Expertise in two or more programming languages (e.g. Python, Go, Java)
Experience with ML/DL frameworks (e.g. PyTorch, TensorFlow, scikit-learn)
Experience architecting data pipelines and acquiring data needed to build and evaluate models, using tools like Dataflow, Apache Beam, or Spark
MSc or PhD in computer science, or software engineering
Experience with developing core machine learning pipelines
Expertise coding in Go
Experience with many of the following technologies:
Modern ML Models
MLOps and Infrastructure
Kubernetes, Docker, Terraform
Machine learning infrastructure
CircleCI, GitHub Actions, Jenkins
What We Offer
You have the opportunity to join an early stage startup and have significant ownership of technology development. You will work at the highest level and collaborate with world-class colleagues, advisors and technical experts. Our 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