Job Description
As a Software Engineer on our Automation Team, you will help us improve our platforms that support websites and media operations for major companies. We firmly believe in the DevOps mentality and are looking for Engineers who not only want to build platforms, but also the tooling and systems that allow us to test and operate them. You can expect to be hands-on in supporting and debugging our systems, and you will also need to understand how our systems are used to ensure we build what we need. We are distributed globally and operate as remote-first team. As with all our team members, you’ll be afforded the opportunity to learn, and to practice sharing that expertise with other team members in multiple structured and informal teaching forums. You will report to the COO. This is a remote role.
Responsibilities
- Working inside the team and across teams and departments to develop solutions that best meet our users’ needs and will be easy to operate
- Ensuring our applications are following best practices, applying technology and frameworks, and are fitting well into our existing platforms
- Monitoring our applications and systems and overseeing responses to incidents
- Identifying platform health issues and proposing solutions to improve upon them
- Communicating with other teams, partners, clients, and vendors on technical matters to facilitate implementation
- Producing technical documentation artifacts
- Helping coordinate team activities to complete sprint goals
- Taking on leadership opportunities: teaching, sharing concepts, coaching others, presenting
Qualifications
- Five years of experience in software development; demonstrate successful design, build, rollout and ongoing delivery of business-critical applications and data pipelines starting from raw requirements
- Experience working in an Agile/Scrum environment
- Experience with languages like Python, C#, and JavaScript
- Professional experience using web application frameworks (Django, Flask, .NET, and Express are ideal, but others are acceptable also) to build high-traffic websites and applications
- Experience using orchestration frameworks (Airflow is ideal, but others like Azure Data Factory are acceptable also)
- Professional experience with JavaScript libraries for building user interfaces or UI components (React is ideal, but others like Vue.js are good also)
- Experience developing the front end of applications including an understanding of CSS and compilation patterns (Sass, Webpack, etc.)
- Familiar with containerization platforms like Docker and container orchestration services like Kubernetes
- Experience with cloud-based infrastructure services for application operations
- AWS: Lambdas, S3, RDS, IAM, KMS, etc. (required)
- Azure: App Functions, Blob Storage, Azure SQL, Authentication/AD, etc. (desirable)
- Knowledge of engineering practices like iterative releases, test-driven development, continuous integration, and the use of version control systems (Git/GitHub is our primary system)
- Understanding of secure application development practices.
- Experience promoting operational tooling for applications (build/deployment/configuration, logging, monitoring)
- Experience documenting engineering designs and logic with industry-standard modeling frameworks
- Experience constructing automated test cases with testing frameworks
- Non-trivial experience with any SQL-based RDBMS (PostgreSQL experience is especially useful)