-
Position: Staff Software Engineer
-
Salary: up to 37 500 PLN
-
Form of employment: contract of employment
Join our client which makes software to help users organize data, discover the truth, and act on it. Their SaaS product manages large volumes of data and quickly identifies key issues during litigation and internal investigations. The AI-powered communication surveillance product proactively detects regulatory misconduct like insider trading, collusion, and other non-compliant behavior. They have over 300,000 users in 49 countries serving thousands of organizations globally.
The role:
The Staff Software Engineer develops software and leads a team’s technical expertise 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 work with terabytes of data, think deeply about how to design scalable, building systems critical for Justice system to work.
You will lead projects on a scalable and dynamic distributed 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.
Responsibilities:
- Lead the design of software using abstraction, low coupling, high cohesion, modularization, encapsulation, information hiding, interfaces, and separation of concerns
- Contribute to system software architecture development and future projects by working with Staff, Principal Engineers, and Architects
- Prioritize the team’s work, make decisions about trade-offs, and solve technical problems as they come up.
- Analyze and estimate non-functional software requirements to build cloud native services providing value for users
- Display an ownership mindset; be accountable for and beyond the features your team develops.
- Build systems that are low maintenance but not overengineered – balancing security, observability, and extensibility with time-to-market and user value
- Be excited and deliver on cutting-edge systems interacting with LLMs in the legal space – that requires careful management of input and output, especially in observing those systems, building RAG architectures that are extensible, and having a deep interest in how this provides value to our users
- Lead the implementation of software using the practical application of algorithms, defensive programming, exception handling, fault tolerance, design patterns, and best practices of Object-Oriented Design and Programming, such as SOLID
- Work with management to mentor team members and guide development and growth
- Participates in regular on-call rotations
- Embrace and contribute to a learning/growth culture and promote a healthy work environment
Qualifications:
- 4+ years of experience in software development using C#, 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)– or willingness to learn it
- Nice to have experience in Python or Rust and a practical understanding of Machine Learning systems
- 2+ years of experience working with large data or data-intensive distributed systems
- Hands on experience working with k8s, Elastic Search, Github Actions, Message Queues, and PostgreSQL.
- Nice to have experience working with search-related systems and systems dealing with low-latency user input
- Practical experience with Microservices
- Experience leading an Agile software team, including mentoring and project leadership
- Experience developing scalable solutions in Azure or other cloud platforms
- Have practical event-driven systems operation and implementation experience
- Experience in CI/CD –
- Understanding of DevOps principles and working with pipelines, changing them and operating with a DevOps mindset
Benefits:
- Comprehensive health plan
- Flexible work arrangements
- Two, week-long company breaks per year
- Unlimited time off
- Long-term incentive program
- Training investment program