If you are passionate about large scale, mission critical software systems, and you have a maniacal focus on system availability and performance, Reliability Engineering is for you.
As a member of our Reliability Engineering team, you will be responsible for scaling some of the largest software products in Retail by automating the application infrastructure, deployment, and monitoring of those products in production. You will also be part of a 24x7 on-call team that will lead the triage of incidents for your products using your expertise to mitigate the problem as soon as possible. Our "own what you build" mentality empowers you to make decisions quickly to deliver reliability improvements without the red tape that typically surrounds enterprise environments. Our Reliability Engineering motto is: Enable Speed with High Availability.
You should have a passion for automating as much as possible and constantly be on the lookout for areas where operational and code efficiencies can be improved. You will work directly with product engineering teams leveraging XP principles, and, when you aren't automating all the things, you will be proactively executing destructive tests, participating in "game day" exercises, and related activities to improve the operational readiness of your product(s).
MAJOR TASKS, RESPONSIBILITES AND KEY ACCOUNTABILITIES
70% - Delivery & Execution:
Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions
Works with Product Team to ensure user stories that are developer-ready, easy to understand, and testable
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
Configures commercial off the shelf solutions to align with evolving business needs
Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively
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
Proactively reviews the Performance and Capacity of all aspects of production: code, infrastructure, data, and message processing
10% - Learning:
Participates in learning activities around modern software design and development core practices (communities of practice)
Proactively views articles, tutorials, and videos to learn about new technologies and best practices being used within other technology organizations
NATURE AND SCOPE
Typically reports to the Software Engineer Manager or Sr. Manager.
ENVIRONMENTAL JOB REQUIREMENTS
Located in a comfortable indoor area. Any unpleasant conditions would be infrequent and not objectionable.
Typically requires overnight travel less than 10% of the time.
Additional Environmental Job Requirements:
Must be eighteen years of age or older.
Must be legally permitted to work in the United States.
Additional Minimum Qualifications:
Must be legally permitted to work in the United States
Experience in an object oriented programming language (preferably Java)
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.
Years of Relevant Work Experience: 1 years
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.
- Proficient in production monitoring concepts and implementation including synthetic, real user, application performance, system, log, time-series, and dashboarding. Includes tools like appdynamics, dynatrace, newrelic, splunk, grafana, ELK, etc
- Proficient in production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security
- Proficient in a modern scripting language (preferably python)
- Proficient in a modern infrastructure automation toolkit such as Puppet or Chef
- Proficient in a Linux or Unix based environment
- Deep understanding of modern microservice based architectures and operations
- Experience in destructive testing methodologies and tools such as chaos monkey
- Experience in CI/CD automation
- Experience in a version control systems such as Git or SVN
- Experience in a cloud computing platform and the associated automation patterns it provides
- Experience in defensive coding practices and patterns for high-availability
- Exposure to a modern objected oriented programming language (preferably Java)
Knowledge, Skills, Abilities and Competencies:
Action Oriented: Taking on new opportunities and tough challenges with a sense of urgency, high energy and enthusiasm
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
We are an Equal Opportunity Employer and do not discriminate against any employee or applicant for employment because of race, color, sex, age, national origin, religion, sexual orientation, gender identity, status as a veteran, and basis of disability or any other federal, state or local protected class.