Requirements: English
Company: Relativity
Region: Krakw , Lesser Poland Voivodeship
The Lead Software Engineer develops software and leads a team to apply software engineering best practices to provide high-quality, maintainable, reusable, performant, and scalable software.
We are forming a new squad that is going to create a new way to search in our product deeply reinventing is using AI, deeply understanding what the system is being asked to search for and couple it with great UX. You will lead projects on a scalable and dynamic web system that supports integration with multiple search engines, state of the art AI models (think LLMs), work with vector and full text search, implementing embedding of 100s of millions of chunks and search through it. This is all using many of the newest, cloud-based technologies and new systems will be build in cloud-native way. You will build distributable systems composed of multiple databases, processing, and web servers within the massive data field.
You will be a technical liaison between your team and other development teams to resolve dependencies, to improve and apply software engineering best practices and processes, and to find and address risks to the delivery of software. Basically be the technical lighthouse in the team mostly coding but also guiding the team around uncertainty. Stay on top their priorities, make decisions about trade-offs and solve technical problems as they come up.
Lead the design of software using abstraction, low coupling, high cohesion, modularization, encapsulation, information hiding, interfaces, and separation of concerns
Be pragmatic in using object oriented principles, applying SOLID principles and design patterns in a variety of languages such as SQL, Javascript, and C# (with nice to have Rust) to drive value for our users
Be excited and deliver on cutting age systems interacting with LLMs in legal space that requires careful management of input and output especially in observing those systems, building RAG architectures that are extensible and having deep interest in how this provides value to our users
Contribute to system software architecture development and future projects by working with Staff, Principal Engineers, and Architects
Ensure best practices of Test-Driven Design and the use of autonomous frameworks and Continuous Integration
7+ years of experience in software development using C# and 4+ year operating in cloud native environment with practical understanding of containerization, SQL and NON-SQL databases, observability and production maintenance
~ Nice to have is experience with Vector Search in any form (Pinecone, pgVector, Elastic or others) and Rust or willingness to learn it
~ Nice to have experience in Python or Rust and practical understanding of Machine Learning systems
~Experience leading an Agile software team, including mentoring and project leadership
~ Experience developing scalable solutions in Azure or other cloud platforms and building observable systems with SLA and SLOs defined,
~ Have practical event-driven systems operation and implementation experience
~ Understanding of DevOps principles and working with pipelines, changing them and operating with DevOps mindset