Hybrid Senior Software Engineer Senior Software Engineer with verification
Red Badger · nan, · Hybrid
About the job
Ideal start date 15th August - 6 > 12 months + R day rate - Remote working with London Team
This is a 12 months delivery project. It's a stabilisation, refactoring of an App which is a lifestyle product. We will also build new features and a product roadmap following on from discovery phase.
You will be joining a team of 5 Badger Consultants (Based In London) as a Senior engineer (alongsife Tech Lead / Delivery Lead / Product / UX / 2 x Senior engineers / 1 x Mid Engineer) working in a pragmatic version of Agile.
You must be experienced with these technologies and frameworks >
- Elixir
- Phoenix
Remote working (with team in London and other remote engineers in South Africa)
Immediate Interviews
The best bit about Red Badger is, of course, the team. We are really proud of our people; we support and learn a lot from each other; we work really hard but have fun doing it. We are a diverse group made up of 22 different nationalities, speaking 17 different languages.
Our 3 founders, Dave, Cain and Stu, who have considerable tech and consultancy experience and still own 100% of the company. We’ve been consistently profitable and have grown responsibly from the beginning.
We are based at Old Street in the heart of “tech city” and get thoroughly stuck in with the brilliant community around us. We run several meetups including the hugely popular React London, invite other groups to host their events in our office such as Lua London and Ladies Who Code and speak at events like Digital Shoreditch and LNUG.
The Role
We’re looking for a Freelance Senior Software Engineer to join our digital product delivery function. Red Badger builds high-quality digital products using a lean delivery process and multidisciplinary, cross-functional teams. The work we do for our clients involves dealing with the core complexities of their business and the technology we employ varies from project to project.
You will be a polyglot with extensive experience across a wide range of technologies and projects and will relish tackling and solving tough problems, digging deeper into areas you already know as well as expanding your skills into different languages, technologies and practices.
You’ll be comfortable designing and articulating solutions, working closely with clients to ensure we’re delivering the right thing in the right way. You will lead by example; getting your hands dirty in the code, inspiring your peers & educating our clients.
You are passionate about the craft of software development and contribute to technical and non-technical discussions that help shape the direction of digital product delivery. You are able to work independently, as well as collaboratively, on user stories within an agile delivery environment and are versed in modern software delivery practices. You care about creating quality software that meets the needs of our client’s vision and goals, in a thoughtfully pragmatic way.
As well as contributing to production-grade code bases, you will also be proactive in working directly with the client to help shape and move the project forward and, where required, helping to up-skill and embed good development practices within existing, newly formed or client/Badger blended cross-functional teams.
Key Responsibilities
Discipline Expertise
- Providing engineering expertise and experience as a member of a cross functional delivery team, working alongside other engineers, designers, QA, delivery lead and a tech lead
- Employ modern development practices to ship high-quality software
- Ability to adapt to new languages and frameworks
- Choosing the right technology for the job, striving for simplicity
- Starting or continuing your journey as a line-manager
- Coach & support peers
- Providing support for digital products once they are live (depending on client needs)
Agile Ways of Working
- Pair programming with other members of the team, including designers and QAs
- Own the delivery of user stories end-to-end, working with agile principles
- Leading and supporting your peers in technical decisions
- Be an advocate for lean software development, building for what is required now
- Help break large deliverables into small, lean incremental user stories
- Actively contribute to agile ceremonies
Consulting with clients
- Proactively engage with clients to shape and move the project forward, including giving updates on the delivery progress and highlighting potential technical blockers
- Upskilling and embedding modern software practices in client teams where necessary
Your experience
It’d be great if you have experience with:
- Frontend web technologies (e.g. Javascript, Typescript, CSS, HTML, etc.)
- Frontend web frameworks (e.g. React, VueJS, etc.)
- Backend technologies (e.g. Node.js, Go, Rust, etc.)
- Relational and Non-relational databases (e.g. ElasticSearch, Redis, PostgreSQL, etc.)
- System architecture approaches (e.g. microservices, event sourcing, serverless, CQRS…)
- Virtualisation and orchestration tools (e.g. VMs, Docker, Kubernetes, etc.) and infrastructure as code (e.g. Terraform, Pulumi)
- CI/CD pipelines (e.g Jenkins, CircleCI, Github Actions, etc.)
- Effective source-control management using Git
- Test automation following Test Driven Development practices including unit testing, API testing, and end-to-end testing
- Working with lean and agile practices (e.g. Kanban, Scrum, etc.)
- Collaborating in cross-functional teams
It’d be amazing if you can also:
- Make use of modern UI data layer technologies (i.e. Relay, GraphQL, Apollo, etc.)
- Design, build, debug and help contribute to evolving cloud based architectures following Everything-as-Code principles
- Design an agile release engineering strategy that delivers value incrementally and continuously
- Support a highly-available live production system, respond to alerts, diagnose problems using logs and observability tooling, triage and resolve incidents