About the Role:
We are looking for a passionate Python developer to join our team at Consensus.
If you are a top-notch software engineer who wants to help lead a team of passionate, driven people, then this position might be a good fit for you. This position will be responsible for helping Consensus to build and develop AI and LLM based features (RAG).
What You'll Do:
-
- Apply your Python skills to develop robust APIs.
- Work with product managers to flush out requirements and create balanced delivery iterations.
- Interact with frontend engineers to help design API contracts to support user workflows.
- Create unit tests and work with both manual and automated QA to ensure new features and services work as expected.
- Improve the existing codebase to have better and higher quality test coverage.
- Collaborate with architects and DevOps to improve overall system design.
- Contribute to our architectural roadmap to ensure we have a scalable, performant, maintainable, and secure application.
- Mentor and coach less experienced engineers in best practices and established patterns.
- Debug production systems as needed.
- Improve the system through better alerting, monitoring, and logging.
What We're Looking For:
- *LangChain and LangSmith experience is a plus
*OpenAI experience is a plus
*Other enterprise-level back-end languages are an advantage (e.g. Golang, Java)
- Bachelor's degree in computer science or equivalent.
- 4+ years of related experience with backend engineering.
- 2+ years of experience with Python.
- 1+ years of experience with RAG and LLM applications.
- Expert level understanding of Python.
- Mastery-level understanding of REST and API development with strong skills in building well designed APIs.
- Strong understanding of LLM concepts like embeddings, prompt engineering, few shot prompting, etc.
- Firm grasp of solid architectural principles for back-end applications.
- Good practical experience with OOP, SOLID and KISS principles.
- Pragmatic approach to feature development, architectural improvement, and system evolution.
- Good understanding of Git and pull request workflows including continuous integration.
- Solid understanding and practical experience applying the agile methodology to projects.
- Strong skills in the terminal for Unix or Linux-based operating systems including script writing and command-line tools.
- Strong skills with SQL as well as experience with other types of databases preferred such as PostgreSQL, noSQL, graph, etc.
- Debugging skills and the ability to detect and make performance improvements.
- Experience with Docker and Kubernetes.
- Quality-minded, with the ability to elevate others in areas like effective boundary condition testing and test-driven development.
- Enterprise Software Development Life Cycle Experience with eventing frameworks like Kafka is a plus.
- Good communication skills, strong work ethic, and commitment to being accountable for yourself and your team.