Senior Site Reliability Engineer
Engineering | Remote (or Athens, Greece) or (SoHo, London, UK) | Full Time
Are you ambitious, hungry and keen to begin a new chapter in your career? Are you looking for a remote work opportunity? We are looking for a Senior Site Reliability Engineer to join our energetic and ambitious team.
PeoplePerHour is the UK’s leading freelance marketplace. Founded in 2007, our vibrant community has over 2m users across 150+ countries, and we have paid out in excess of £100m to freelancers.
We are a purpose-driven business. Everything we do stems from our desire to empower people worldwide to live their work dream, building their business from the ground up and becoming financially and professionally independent. PeoplePerHour is an invaluable resource for small businesses in the UK and outside, giving them access to expert freelance talent on-demand. So they can stay lean and flexible while growing.
We work tirelessly to improve our community; not one day is the same and we grab opportunities with both hands and go after it fast.
Get to know us in a snap!
Ten years into our journey it still feels as if it’s day one. The freelance economy is still at its infancy. And we believe it will fundamentally change the way companies - large and small – work and think about the way they find and use talent. That is why we are reinvesting organic profits into breaking out into new sectors & segments. Our newly launched product, Talentdesk.io, is the enterprise solution to manage their temporary and permanent workforce in a more efficient and cost-effective way.
The way we do things at PeoplePerHour
We can not revolutionise the job space without first starting a revolution ourselves - internally! We are PeoplePerHour. We encourage all people around the world to live their work dream and achieve autonomy! And we are the first to champion it!
We seek our team members to have an explosive career path and progression and we have set up specific evolution steps to make sure we achieve it - together.
Our teams are small, empowered and autonomous. We allow teams to define the methodology desired and used. From scrum to kanban, as well as other practices such as test-driven methodologies and pair programming, you will be the one defining it and you will be the one guiding us towards it!
Joining PeoplePerHour, you will find great colleagues to assist you technically and psychologically to achieve your goals! Our environment enhances knowledge, friendliness and excellence - even if it means spending a bit more time to achieve perfection!
We believe our product needs input from every source, so we encourage open expression, ideation and participation in order to achieve great user experience in our product. We encourage everybody to play a part in changing the way people and businesses work across the world.
Finally, we always give back. We encourage open source contribution and provide the time to achieve it. What comes around goes around...
We constantly use bleeding edge technology and at the same time, we endorse experimentation. Our internal monitoring systems make sure all our experiments are performed in isolation so hey, go nuts!
This is an outline of our current tech:
- Our web app is in ReactJS using Redux and supported by NodeJS
- Our Back end is in PHP using Yii, Laravel, and lumen
- We use ReactNative for our mobile app
- All our apps are dockerised
- Our servers work on Kubernetes - the master of the universe!
- We like microservices. It is our way to move from a legacy monolith to a Services Oriented Architecture and to modernise our stack
- We like serverless technologies even more
- We use databases of all sorts to suit our needs: MySQL, Aurora, ElasticSearch, Redis, DynamoDB.
- Data Science is our way to the future! Our projects run on Java and Python and also consume a number of third-party tools!
If you are curious to find out more about our tech stack, keep reading in our blog.
About the role
We are looking for an experienced Site Reliability engineer to join our team and work remotely. As a Site Reliability engineer, you help automate away toil , build diagnostic tools and be a bridge across teams to ensure the right people are in the know at the right time. You will contribute to our core Application, our microservices, serverless parts of our stack and also interact with a multitude of databases.
Our core application is written in PHP, using the Yii framework and we also have a number of microservices built on the Yii, Laravel and Lumen frameworks. We strive to use serverless technologies, ranging from Nodejs lambdas to complicated ETL operations.
Our databases are our horsepower, so you will closely engage with increased data loads on MySQL and Aurora databases while using our ElasticSearch cluster to perform search operations.
The final product is assembled and dockerized by the CircleCI pipeline to deliver the best performance and experience to our users.
- You act like an owner and are selfless while being accountable and goal oriented
- You are a team player and do not throw the ball over the fence.
- You love honesty, hate sugar coating and constantly try to raise the bar.
- You are proud of the code you produce. Admittedly, nothing is perfect and so refactoring is your friend. You always like to leave the code better than you found it, in fact, it’s how you code every day.
- Prevent unscheduled system downtime, achieve good system availability and performance.
- Maintain the infrastructure and development environment - Keep things running smoothly, tackle pain-points.
- Participate in our out-of-hours support roster and on-call duties and responsibilities. Respond to outages and errors.
- Monitor system health and performance, setup alerts, architect for stability. Do proactive monitoring, not only reactive activities.
- Improve system observability, capture logs and data, expose them to the team. Glean insight.
- Security - The team is ultimately responsible for system security. Raise awareness in team of the importance of a secure system.
- Enforce engineering excellence and quality, ensuring teams are delivering high value results.
- Work with internal teams in the design phase of software to advise on architecture/infrastructure/security decisions.
- Manage software upgrades - Replace out-dated, deprecated or retired systems and software.
- Reduce infrastructure costs - capacity planning, infrastructure optimisation.
- Have 5+ years experience working in a large scale web application and deep understanding of how the web works.
- Have 3+ years experience working within AWS, with experience of the most common AWS services.
- Have previous experience working with microservices - we need expertise in adopting a Services-Oriented Architecture.
- Be strong with Docker including building dockerised apps and running docker in production.
- Strong understanding of architecting a web app optimised to run in containers. i.e. the 12-factor app methodology.
- Have prior knowledge of solving scalability problems.
- Have Advanced GNU/Linux knowledge, comfortable with the CLI and shell scripting.
- Be strong with networking, DNS principles and the HTTP(S) protocol.
- Be security minded. Web app security, Linux server security and Cloud security. Educate others on security improvements.
- Appreciate the benefits of Infrastructure-as-Code, supporting our Terraform culture.
- Work with incident response, doing postmortems with a blameless culture.
- Have aptitude for capacity planning to analyse and reduce infrastructure costs.
- Manage our Automated Tests: Maintain and improve our CI/CD pipeline to test and deploy new services efficiently.
- Have a strong understanding of relational databases including query optimisation skills.
- Be comfortable with Git, enough to coach other team members on git usage.
- Value site uptime, understanding that it is the most important metric for this role.
- Think analytically and methodically with high attention to detail.
- Understand the importance of reducing toil by aggressively pursuing automation.
- Take extra time to consider out of the different solutions which one is the simplest. Less is more.
- Refactor problematic, incomplete parts and constantly improve our codebase. Reduce technical debt.
- Deliver testable, efficient, reusable, high quality and easy to read code.
- Contribute to our tests, Unit tests, integration tests, etc.
- Follow coding standards and apply good practices.
- Measure and improve performance, using tools like New Relic and Kibana.
- Review the code of fellow devs to promote code quality.
- Help with design decisions, particularly for our API.
- Assist developers so they can build software smoothly.
- Keep a eye on new technology, especially new AWS services and propose how to capitalise on it for a simpler / faster / cheaper system.
Bonus points if you:
- Have prior experience with Kubernetes.
- Worked with serverless environments before.
- Have a track record of team leading and supervision.
- Have prior experience managing ElasticSearch clusters.
- Have used DynamoDB, MongoDB or other NoSQL database to store application data.
- Have performed Penetration testing before.
- We pay a competitive base with yearly pay reviews and equity
- We will let you select your perfect work set-up
- Remote / Flexible work - freelancing is all about flexibility after all...
- Build your own profile and skills. We serve freelancers and we understand how vital constant learning and improvement is! We have several events and conferences in our calendar all paid for!
- Work with great colleagues of excellent caliber and ambition, they will teach you from writing high-quality code to getting that cappuccino foam just right!
What should you do next?
- If you feel this is the right role for you, please submit your CV.
- Next, we set up a phone interview with one of our engineers. This will focus on your technical skills and culture fit.
- As part of our dedication to the diversity of our workforce, PeoplePerHour is committed to Equal Employment Opportunity without regard for race, colour, national origin, ethnicity, gender, disability, sexual orientation, gender identity, or religion
Deadline for applications: 01.02.2019.