Software Engineer - Retrieval PlatformSignal AI
Role details
Job location
Tech stack
Job description
You'll join a small, impact-driven team responsible for building the core of our retrieval platform - shaping and handling vast volumes of data, redesigning how information flows through the system to power our AI models, and influencing the architectural decisions that will set our direction for years to come. If you're passionate about detail, scaling challenges, and having a real say in how things are built, this role empowers you to craft something meaningful from the ground up.
Requirements
We want you to apply for this position. We want people to enjoy a good experience at Signal AI and we appreciate your professional needs might be different to what we can offer.
- Thriving in Dynamic Environments : If you thrive on stability and predictability, you might find our dynamic environment challenging. Our team frequently adapts to changing priorities, which can be incredibly exciting and rewarding for those who enjoy a fast-paced, ever-evolving workplace.
- Versatile Skill Set: We value versatility and the ability to work on both back-end and front-end development. If you are passionate about expanding your skills across different areas, you'll find this role enriching and fulfilling.
- Collaborative Communication: Our culture emphasises building strong communication paths with various teams and stakeholders. If you enjoy collaborative problem-solving and sharing insights, you'll fit right in.
- Team-Oriented Programming : We encourage pair-programming and team collaboration as the default working paradigm over solo work. If you find joy in teamwork and learning from peers, you'll thrive here.
- Flexible Coding Approaches : While we respect the discipline of TDD, we also appreciate flexible and innovative approaches to coding and pragmatic testing patterns. If you're open to experimenting with different methodologies, this role offers a great opportunity to broaden your horizons., We're looking for strong generalists with deep experience in distributed systems, cloud infrastructure, and performance engineering - people who are comfortable building software systems from first principles, not just configuring existing data tools. You should be able to design, implement, and operate custom solutions end-to-end, and take real ownership of the systems you build. Breadth, sound engineering judgment, and experience solving problems at scale matter more to us than expertise in any particular data technology.
Must-have skills
- Distributed systems architecture - Experience building and operating microservices-based systems, using HTTP/RPC patterns, message queues, or event-streaming technologies at scale.
- Big-data query engines - Hands-on experience with engines such as Spark, Trino, Presto, or AWS Athena.
- Multi-modal data storage - Practical experience with at least two of the following storage or query technologies at scale:
- Search engines (e.g. Elasticsearch)
- Relational databases (e.g. PostgreSQL)
- Columnar/analytical databases (e.g. Redshift, Snowflake)
- Object storage (e.g. S3)
- Cloud infrastructure & IaC - Proficiency with major cloud platforms (AWS or GCP) and infrastructure-as-code tools such as Terraform or OpenTofu.
- Strong coding skills - Proficiency in backend languages (e.g. Java, Go, Python, Clojure) with experience writing performance-critical, concurrent production code.
Nice-to-have skills
- Large-scale data pipeline engineering - Experience designing and implementing pipelines for high-volume data processing and transformation.
- Performance engineering - Background in optimising system performance, query execution, and resource usage in data-intensive environments.
- Kubernetes - Experience deploying and managing distributed applications using container orchestration.
- Modern data-lake technologies - Familiarity with columnar formats (e.g. Parquet), table formats (e.g. Apache Iceberg, Hudi, Delta Lake), or data-lake management tools (e.g. AWS Glue, Google BigLake).