Software Engineer II
JOB SUMMARY
As a Software Engineer, you will collaborate with engineers, project managers, and product managers to find the best solution for our viewers. Your code is easy to read, well-tested, and applies best practices. Your documentation is clear and concise. You value good-faith collaboration and having excellent relationships with our partner teams. If this sounds like you, we would love to hear from you!
Responsibilities
- Actively participate in daily stand-ups and other scrum ceremonies.
- Collaborate with team members to design new solutions and drive alignment across partner teams.
- Participate in the breakdown and estimation of tasks.
- Communicate with team members on progress.
- Write code to implement new features or optimize existing services.
- Test code through various means: unit tests, integration tests, performance tests, etc.
- Participate in a 24/7 on-call rotation for our tier-1 critical services facing millions of users worldwide.
- Follow industrial standard processes for service operations regarding CI/CD, monitoring, and investigation of incidents.
- Perform code reviews for members of the team.
Basic qualifications
- Minimum of 3 years related experience crafting and operating backend services.
- Bachelor's degree in Computer Science, Information Systems, Software, Electrical or Electronics Engineering, or comparable field of study, and/or equivalent work experience.
- Able to design backend architectures.
- Knowledge of caching technologies.
- Strong grasp of computer science fundamentals (data structures, algorithms, databases, etc). Strong understanding of design patterns and principles.
- Knowledge of asynchronous programming.
- Demonstrated knowledge of object-oriented programming patterns.
- Knowledge of source control systems and CI/CD pipelines.
- Knowledge of AGILE/Scrum practices.
- Strong written and verbal communication skills.
Preferred qualifications
- Demonstrated knowledge of crafting and operating large-scale, high-availability backend services.
- Demonstrated knowledge crafting and operating JVM services.
- Experience with messaging technologies (e.g., Kafka, Kinesis, SQS, etc.)
- Experience with functional programming patterns.
- Experience operating within a Public Cloud Provider (e.g., AWS, Microsoft Azure, Google Cloud)
- Experience with observability tools for metrics, logging, and monitoring (e.g., Datadog, Splunk, Grafana)
The hiring range for this position is $107,256 to $165,440 per year. The base pay actually offered will take into account internal equity and also may vary depending on the candidate's geographic region, job-related knowledge, skills, and experience among other factors. A bonus and/or long-term incentive units may be provided as part of the compensation package, in addition to the full range of medical, financial, and/or other benefits, dependent on the level and position offered.