Senior Back-End Engineer - Remote (EMEA) at PeoplePerHour.comPosted on: 03/24/2021
Location: remote (REMOTE)
Tags: crud redux lambda laravel serverless composer php redis python etl mysql nodejs dynamodb elasticsearch docker aws circleci graphql kubernetes
Senior Back-End Engineer - Remote (EMEA) Are you ambitious, hungry and keen to begin a new chapter in your career? We are looking for a Back-End Engineer to collaborate with the members of our Back-End team remotely. About Us 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 See what they say about us in the news: [www.forbes.com](http://www.forbes.com) and CNBC Hear from our customers directly This is how we celebrate success: PeoplePerHour 10 year birthday party Don’t miss out on our latest TV ad Future Plans Fourteen 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 new 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 cannot revolutionize 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! 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. Our Tools We constantly use cutting 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 applications are dockerized * 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 As a backend engineer you will contribute to our core application which is built with PHP using the Yii framework and extend our REST API that serves the ReactJS and ReactNative clients. You will also work on a handful of services and serverless applications that mainly serve the core application. These are built using the Laravel, Lumen and Yii2 frameworks. The role involves writing code that interacts with several databases, mainly MySQL (Aurora), DynamoDb and ElasticSearch to perform actions that range from plain CRUD to complex ETL operations. The final product is assembled and dockerized by the CircleCI pipeline to deliver the best performance and experience to our users. Consider these four points to give this role a closer look * You will work with a team of creative and open-minded people who will appreciate and value your opinion. * You will participate in an agile team and develop features based on our roadmap. * You will deliver high quality scalable and well-tested code by following our comprehensive coding standards and principles. * Oh and.. we have a few more services to work with such as Redis, Redshift, DynamoDB, Kinesis, Lambda so as to increase the number of tools available. Cool, right? If you want to impact real people’s lives, then this might be the right job for you! About you * 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 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. Ideally, you’ll * Have experience working in a large scale web application and a deep understanding of how the web works. * Have excellent knowledge of PHP and Composer. * Have used extensively at least one popular PHP framework, preferably Laravel and/or Yii. Hands-on experience with the Yii framework is a plus. * Be a knowledgeable relational database user, particularly of MySQL. Bonus point if you have any experience with ElasticSearch or other databases. * Have experience using REST and the JSON API standard. Experience using GraphQL is a plus. * Be using Git and Docker to build applications. * Be familiar with several services provided by AWS. Any experience with serverless tools is a plus. * Have an understanding of authentication methods, application caches, and message queuing * Be able and eager to contribute to Unit and integration tests. * Be a confident user of debugging & profiling tools like Xdebug. And you’ll * Think analytically and methodically with attention to detail. * Refactor problematic, incomplete parts and constantly improve our codebase. * Read, understand & debug code. * Follow coding standards and apply good practices. * Deliver testable, efficient, reusable, high quality and easy to read code. Perks A few of the many perks of joining the PeoplePerHour team: * Competitive salary * Flexible work - freelancing is all about flexibility 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 at least one of our engineers so that you get the chance to experience our culture and meet part of our team. This will focus on your technical skills and culture fit. Following that, you will take a code test at home and if successful, you will have another meeting with a member of the team to discuss on the submitted code and any other questions you may have. Final step and interview will be with our CTO. 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.