COMPANY AND PROJECT DESCRIPTION
Client offers scale and automation on a pay-for-performance model that delivers the operating leverage necessary for brand survival. Client empowers marketers with technology built to discover, engage, and convert audiences, at scale, all while maintaining brand safety and control.
Client’s main goal is to track performance marketing data and build a number of solutions to turn the data into useful information for customers. They aim to make as much data available in real-time as possible. The platform is powered by REST APIs and everything is developed with an API-first approach. The front end technologies used are React and TypeScript and there is a strong emphasis on testing – unit testing with Jest, end-to-end testing with Cypress. JSS is used to keep styles declarative and encapsulated and data is stored in MySQL, PostgreSQL, Druid and Redis.
WORK SCHEDULE
- Mon – Fri 9am – 5pm BST.
REQUIRED SKILLS
- 2+ years of experience with React/Redux and TypeScript
- HTML, CSS/JSS
- Webpack, Babel and the NPM ecosystem
- Experience with Agile and Lean delivery approaches and modern engineering practices, such as clean code, TDD, refactoring, Continuous integration
- Experience in developing and consuming REST APIs
- Ability to communicate in a concise and focused way, listen to others, and practice patience
- Positive attitude and good work ethic
- Upper-Intermediate English proficiency
WOULD BE A PLUS
- Bachelor’s degree in Computer Science, Information Technology, Statistics, or related fields
- Personal code visible in your github profile
- Passion for close collaboration with QA engineers and Product managers
- Ability to break down a complex problem into more manageable chunks
DUTIES AND RESPONSIBILITIES
- Work as a part of a cross-functional, delivery-focused team with engineers, QA and Product managers working together using Agile principles in a highly autonomous and collaborative environment
- Write clean, well-tested and refactored code
- Collaborate closely with the Lead Software Engineer on designing new features and seeing them through to completion
- Take initiative to identify and solve important problems across teams
- Proactively identify and tackle technical debt to prevent future issues with cost of development
- Share knowledge, code and ideas across other teams
- Ensure code quality through merge requests