Comcast brings together the best in media and technology. We drive innovation to create the world's best entertainment and online experiences. As a Fortune 50 leader, we set the pace in a variety of innovative and fascinating businesses and create career opportunities across a wide range of locations and disciplines. We are at the forefront of change and move at an amazing pace, thanks to our remarkable people, who bring cutting-edge products and services to life for millions of customers every day. If you share in our passion for teamwork, our vision to revolutionize industries and our goal to lead the future in media and technology, we want you to fast-forward your career at Comcast.
We are creating a flexible, extensible Notifications System that operates at scale. The system supports sending notifications via mobile push (Apple, Google/Android), SMS, email, and X1 (the Comcast TV “operating system”). We currently send hundreds of thousands of messages every day to notify users of sporting events that involve their favorite teams. Future use cases will include notifications for Olympics events, notifications to let users know when their favorite movies become available to buy or rent and when they become cheaper or free. The team is a small, tight-knit group that works out of our Sunnyvale, CA office. We’re looking for a highly skilled software engineer to join us in designing, developing, and operating this Notifications System. The ideal candidate is someone who wants to make an impact and own large portions of the code and system, and help us conceive, architect, design, and build new features and functionality and support new use cases while helping operate our production system.
We’re serious about our work but don’t take life too seriously. Come join us.
Employees at all levels are expect to:
Understand our Operating Principles; make them the guidelines for how you do your job
Own the customer experience-think and act in ways that put our customers first, give them seamless digital options at every touchpoint, and make them promoters of our products and services
Know your stuff-be enthusiastic learners, users and advocates of our game-changing technology, products and services, especially our digital tools and experiences
Win as a team-make big things happen by working together and being open to new ideas
Be an active part of the Net Promoter System-a way of working that brings more employee and customer feedback into the company-by joining huddles, making call backs and helping us elevate opportunities to do better for our customers
Drive results and growth
Respect and promote inclusion and diversity
Do what's right for each other, our customers, investors and our communities
Have solid communication skills, both oral and written
Lead problem solving and resolution of any day-to-day architecture, design, code, testing, or operational issues
Have the ability to write design proposals for any significant changes or new work and to review with the team and achieve consensus
Have the ability to understand and communicate the operational feasibility and important considerations for all new features and changes
Have the ability and willingness to participate in a process to continually improve the processes and performance of the team
Required Technical Skills:
Experience with NodeJS
Experience with Express or similar NodeJS middleware
Experience with AWS Aurora, MySQL, or similar database
Experience with Redis or similar NoSQL database
Experience with AWS, especially EC2, CloudFormation, CloudWatch, SQS, Lambda
Experience developing, testing, and deploying APIs
Experience building systems based on a micro services architecture
Experience with Docker
Designs and implements the platform supporting multiple tenants and multiple applications developed on top of the platform.
Achieves reliability and performance in delivering notifications to hundreds of thousands of users about their subject of interest.
Owns the whole development workflow of multiple services/components of the platform.
Designs forward looking APIs for mobile clients.
Deploys, runs and manages a multi-service platform for user notifications in AWS Cloud.
Designs and develops a data-driven application development platform.
Designs, optimizes and manages polyglot persistence for the platform.
Develops and optimizes asynchronous message processing in a data pipeline serving notifications delivery.
Implements creative ideas to help build the applications on the platform and help improve the platform-Collaborates with project stakeholders to identify product and technical requirements. Conducts analysis to determine integration needs.
Designs new software and web applications, supports applications under development, and customizes current applications. Assists with the software update process for existing applications, and roll-outs of software releases.
Participates in training representatives and operations staff on internally developed software applications.
Researches, writes and edits documentation and technical requirements, including software designs, evaluation plans, test results, technical manuals and formal recommendations and reports.
Works with Quality Assurance team to determine if applications fit specification and technical requirements.
Displays knowledge of engineering methodologies, concepts, skills, and their application in the area of specified engineering specialty.
Displays knowledge of, and ability to apply, process design and redesign skills. Presents and defends design and technical choices to internal audiences.
Displays knowledge of, and ability to apply, project management skills.
Consistent exercise of independent judgment and discretion in matters of significance.
Regular, consistent and punctual attendance. Must be able to work nights and weekends, variable schedule(s) as necessary.