Principal Software Engineer - Core Application Programs
As a Principal Engineer working in the Core Application Platforms (CAP) team, you will be building next generation application building blocks to help other teams with faster delivery of reliable, performant, and scalable software products. You will be a technical leader on the team, having a large amount of input on technical design decisions and serving as a liaison to our stakeholders, primarily other development teams. On our team, leadership is earned and not appointed; your communication and collaboration skills are just as important—if not more important—than your technical skills.
Comcast is in the process of consolidating its software build and delivery solution to a single centrally managed platform. This platform will be used to enable the adoption of best current practices pertaining to the building, testing and deploying of software assets across Comcast’s 800+ software development teams. As part of this project team, you will be responsible for the following:
- Developing tools and plugins to support easy adoption of the delivery platform
- Advocating for the adoption of the central delivery platform using a combination of training, documentation and client engagement tasks
- Operating the central delivery solution as a highly available, performant and scalable platform
- Contributing back to the upstream open source project
We are actively seeking a diverse set of candidates to join our team. If you’re not certain that you’re qualified for the position, please err on the side of applying.
The CAP Team:
- We value usable and working solutions now over a perfect solution later
- We value using good enough open source software over perfect commercial software
- We value diversity of opinion over group consensus
- We value being able to pursue a plan together over everyone agreeing that the plan is the best one
- We value context and responsibility over management visibility and direction
- We start from the assumption that someone, somewhere has already figured out a solution to this problem; we value using their results over rediscovering them ourselves
- We value actively and humbly seeking and appreciating honest feedback over preserving our egos
- We value making decisions with research and reason over tradition or fear; we are fans of the scientific method
- We value building it right over building it fast
In addition to the project specific responsibilities, other general responsibilities include:
- Producing technical designs and documentation at varying levels of granularity
- Writing production-quality, tested code
- Performing code reviews
- Collaborating with our technical operations teams to provide outstanding customer service
- Working with business stakeholders to understand their roadmaps and identify critical technical capabilities that need development.
- Resisting the accrual of “technical debt” in our systems.
- Working with product development teams to assist them in meeting their business goals through judicious application of CAP technologies.
- Mentoring more junior members of the technical staff.
- Building proof-of-concept systems or conducting exploratory experiments with new technology.
- 8+ years of relevant work experience, including extensive programming experience and strong object-oriented skills.
- BS in Computer Science, Computer Engineering or related technical field
- Proficiency in automated testing and Continuous Integration and Continuous Delivery (CI/CD) practices
- Deep knowledge of deployment and debugging in Linux container environments
- Deep understanding of security best practices
- Excellent software development skills, in a diverse set of programming styles (procedural, objected-oriented, functional). Experience with Java, Scala, Python/Ruby, and bash shell scripting a plus.
- Experience developing service-oriented architectures and an understanding of design for scalability, performance and reliability.
- Experience with high-scale, distributed web service development (hands-on experience with RESTful web services)
- Experience with Agile development methodologies and practices (refactoring, TDD, pair programming).
- UNIX/Linux background: facility with command-line utilities; familiarity with system administration tools and concepts a plus.
- Familiarity with distributed systems, asynchronous messaging, and network protocols.
- Familiarity with data serialization formats like JSON and protocol buffers
- Bachelors Degree or Equivalent
- Computer Science, Engineering
- Generally requires 11+ years related experience
Comcast is an EOE/Veterans/Disabled/LGBT employer