Senior Software Engineer
For many, the process of getting a mortgage is hellish; hellishly complicated, hellishly costly and hellishly outdated. At Habito, we’re changing that. We believe people shouldn’t have to go through hell to get a mortgage.
Since our launch in 2016, we have made it our mission to fundamentally change the way people finance their homes. Whether buying for the first time, remortgaging, moving house or buying as an investment, we have developed an award-winning service that puts our customers back in the driving seat, giving them greater control over their finances. We deliver industry-leading expert advice in real time, cutting edge AI-driven technology that gives them access to the best possible deals, plain English conversations and absolutely no fees whatsoever.
We’re enormously proud of what we’ve achieved. Together, our 100-strong team has built great things to bring this mission to life. We’ve won numerous industry awards for our innovation, our talent and our service. And our enviable roster of backers is testament to that hard work and vision: to date, we have raised £27.5million in funding from some of the biggest names in venture capital and FinTech – Atomico, Ribbit Capital and Mosaic Ventures as well as the founders of Funding Circle and Transferwise.
Most importantly, we’ve helped more than 155,000 people get the mortgage they deserve. Our proudest achievement yet is the love we get from our customers, borne out by consistently excellent Trustpilot reviews from more than 1,500 happy homeowners.
But our work never stops. The landscape continues to evolve and, because we believe in financial products that put the customer’s interests first by design, we have ambitious plans to continue innovating, improving and disrupting in this space. As our business scales up, to extend beyond brokerage and insurance into becoming a mortgage marketplace, our focus on pioneering product and best-in-class delivery is greater than ever.
The RoleWe are looking for full-time, full-stack engineers to join our team. Our core development values are strong, static typing and correctness, rigorous automation (in both testing and infrastructure) and everyone having a say.
The stack: On the back end we have an HTTP API written in Haskell (and built using stack) with PostgreSQL serving as the persistence layer. All of our data is event sourced thanks to PostgreSQL's great support for relational and blob data (e.g. jsonb) and some in-house libraries for handling ES/CQRS in a type-safe (or what we believe to be, as far as possible) manner. We lean heavily on GHC and its extensions and are also using some of the bigger power-to-weight-ratio players like lens and conduit.
The front end is written in PureScript on top of React and Redux (the bindings to which are our own but are both quite thin and based on the design of purescript-react and later pux).
Infrastructure wise we are sitting atop AWS and using Docker to manage containment. Jenkins manages continuous integration and deployment using a combination of AWS' Java SDK and some management code written in Scala
While we're a technology company first and foremost, initially we're trying to make the UK mortgage brokering market a better place. This means building and maintaining our website, but it also involves a slurry of behind-the-scenes work integrating lenders, insurers, conveyancers and all the other players in the space as we seek to introduce robust automation into what is currently so many manual processes. Slack bots, job queues, working around the fact that some actors don't have APIs -- you'll get to handle it all!
- Work on our back-end software, written in Haskell and our front-end web applications, written in PureScript, HTML and CSS.
- Help maintain and extend our infrastructure, hosted in AWS using technologies such as Docker and Kubernetes.
- Use tools such as QuickCheck, Tasty and HUnit to produce reliable, well-tested software.
- Work with our product and design teams to produce customer-centric experiences that excite and delight.
- A passionate developer who cares about clean code and code quality; a full-stack polyglot
- An experienced engineer familiar with automated testing and deployment
- Experienced with functional programming and domain-driven design or simply interested and capable of learning on the job
- Someone who cares about UX and UI; you have a fundamental aversion to ugliness in product
And Finally …
- Competitive salary & share options
- Career development, coaching & training
- Free catered lunches, snacks & team bonding
- Bupa Healthcare & Life Assurance
- Contributory pension scheme
- Massages with Urban Massage
- Unlimited Holiday
- Cycle to Work Scheme