Principal Software Engineer, Data Reliability Engineering (Remote)
                                Position Purpose:
The Software Engineer Principal, Reliability Engineering, is responsible for establishing standards for designing and delivering resilient software systems, and for working with product teams to guide the implementation of these standards. In establishing these standards, Software Engineer Principals, RE, collaborate with other Software Engineer Principals and the broader Enterprise Architecture organization to construct standards that meet long-term organizational goals. Software Engineer Principals, RE, are knowledgeable both about general reliability patterns and the specific domain areas they work with. They provide mentoring to more junior engineers to grow their capabilities.
Key Responsibilities:
 70% Delivery & Execution
 Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
 Documents, reviews and ensures that all quality and change control standards are met
 Writes custom code or scripts to automate infrastructure, monitoring services, and test cases
 Writes custom code or scripts to do "destructive testing" to ensure adequate resiliency in production
 Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
 Contributes to enterprise-wide tools to drive destructive testing, automation, or engineering empowerment
 Identifies product enhancements (client-facing or technical) to create a better experience for the end users
 Identifies unsecured code areas and implements fixes as they are discovered with or without tooling
 Identifies, implements, and shares technical solutions that can be used across the organization
 Creates and architects foundational code elements that can be reused many times by a product
 Creates meaningful architecture diagrams and other documentation needed for security reviews or other interested parties
 Defines Service Level Objectives for product to constantly measure their reliability in production and help prioritize backlog work
 20% Support & Enablement:
 Fields questions from other product teams or support teams
 Monitors tools and participates in conversations to encourage collaboration across product teams
 Provides application support for software running in production
 Proactively monitors production Service Level Objectives for products
 Works with vendors and the open-source community to help identify and implement feature enhancements in software products
 Works with other product teams to create API specifications and contracts for shared data
 Proactively reviews the performance and capacity of all aspects of production: code, infrastructure, data, and message processing
 Triages high priority issues and outages as they arise
 10% Learning:
 Participates in and leads learning activities around modern software design and development core practices (communities of practice)
 Learns, through reading, tutorials, and videos, new technologies and best practices being used within other technology organizations
 Attends conferences and learns how to apply new technologies where appropriate
Direct Manager/Direct Reports:
 Typically reports to the Software Engineer Manager or Sr. Manager, Technology Director or Sr. Director.
Travel Requirements:
 Typically requires overnight travel less than 10% of the time.
Physical Requirements:
 Most of the time is spent sitting in a comfortable position and there is frequent opportunity to move about. On rare occasions there may be a need to move or lift light articles.
Working Conditions:
 Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.
Minimum Qualifications:
 Must be eighteen years of age or older.
 Must be legally permitted to work in the United States.
 Mastery of an object oriented programming language (preferably Java)
 Must be legally permitted to work in the United States
Preferred Qualifications:
 6-8 years of relevant work experience
 Mastery of effective database selection and data modeling within both SQL and NoSQL paradigms
 Mastery of production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security
 Mastery of a cloud computing platform and the associated automation patterns they provide (preferably Google Cloud and Terraform)
 Mastery of a modern container orchestration platform (preferably Kubernetes)
 Mastery of modern observability tooling (preferably Prometheus and OpenTelemetry)
 Mastery of modern scripting language (preferably Typescript or Python)
 Mastery of writing SQL queries against a relational database
 Mastery of a version control systems (preferably Git)
 Proficient in a CI/CD toolchain (preferably GitHub Actions)
 Proficient in query optimization and troubleshooting
 Proficient in destructive testing methodologies and tools
 Proficient in a modern web application framework
 Proficient in defensive coding practices and patterns for high availability
 Proficient in modern microservice-based architectures and methodologies
 Proficient in successful application of design patterns
 Proficient in test-driven development and effective unit test creation
 Experience with a front-end technology and framework such as HTML, CSS, JavaScript, AngularJS, or React
 Experience in working with 12-factor methodology and understanding its benefits, and able to demonstrate appropriate patterns to more junior team members
Minimum Education:
 The knowledge, skills and abilities typically acquired through the completion of a bachelor's degree program or equivalent degree in a field of study related to the job.
Preferred Education:
 No additional education
Minimum Years of Work Experience:
 6
Preferred Years of Work Experience:
 No additional years of experience
Minimum Leadership Experience:
 None
Preferred Leadership Experience:
 None
Certifications:
 None
Competencies:
 Action Oriented: Taking on new opportunities and tough challenges with a sense of urgency, high energy and enthusiasm
 Business Insight: Applying knowledge of business and the marketplace to advance the organization's goals
 Collaborates: Building partnerships and working collaboratively with others to meet shared objectives
 Communicates Effectively: Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences
 Cultivates Innovation: Creating new and better ways for the organization to be successful
 Drives Results: Consistently achieving results, even under tough circumstances
 Global Perspective: Taking a broad view when approaching issues; using a global lens
 Interpersonal Savvy: Relating openly and comfortably with diverse groups of people
 Manages Ambiguity: Operating effectively, even when things are not certain or the way forward is not clear
 Manages Complexity: Making sense of complex, high quantity, and sometimes contradictory information to effectively solve problems
 Nimble Learning: Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder
 Optimizes Work Processes: Knowing the most effective and efficient processes to get things done, with a focus on continuous improvement
 Self-Development: Actively seeking new ways to grow and be challenged using both formal and informal development channels
 Situational Adaptability: Adapting approach and demeanor in real time to match the shifting demands of different situations
Apply Job!