Senior Software Engineer, Trusted Computing Products, X1
Senior Engineer, Trusted Computing Products
The Comcast Trusted Computing platform secures X1, the best Cable TV experience on the market. The Trusted Computing Products team is responsible for all aspects of the architecture, design, development, and operations of the identity provisioning and authentication, content encryption, and DRM license services that back the secure video delivery on Comcast's X1 platform. Our deliverables include a group of distributed and highly-scalable hosted services, as well as client-side and embedded systems work that enables best-in-class video experiences across a diverse set of platforms.
Trusted Computing Products and X1 fall within Comcast's Technology, Product, and Experience (TPX) organization. We are a diverse team with a laid-back work environment, casual attire, flexible work hours, and great benefits.
A Senior Engineer on the Trusted Computing Products team is a talented and self-motivated individual with a strong technical background, demonstrated mastery of computer science fundamentals, and a history of successful contributions in a fast-paced and large-scale environment. Depending on the Engineer's experience and interests, a project portfolio could include direct responsibility for architecture, development, and maintenance of server- or client- side components. This is a unique opportunity to contribute to multiple platforms in a world class system and practice security systems engineering.
- A minimum of five years of experience as an active contributor during all phases of the software development lifecycle, with the ability to describe specific and detailed individual contributions in the areas of architecture/design, development, testing, release, and maintenance.
- Detailed knowledge of the HTTP specification and the RESTful style, including protocol basics, standard headers, content negotiation, and common techniques for securing HTTP-based applications.
- A thorough understanding of basic data structures and a high-level understanding of their implementations. Experience and proficiency with common algorithms and their relative tradeoffs.
- Proficiency with object-oriented development, data modeling, and design patterns.
- Experience working in one or more data serialization formats (e.g. XML, JSON, or ASN1), and defining associated document structures and serialization routines.
- Experience designing and building systems for highly available multi-site deployment environments, a solid understanding of the network architectures that support such systems, and familiarity with techniques for tuning application performance in a distributed environment.
- A sense of proud ownership and an ongoing desire to proactively enhance products and processes.
- Strong English communications skills, with the ability to clearly, concisely, and accurately describe advanced technical concepts to diverse audiences in speech and in writing.
- A Bachelor's degree in Computer Science or a related field.
- A minimum of ten years of experience as an active contributor to a software development team.
- Experience leading a software development team or sub-team.
- Mastery of a garbage collected C-like language (e.g. Java, C#).
- Experience operating in a Linux/Unix environment, including basic system configuration and scripting.
- Experience building applications that leverage an RDBMS (e.g. Oracle, SQL Server, MySQL).
- Experience working with standards-based cryptography and trust primitives (e.g. PKCS, TLS, X.509) and with one or more widely-used cryptographic libraries (e.g. OpenSSL, Bouncy Castle).
- Experience working with standards-based authentication protocols and primitives (e.g. OAuth, WS-Security, JWT, SAML).
- Experience authoring and refining technical specifications.
- Experience mentoring junior developers and participating in the hiring process.
- A Master's degree in Computer Science or a related field.
Comcast is an EOE/Veterans/Disabled/LGBT employer