All Roles
Senior Software Engineer - Backend
OutThink is the world’s most loved, AI-native cybersecurity human risk management platform, on a mission to put humans at the center of security operations. We’re redefining how people engage with cybersecurity. We go further by giving business security leaders with the tools to eliminate human-initiated security incidents.
Founded in 2019, OutThink’s team is 50+ and growing across our offices in New York, London, Barcelona and remotely. We serve some of the most prominent organizations worldwide including Whirlpool, Danske Bank, VINCI, and the Abu Dhabi Islamic Bank. We’re seeking ambitious and driven innovators from a diverse range of backgrounds, who are desired for their experience, passionate about their work, and excited about the mission we’re on. We’re backed by leading VCs including Albion Capital and Molten Ventures, as well as innovation bodies including the European Innovation Council and UK Innovation & Research.
We are seeking a Senior Software Engineer, Backend to join our exciting start-up, working within a high performing agile engineering squad, and playing a key role in building and delivering OutThink’s ground-breaking SaaS (Software as a Service) Cybersecurity Human Risk Management Platform. You will be working to help design and build high performing APIs, robust microservices, cloud native databases, backend algorithms, AI services and infrastructure in support of the company’s vision for a supremely scalable, extensible, and highly performing cloud-native solution.
Who you'll work closely with
Matt Slater
Chief Technology Officer
Nico Martin
Lead Software Engineer
Javi Mollà Micó
Principal Software Engineer
Muhammad Usama
Senior Software Engineer
What you'll do
- Collaboratively develop features and improvements. You’ll build features and embed improvements to the OutThink platform in a secure, well-tested and performant way. You’ll collaborate with the Product team and other stakeholders within Engineering (Frontend, UX, etc). to maintain a high bar for quality in a fast-paced, iterative environment. You’ll confidently ship large sized features and improvements with minimal guidance and support from other team members.
- Build upon technical expertise within the engineering organization. You’ll solve technical problems of high scope and complexity, and leverage your experience with performance and optimisation problems, particularly at larger scale. You’ll have a demonstrated ability to both diagnose and prevent these problems.
- Thought leadership and bias for action. You’ll advocate for improvements to product quality, security, and performance that have particular impact across the team, in the process influencing the overall objectives and long-range goals of your team. You’ll craft code that meets our internal standards for style, maintainability, and best practices for a high-scale web environment. You will maintain and advocate for these standards through code review.
- Supporting team growth. You’ll provide mentorship for Associate Software Engineers and Software Engineers on your team to help them grow in their technical responsibilities and remove blockers to their autonomy.
- Support. You’ll be an ultimate team player and participate in the weekly support rota to assist troubleshooting and urgent engineering issues. You may be called upon occasionally for weekend deployments and night-time on-call support rotations where required.
Your Background
- First and foremost, a great attitude. We’re pioneering on new frontiers. You’ve got the right attitude towards a sense of urgency, risk and uncertainty about the future that comes with working at an early-stage scale-up. You’ll be self-managing, self-motivated. This is an opportunity to be involved in an exciting journey and be a core foundational member of engineering at OutThink.
- Proven academic or other excellence. You have a strong educational foundation and can demonstrate a track record of exceptional performance - whether that be academics, sport, professional, or another domain of interest. Ideally, you have a degree in Computer Science, Engineering or other numerate or semi-numerate discipline.
- Collaborative working style. We value getting things done over rigid processes so you will work well with others, knowing when to get consensus and when to push for closure with decisiveness. You’re an effective team player with excellent interpersonal and communication skills. You’re able to work collaboratively in diverse and cross-functional teams. You’ll also have proficiency in the English language, both written and verbal, sufficient for success in a remote and largely asynchronous work environment.
- Familiarity with Agile. You’ll have an understanding of the principles behind great software design, allowing you to write code that’s clean, fast, and scalable. You’ll also be well-practiced with Agile Development Methodology, working in short sprint cycles, and able to help mentor other developers. Our software development process is intensely iterative.
- Technical skills. We’ll look to you to bring the following to the table:
- Strong hands-on experience with Microsoft .NET 6.0, 7.0 or 8.0 using C#.
- Extensive commercial experience of building and working with cloud-native or hybrid cloud solutions with Azure.
- Proven experience working with event driven distributed systems, including message brokers and asynchronous messaging patterns.
- Experience of building cloud-native solutions with Microsoft Azure with at least some of the following: API Management, API Gateway, Cognitive Services, Cosmos DB, Azure Service Bus and Azure Kubernetes Service.
- Containerisation Technology (Docker, Kubernetes, Nginx).
- Strong SQL Server skillset, including T-SQL.
- Experience of building solutions incorporating NoSQL Databases such as Redis, MongoDB, AWS DynamoDB, or Azure Cosmos DB.
- Experience of TDD and Unit Testing Frameworks, such as MSTest or NUnit.
- Git Source Control, with GitHub or Azure DevOps Services.
- Open API / REST API exposure.