Senior Software Developer (Golang) // Form3
SENIOR SOFTWARE DEVELOPER (Golang)
While our official job title is that of Senior Developer, the role itself is much more than that, offering end-to-end ownership of our platform. Senior Software Developers at Form3 are tasked with building the next generation payment API in the cloud.
There are a wide range of problems to tackle, from configuring nginx proxies to writing custom payment routing and handling logic, and we contribute open source back to the community. We believe that the language you write the code in is just how you convey your solution to the computer and the real value is being able to think through a problem.
You will be working on new development projects, focused on best practice across the board, including automation of absolutely everything (Terraform for infrastructure deployments to AWS, CI/CD with contract-based testing and auto-deployment of services within Docker containers, etc.), pair programming and TDD/BDD. Although many of us live around London, we are operating as a remote team, and typically working from home and pair programming.
Our development team of over 20 people are all passionate about software, love to experiment with the latest technologies and enjoy solving interesting and challenging problems. Seeing as they all work remotely, they have to be great communicators and enjoy working in a collaborative team-environment.
go / java / python / ruby / aws / terraform / docker / kubernetes / Travis / TDD/BDD / Pair Programming
We try to pick the right tool for the job, and these regularly change but the below should give you a flavour of what we work with:
Some of the languages we currently use are: GO (and some Java, Python, Ruby)
Some of the tools we use: Terraform, Docker, Vault, Consul, Linkerd
Our platform runs in AWS where we use: SQS, SNS, EC2, ECS, RDS and others
- Polyglot: Choosing the right tool to solve the problem is critical, and we expect you to have professional experience with at least 2 different programming languages and multiple platforms and tools.
- Distributed architecture: We expect you to have previous experience engineering complex distributed systems, and a view on topics such as service discovery, integration testing, inter-process communication, how to define your services and APIs, as well as experience with distributed data stores.
- Public cloud: You have worked with public cloud services (AWS, Google Cloud etc.)
- TDD/BDD: Code quality is key, and we expect you to have worked with Test-driven development (TDD) and Behaviour-driven development (BDD) and be familiar with the use of tools such as Cucumber.
- Most of our code is written in Java and Go, so experience with either would be helpful
- All our services are built and managed as docker containers, so Kubernetes, and general docker experience is preferred.
- We like clean code, so experience with Event Sourcing/CQRS will be useful.
- We do contract-based testing, using tools such as Pact
- We work as a devops team, so experience in automating operations (such as infrastructure as code, automated monitoring and alerting, build pipelines etc) would also be useful.
- Competitive salary
- 100% Remote working
- 30 days holiday (+ Bank Holidays)
- Full Autonomy / flat structure
- Modern tech-stack
- Opportunity to work for a rapidly scaling tech-first FinTech