Software DeveloperFull-Time Position Closing date:
Who are we and what do we do?
Our mission is to help raise funds for charities and good causes and increase awareness of their work. Players of People’s Postcode Lottery have raised more than £700 million for 9,000 good causes since 2005. This funding is transforming lives and communities in Britain and beyond.
Together Novamedia, the creator and owner of the Postcode Lottery format, and the Postcode Lotteries – in the Netherlands, Sweden, Britain, Germany and Norway – was ranked the third largest private charity donor in the world and the second biggest in Europe in 2019/20.
Be part of the People’s Postcode Lottery team
We work to create an environment and culture where everyone is able to perform at their best. We were ranked ninth in The Sunday Times Top 100 Best Companies to Work For in 2019. Since the beginning our core values of Fun, Courageous, Sharing and Sustainable have shaped our culture and everything we do.
Each year, we invest up to 4% of salaries into training and development opportunities that will stretch and challenge people at every stage of their career.
In addition to an exciting career, we offer a generous pension, private health insurance that rewards you for being active, life assurance, free gym membership, leisure and entertainment discounts, 36 days holiday plus your birthday off and much more.
We are looking for a talented developer to join our innovative development team creating the next generation of systems in the cloud for People’s Postcode Lottery. We believe in building great products that deliver measurable value to our users quickly and reliably.
We are delivering a modern, secure and scalable software platform using AWS cloud-based technologies and serverless microservice architectures. Your role will primarily involve building backend services in Python. We expect everyone to grow in their roles – we develop our infrastructure as code and support it after go-live.
We work together to plan sprints, refine the backlog, and build product features. We expect everyone to create and maintain tests and pipelines and adopt practices to continuously improve. You will collaborate closely with your team and with others in the organisation, so we’re looking for a great communicator.
We work at a sustainable pace and we spend some of our working time, every week, learning new things. We’ll support you in achieving industry recognised qualifications.
You will join our team building the portal that our customer-facing colleagues use day to day and migrate data out of the historic system (PostGreSQL databases) and into forms that suit our new missions (a mix of PostGres and NoSQL databases). We have responsibilities for our software from conversations with the architects defining the wider system through to testing, populating and supporting after delivery. We are encouraged to look at new ways to make our software easy and quick to support.
Our mission follows our colleagues, and they do a lot to look after our customers. We work to ensure the information our players trust us with is accurate and secure. We find that working with the people using our software guides us to unexpected opportunities. It also keeps us alert to new challenges, we were able to pivot to use all in-database search tools within a few weeks last year which pulled several Sprints out of our release schedule, a few orders of magnitude from our product’s worst-case performance and delighted our users. We’d like you to come help us do that again.
We are looking for
You won’t necessarily have all the following but don’t let that put you off applying. We would like to see well-rounded candidates and not someone that satisfies a checklist.
- Proficient in Python. We use Python for our backend
- Experience developing frontend web applications and care about UX. We use React as our frontend
- You have either consumed and/or built REST APIs and are comfortable working with backend services
- Worked with one or more data persistence technologies e.g. RDBMSs, key/value and document stores, and files systems. We mainly use PostgreSQL, AWS DynamoDB and S3
- Can write automated tests at one or more levels of the testing pyramid. We use Pytest, Jest and others
- Offer constructive feedback to your fellow team members in code reviews and pairing sessions. We are an agile team and run regular retrospective and planning sessions
- You understand the lean approach to product development; working in small batches, incorporating end-user feedback into product design and continuously improving product and processes.
- You have experience developing frontend web applications and care about UX. We use React as our frontend
- You know about containerisation. We use Docker and AWS Fargate
- Understand the lean approach to product development; working in small batches, incorporating end-user feedback into product design and continuously improving product and processes
- You want to use continuous delivery methods: deployment automation, continuous integration, trunk-based development, loosely coupled architecture, and the use of version control for all production artifacts. We love this and try to automate the process as much as we can. We know it is a journey and use Jenkins to help us
- You can use git to manage your commits and are comfortable working with Linux and Mac. We have MacBook Pros for our development environment.
What interests us
You won't need all of these but exposure or interest in some of them would be nice.
- AWS (CDK, Lambda, DynamoDB, SQS, Kinesis), LaunchDarkly, Jenkins, Typescript, ElasticSearch, Kibana, GraphQL, Java/Maven, UX, material design
Office hours for this role are 9am-5.30pm, 37.5 hours per week with options to work flexible hours outwith the boundaries of core business hours (10am-4pm). We offer flexibility and can also support working from home on occasion The product streams operate “you build it you run it” which means that sometimes we might need your help outside of office hours, we strive to minimise these, as work-life balance is important to us.