Senior Backend Software Engineer
Dashly is looking for an independent Senior Back End Developer who enjoys the informal, fast-paced startup environment with lots of freedom and responsibility with the following skills:
Python or Kotlin (at least one language, willingness to work with the other over time)
Microservice architecture and cloud-native development experience (Google Cloud Platform)
Solid English language skills (most business-related communication is in English)
Got you interested? Read more below:
What is Dashly?
Our mission is to give homeowners across the UK a better deal on their mortgage, saving them thousands of pounds each and every year.
We’ve got an ambitious vision to create a suite of products that together will reshape the mortgage market for the good of all – borrowers, advisors, brokers and lenders. To do that, we’ve built a powerful mortgage search engine, data platform, together with web and mobile apps. Now it’s time for us to upgrade our platform to scale in line with our growth rate, and utilize our gained experience to design new data solutions that will help lenders to offer new, more efficient ways to design and distribute products. On top of that, we’re building tools that let advisors truly manage their customer relationships and empower them to improve the service they can offer their clients.
Who are we looking for?
We're looking for experienced developers with a passion for technology, software, elegant solutions and clean code. We don't want you to just write code for us, we want you to be part of our feature development pipeline and we want you to be involved (at least in some capacity) in all of its stages: analysis, design implementation, testing, deployment and documentation.
Senior-level programming skills with Python or Kotlin
Senior-level skills with relational databases and SQL (PostgreSQL dialect)
Senior-level experience with designing software architecture and APIs
Willingness to learn new languages and technologies
Proactive approach, initiative and ownership of responsibility for your work
Proficiency in speaking and writing in English, as you'll be using it on a daily basis
Solid communication skills (you'll be talking to people from the creative, product and business teams)
Basic DevOps skills (using existing CD/CI pipelines, git, Docker)
Nice-to-have skills (we can help you with these, but having them is certainly helpful):
Experience with Go and Node.js
Experience with Protobuf and gRPC
Experience with NoSQL databases
Understanding of asynchronous programming and event-driven architectures
Advanced DevOps skills (writing new CD/CI pipelines, Kubernetes, Helm)
What do we offer in return?
You'll be joining a dynamic startup environment. What does that mean? Well, if you're looking for corporate development plans organised into several weeks worth of work, outlined in project plans set in stone, with strictly defined assignments, lots of rules and processes and a do-as-you-re-told, don't-ask-questions attitude on top it all, you won't find any of that with us, sorry.
Instead, we're looking for independent mavericks, exceptional individuals, explorers and contributors who enjoy freedom and creativity in their work, and are willing to take initiative and responsibility for their assignments, or even whole portions of our technology stack.
Our core engineering values are:
Leadership and guidance works better than management and rules
People are more important than processes
Failure is a learning experience
Always act in the company's best interest
These values guide our leadership, our managers and our engineers all alike. We're building a team of individuals that strives for a common goal. A team where initiative, innovation and great ideas are welcomed and rewarded, where failing while trying to innovate is considered a success as long as we learn from it, and the only thing that's not allowed is passively sitting around, waiting for someone to tell you what you should be doing.
Okay, that was about enough with the buzzwords, let’s get down to specifics:
We’ll agree on a fixed sum which you’ll be invoicing us each month, guaranteeing you a consistent and predictable income
We expect you to work roughly 40 hours a week for us in exchange
The contract will have a 2-month termination period, guaranteeing stability and predictability for both parties
Contractor? Does that mean no holidays?
You’ll get 25 days of paid annual leave, on us!
We want you to take time off every now and then and recharge
Oh, cool, and what about hardware?
We’ll provide you with a laptop, either a Mac or a Dell, whichever you prefer
What’s the work environment at Dashly?
We’re building a relaxed, free working environment built on transparency, communication and mutual trust. As long as everyone’s happy with your performance and results, nobody is going to tell you what to do and how to organize your time.
Flexible working hours
Mandatory late morning daily stand-up
Expected general availability during working hours, especially morning and noon
But you can take a break anytime as long as you let your team members know in advance
You can choose when do you begin and when do you end your work day
Hybrid remote/office mode
If you want, you can stay fully remote
Or go to the office every day
And anything in-between, the choice is yours, really
We’ll still be happy to see you in person a few times a month, should the circumstances allow.
Office space available in Prague (Czechia), Brno (Czechia) and London (United Kingdom) for team meetings and get-togethers.
What about Dashly’s technology stack?
Dashly is running a microservice architecture on Google Cloud Platform written in the following languages:
Node.js (14 with Typescript 4)
Utilizing the following communication protocols:
HTTP REST API (front-end to back-end communication)
gRPC & Protobuf (internal back-end communication between services)
And the following cloud services:
GKE (Kubernetes Engine) with Helm for deployment, Istio as the service mesh
CloudSQL (PostgreSQL as relational database)
Firestore (NoSQL database)
Cloud Build (for CD/CI)
Our infrastructure is managed with Terraform.
We don't expect you to know all of the languages and technologies. Being an experienced senior in either Python or Kotlin is enough, we'll give you the time and support to learn to work with the other languages. Experience with gRPC and Google Cloud is a serious advantage, but even here we're happy to work with you and support you to bring you up to speed.
We're investing heavily in a redesign of our application architecture from existing Python, Go and Node.js microservices into a new, unified, Kotlin platform. On top of that, we're also improving the way we handle our data, our entire infrastructure, and overall improvement and simplification of our solutions. This is a very exciting time to be a part of Dashly, and we're expecting a lot of input and initiative from you in our endeavour.
And what tools do you use?
When it comes to day-to-day operations and work organization, our teams use Google Workspace (Meet for online meetings), Slack for messaging, Github as our repository and Atlassians' Cloud JIRA and Confluence for issue tracking and documentation.
Anything else I should know?
Our business and product teams are located in the UK (GMT time zone), our creative, marketing and engineering teams are located in Central Europe (CET timezone, GMT+1).