Principal Software Engineer

What we do at Codat

Our mission is to make life easier for the lifeblood of economies globally; small and medium-sized businesses. Codat is a universal API for consented business financial data, powering the next generation of products and services for this historically underserved market.  
We have offices in London, New York, Sydney, and a San Francisco office will be opening soon. We are a privately held company and have recently closed our Series B, being funded by Index Ventures, Tiger Global, American Express, PayPal and a line-up of world-class angel investors.
We live by our values of being united as a single team, building a product that is useful to our clients and their customers alike, with a focus and urgency that makes us unstoppable.

What you will be doing 

Our system is entirely hosted on Microsoft's Azure cloud platform, and is built on modern .NET Core, utilizing the latest .NET features. Our system is service-based, and leverages Azure Service Bus, Azure Storage, and SQL Server to ingest and process large amounts of data reliably and efficiently. 

Our engineers operate in small, focused, multidisciplinary, and highly autonomous teams of around 4 to 6 people. Our teams tend to include: 

  • A hands-on Principal Engineer who spends time focusing on product alignment, technical alignment, and people, as well as coding.
  • A QA Engineer who represents quality throughout the team and encourages critical thinking as well as supporting automation.
  • Software Engineers who help with business analysis, writing tests and code, and operating the components that the team owns. 

All our engineers have end-to-end responsibility. They’re involved from early on in the product design process all the way through to monitoring and operation. With this responsibility comes trust. Our engineers are empowered to use the best tool for the job. We encourage engineers to be innovative, always thinking about the best ways to give value to our clients. 

Our teams are always finding ways to make themselves more agile, and most teams use a “Scrumban” style of work, stand-ups, retrospectives, planning, and refining. Teams move rapidly, releasing at least once a day. We practise continuous integration and testing, and sometimes continuous delivery. Testing is very important to our process, and we strive for high levels of unit and end-to-end test coverage. 

What makes you a Principal Engineer: 

Our Principal Engineers mentor and guide teammates. This is not a management role but by bringing your level of expertise into the business we would love you to share that with the wider team and help mentor and guide our less experienced engineers. You will help develop strategic thinking, remove blockers and help engineers assess the tools they need to be successful. You will assist the team in identifying opportunities and address them through mature open discussions focused on resolution. 

What we’re up to right now 

Our teams are currently focusing on: 

  • Building high coverage for Codat's API across third-party software platforms. This includes building data formats into our financial data standard. 
  • Reliably and quickly processing huge amounts of financial data into our data cache and query engine. 
  • Building additional products on top of our core API to unlock the power of our clients' data, through the movement of data between sources, or data visualization. 
  • Best in class monitoring and operations tools to allow both ourselves and our clients to find, and fix, data issues early. 

Our values 

No matter what we’re doing - whether we’re speaking to customers, partners or to each other - we live by our values. 

We believe in delivering useful technology that solves real problems for real businesses. We have a real want to do the stuff that isn't always “cool” but makes a difference. 

We believe that the people in the best teams push and enable each other to excel. We’re united when we have each other’s backs - when something goes wrong, we don’t blame, we work together to fix it. We embrace differences of opinion to end up with better outcomes. We don’t let our egos win. 

We believe that an unstoppable drive towards a single, clearly stated goal is the best way to build great things. We are biased towards action - we make informed decisions and then we act. There is no such thing as an impossible problem, just a great challenge to sink our teeth into. 

What excites us 

  • We use a mix of technologies at Codat, but most are services supplied by Azure and leveraged using C#. Tech leads at Codat are expected to have a broad understanding of C#, as well as architecture patterns and engineering methodologies. 
  • We use all sorts of data storage technology to solve problems, and we believe that the right tool for the right job isn’t always SQL. We love engineers that know the difference between a relational database, a document database, an event stream, and a file store, and know when to use one over another. 
  • We really like candidates that have a proven record of technical ownership or mentoring. Our lead engineers are there to coordinate and communicate on capacity planning, product feasibility, and/or deep technical implementation. 
  • Our engineering leaders are expected to support and encourage leadership and autonomy in others. This can mean that they are a technical specialist, with a passion to teach, or a great organizer and communicator that ensures teams are building the right things at the right time. 
  • We have a flexible and collaborative way of working and we expect our leaders to be compassionate and supportive, to be ready to take responsibility for growing less experienced members of the team, and work with other departments to ensure we are all aligned and moving in the same direction. 
  • Engineering leaders at Codat aren’t always managers, we think you can be a great leader without direct reports. Cross cutting concerns at Codat require technical expertise and we like experts that can follow through with architectural best practice and coordinate multiple teams around problems and existing backlog priorities. Codat Software Engineer 

If you are excited about applying for this role but aren't certain you meet 100% of the criteria, we'd still love to hear from you