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.)