Job FunctionsDesigning and implementing AI retrieval systemsOptimizing performanceCollaborating with cross-functional teamsCode quality and best practicesTesting and validationAPI developmentStreaming and cancelable endpointsContinuous improvement
Job RequirementsBachelor's degree in Computer Science or related field2+ years of experience as a Software Engineer, preferably in AI retrieval systemsExperience with machine learning frameworks and libraries such as TensorFlow, PyTorch, or scikit-learn.Familiarity with NLP techniques and tools, such as spaCy or NLTK.Knowledge of distributed systems and experience with tools like Kubernetes or Docker.Experience with cloud platforms like AWS, GCP, or Azure.
SkillsProficient in Python, with a strong understanding of data types, string manipulation, type casting and conversions.Experienced in calling functions, using default and variable arguments, and writing lambda functions.Familiar with tools like venv, virtualenv, pipenv, and poetry for managing project dependencies.Skilled in reading, writing, and manipulating files in Python.Expert in handling errors and exceptions to ensure robust and reliable code.Knowledgeable in designing and using data models to represent and manage data efficiently.Proficient in using context managers and implementing logging best practices to maintain code clarity and traceability.Experienced with object-oriented programming concepts, including inheritance and method overriding.Familiar with Python's magic methods to enhance the functionality of custom classes.Adheres to code formatting standards using tools like black, isort, flake8, and pylint.Strong background in testing methodologies, including unit testing with pytest, mocking, and integration testing.Familiar with semantic versioning and maintaining changelogs to track changes and updates.Proficient in using stack, queue, and priority queue data structures (via collections) to manage and process data efficiently.Experienced in functional programming concepts such as map, filter, reduce, generators, and decorators.Skilled in asynchronous programming using asyncio, aiohttp, async generators, and handling timeouts with wait_for.Strong communication skillsAbility to work collaboratively with cross-functional teamsPassion for learning and staying up-to-date with the latest developments in AI and software engineering
📐 About this Role
As a Software engineer, AI retrieval, you will be responsible for designing, implementing, and optimizing the AI retrieval systems that power our platform. You'll work closely with our data scientists, product managers, and other engineers to ensure that our AI models are integrated seamlessly into our applications, providing fast and accurate results. This role requires a deep understanding of software engineering principles and a strong foundation in AI and machine learning.
🦸🏻♀️Your responsibilities:
- Design and implement AI retrieval systems: Develop and maintain the core AI retrieval algorithms and services that enable our platform to efficiently search and retrieve relevant content.
- Optimize performance: Ensure that our AI retrieval systems are highly performant, scalable, and can handle large volumes of data and requests.
- Collaborate with cross-functional teams: Work closely with data scientists, product managers, and other engineers to understand requirements, provide technical guidance, and deliver high-quality solutions.
- Code quality and best practices: Write clean, maintainable, and well-documented code, adhering to best practices in software engineering.
- Testing and validation: Develop comprehensive unit and integration tests to ensure the reliability and accuracy of our AI retrieval systems.
- API development: Build and maintain REST and GraphQL APIs using frameworks like FastAPI and Flask to expose our AI retrieval capabilities to other services and applications.
- Streaming and cancelable endpoints: Implement streaming responses and cancelable endpoints to support real-time and interactive use cases, such as model output.
- Continuous improvement: Stay up-to-date with the latest developments in AI and software engineering, and continuously improve our systems and processes.
⭐️ Is this you?
- Language fundamentals: Proficient in Python, with a strong understanding of data types, string manipulation, type casting and conversions.
- Functions: Experienced in calling functions, using default and variable arguments, and writing lambda functions.
- Virtual environments: Familiar with tools like venv, virtualenv, pipenv, and poetry for managing project dependencies.
- File handling: Skilled in reading, writing, and manipulating files in Python.
- Error Handling: Expert in handling errors and exceptions to ensure robust and reliable code.
- Datamodels: Knowledgeable in designing and using data models to represent and manage data efficiently.
- Context managers and logging best practices: Proficient in using context managers and implementing logging best practices to maintain code clarity and traceability.
- Inheritance and method overriding: Experienced with object-oriented programming concepts, including inheritance and method overriding.
- Magic methods: Familiar with Python's magic methods to enhance the functionality of custom classes.
- Code formatting: Adheres to code formatting standards using tools like black, isort, flake8, and pylint.
- Testing: Strong background in testing methodologies, including unit testing with pytest, mocking, and integration testing.
- Versioning: Familiar with semantic versioning and maintaining changelogs to track changes and updates.
- Data structures: Proficient in using stack, queue, and priority queue data structures (via collections) to manage and process data efficiently.
- Functional programming: Experienced in functional programming concepts such as map, filter, reduce, generators, and decorators.
- Async programming: Skilled in asynchronous programming using asyncio, aiohttp, async generators, and handling timeouts with wait_for.
- Threading vs multiprocessing: Understands the differences and trade-offs between threading and multiprocessing, and can choose the appropriate approach for different tasks.
- Memory and performance profiling: Proficient in using tools like tracemalloc and cProfile to identify and optimize memory usage and performance bottlenecks.
- API development: Experienced in developing and maintaining REST and GraphQL APIs using frameworks like FastAPI and Flask.
- Streaming responses and cancelable endpoints: Capable of implementing streaming responses and cancelable endpoints to support real-time and interactive use cases.
✨ Preferred skills and experience
- Machine learning experience: Familiarity with machine learning frameworks and libraries such as TensorFlow, PyTorch, or scikit-learn.
- Natural Language Processing (NLP): Experience with NLP techniques and tools, such as spaCy or NLTK.
- Distributed systems: Knowledge of distributed systems and experience with tools like Kubernetes or Docker.
- Cloud services: Experience with cloud platforms like AWS, GCP, or Azure.
- Open source contributions: Contributions to open-source projects or a strong portfolio of personal projects.
🍩 Benefits & perks (UK full-time employees):
- Generous PTO, plus company holidays
- Comprehensive medical and dental insurance
- Paid parental leave for all parents (12 weeks)
- Fertility and family planning support
- Early-detection cancer testing through Galleri
- Competitive pension scheme and company contribution
- Annual work-life stipends for:
- Home office setup, cell phone, internet
- Wellness stipend for gym, massage/chiropractor, personal training, etc.
- Learning and development stipend
- Company-wide off-sites and team off-sites
- Competitive compensation and company stock options
Life at Writer
Writer is the AI writing assistant for smart content teams. We help content leaders scale their messaging, communication style, and must-have language, no matter who's writing. Top companies like Twitter, Intuit, and UiPath have standardized their content creation on Writer.
Thrive Here & What We Value1. Generous PTO and company holidays2. Medical, dental, and vision coverage for employees and their families3. Paid parental leave for all parents (12 weeks)4. Fertility and family planning support5. Earlydetection cancer testing through Galleri6. Annual worklife stipends for home office setup, cell phone, internet7. Health savings account with company contribution8. Wellness stipend for gym, massage/chiropractor, personal training, etc.9. Learning and development stipend10. Company-wide off-sites and team off-sites