Software Engineer, Research

You are interested in building tools and services for managing life cycles of Machine Learning and Deep Learning models, primarily for NLP. You are not an expert in ML, DL or NLP but are curious and willing to learn. We expect you to work closely with researchers and engineers, provide leadership, code discipline, and project design by example.

You will use your Python programming skills, coupled with strong SE fundamentals, to deploy and serve models. You are up for challenging tasks (e.g., optimizing services to run in a distributed fashion, with minimum latency and maximum throughput). You keep up with the latest tools, frameworks, and libraries, enjoy experimenting with them, and understand when they should and shouldn’t be adopted for our use cases and tasks. You are comfortable with change. You’ve had positive experience working for a startup before.

You will work on

  • Document Store Implementation

  • Document Processing Lifecycle Management

  • Improving Model Serving, Knowledge Base Lifecycle Management

Required Skills

  • Proficiency in Python and Java w/2+ years of relevant work experience.

  • Strong understanding of CS fundamentals (algorithms, data structures)

  • Strong software development discipline w/proven ability to deliver clean, well-tested code

  • Experience with AWS and popular tools for DevOps, containerization, CI/CD

  • Capable of systematic, goal-directed project management

  • Comfortable with ambiguity - prioritizing and managing your time w/a strong sense of urgency

  • Thriving when self-directed - you may be given full feature ownership, from design to business impact, with the accountability that comes along

Bonus - hands-on experience with:

  • Flask, FastAPI and similar frameworks

  • Building end-to-end systems based on machine learning or deep learning methods (ETL, modeling and deployment)

  • Tools for prototyping and deploying deep learning models (scikit-learn, PyTorch, TensorFlow, spaCy, Hugging Face, ONNX, etc.)