Lead Software Engineer

Secret Escapes

  • Locations
    • London
    • Berlin
    • Remote
  • Date Posted
  • 19 Mar 2021
  • Function
  • Software Engineering

We are looking for a strong technical person with team management experience to join our technical team as a Lead Software Engineer. This is an amazing opportunity to work in a fast paced environment towards strategic goals by taking technical ownership over areas such as Pricing and Payment, while managing one of our product delivery teams.

About Secret Escapes

Secret Escapes is the UK’s biggest members-only website that runs best-in-market sales of four and five star hotels and holidays worldwide. We offer our members exclusive rates of up to 60% off.

We're looking for hard working self starters to join the team, who can keep up with the pace and want to make a difference. We still work in relatively small teams, so there's no room for coasting along. We're friendly, happy, and most importantly, we work hard. We're not afraid to be hands-on and we're all genuinely passionate about our brand.

How the magic happens

We are a geographically distributed team with people working in London, Berlin, Bristol, Poland, Macedonia, Spain, Ukraine so you will likely be working with some remote people on a daily basis. Between all of us we speak more than 10 languages!

Our delivery teams are responsible for generating ideas and solutions to strategic and tactical business problems such as revenue management. It is a creative and collaborative process where Product Managers, Interaction Designers, and Engineers work together to experiment, innovate and ultimately deliver value to our members and suppliers.

We have consciously adopted the principles of Lean and agile and applied them to our day-to-day work as needed. Test-driven development, continuous integration/deployment, pair-programming, discovery/delivery dual track development, A/B testing are some of them. At the same time the business growth has introduced brand new challenges to our systems so lots of interesting work is happening at the architecture level as well. Domain driven design is an approach we have been also borrowing a lot of ideas from!

Continuous improvement is at the core of our culture.. It is important for us that every member of the Tech department is always growing both technically and professionally. We support this by organising ourselves in Communities of Practice (architecture, process, user research, automated testing), but also offering a generous training budget.

Our business is running on a number of systems built and supported with a wide range of technologies. Check out our tech stack here.

Responsibilities

  • Providing direction and apply technical expertise in the design, implementation and delivery of software
  • Along with Product Managers lead on the scoping and estimate ideas and solutions
  • Being accountable for the performance of the team
  • Play a leading role in the growth and development of software engineers through mentoring and constructive feedback
  • Working with peers to address common issues and shape best practices and standards
  • Actively participate in and champion our Communities of Practice
  • Building and promoting healthy relationships with stakeholders
  • Identifying areas of improvement for team members and work with the relevant line managers to create development plans
  • Providing transparency to the rest of the team and the organisation
  • Learning new technologies and help introduce them where appropriate
  • Actively participating in the recruitment efforts of the team

Deal Breakers

  • Fluency in JVM languages (Java, Groovy) but open to working with other languages such as Python and Javascript
  • Excellent software engineering knowledge & skills: OO programming, MVC and clean architecture patterns, design patterns, SOLID, and clean code
  • Prior experience in leading a product development, cross functional team
  • Technical and business oriented communication skills adaptable to both tech and non-technical audiences
  • Appreciation and familiarity with the values and practices of agile and lean ways of working
  • Experience is using actionable metrics within the team to drive improvement efforts
  • Experience in working with MySQL, MongoDB, Redis
  • Familiar with AWS technologies - Lambda, Cloudfront, S3, SQS, SNS, and more

Nice to haves

  • Adept at Test Driven Development and comfortable with pair programming
  • Some exposure to GraphQL
  • Experience with Jenkins, Docker, Terraform, Ansible, AWS
  • Some knowledge and appreciation of domain-driven design concepts
  • Experience building and maintaining event-driven applications
  • And you are...
  • You are a self-starter who enjoys a rapid pace and wants to make a difference
  • You are comfortable with tackling ambiguity and complexity and you champion simplicity
  • You have a continuous improvement mindset. You appreciate that there are always ways to do things better and ensure your team does too
  • You are biased towards action
  • You appreciate that your code enables a business and care about how it will be used
  • Have the ability to come up with technical solutions f balancing different factors such as business requirements, technical integrity, overall priorities etc
  • You are willing to explore new ideas and try out new tools
  • You appreciate the opportunities and challenges of a distributed work environment
  • You are solution focused with a pragmatic approach to problem solving
  • You can prioritise tasks and work on your own
  • You’re a team player!