Job Details

Software Engineer

Puppet, Inc., Portland, OR (Remote)

Job - Technology

Close Date: 03/31/2020

Hi, I’m David Hayden, Manager of Engineering at Puppet,

I’m looking for a Software Engineer who will perform the roles of both a Site-Reliability and Quality Engineer to join our Development Infrastructure and Automations (DIO) team. We design, develop and improve test automation and release tooling that is innovative, robust, and efficient, improving the workflow of developers and release of Puppet’s products; we also run and improve the core computing infrastructure that powers everything we do at Puppet.

In addition to supporting Puppet’s foundation, we also act as customer zero! We get to use the latest and greatest Puppet technology before anyone else as well as provide valuable insights to our development team about the experience.

DIO manages the common infrastructure used by our engineering department. We are a team of generalists with backgrounds ranging from developer to traditional sysadmin to data center operations to psychology. We leverage our varied experiences to tackle the varied needs of our internal customers. While we have many of the responsibilities of a traditional ops team, we often find ways out of those problems through software engineering and automation.

As an Engineer in DIO at Puppet, you will:

Use the latest pre-release version of Puppet to manage our infrastructure, providing critical feedback to the development teams, making us “customer zero,” providing influential and valuable insight about our current and future products.
Tackle complex and varied issues on systems ranging from the archaic to cutting-edge.
Work closely with internal customers such as the teams responsible for building and testing our products.
Contribute to improving existing testing tools, and engage with quality, release, and system operation engineers on integrating with CI/CD (Continuous Integration/Delivery) systems, and optimizing automation workflows.
Work with physical, virtual, and containerized workloads.
Spend much of your time at a command line.
Become intimately familiar with a world that revolves around git.
Sounds like a lot? Fortunately, you will be surrounded by a highly-competent team with expertise in all these areas.

Some of whom you will be collaborating with…

David Hayden, our Engineering manager. His role is to develop the team’s engineering talent to be ready for the many growth opportunities available at Puppet. He also leads company-wide efforts to make Puppet an enjoyable place to work.
Gene Liverman:  Taking care of the stuff most people never see that’s tucked away in a data center somewhere is his calling. He believes in using the operating system best suited for a given job, be it Linux, Windows, macOS, or something else. He is always looking for a better way to do things and loves to work with people from all over the company.
Ken Johnson is our resident pinball wizard.
Brandon High, the software guy:  He dreams of a fully-automated DevOps utopia where humans only do the interesting work and the robots handle all the drudgery and toil. He has nightmares about the robots rising up against him. Fortunately, his nightmares have never fully come true, even when he was running code on over a million bare metal machines.
Erik Hansen: Loves debugging, monitoring, observability and hunting down performance issues.
John O'Connor: Keen to ensure Windows is a first class citizen. Works out of the Belfast office and thoroughly enjoys being part of a globally distributed workforce. Has occasionally been told he likes to stick is oar in things (you need to come to Belfast to understand what this means).
Who are you?

You love working with the very latest version of tools and giving feedback.
You enjoy working closely with your team and your customers. You want to see your team and customers succeed, and you want to be a big part of that.
You're hungry to learn new things. You're interested in learning about technologies both new and old, and helping your team learn about those technologies as well.
You love to establish an understanding of complex systems, tear them apart, and put them back together again, better than before.
You can't stand to let a problem fester. When you see a bug your first instinct is to fix it. Unreliable infrastructure bothers you, and you want to find ways to shore it up or replace it.
You like solving problems practically. Sometimes it makes sense to build something new. A lot of times it makes sense to make it good enough. Once in a while you just have to leave a comment apologizing to future SREs.
You are a proactive communicator. You strive to be articulate and empathetic in your interactions and believe in “working out loud” to share work early and helpfully.
What valuable experience and skills will you bring to the table?

You’ve managed Linux in a production environment for at least two years
You’ve used version control before
You are proficient at coding in Java, Python, Ruby, C++, C# or a similar language
Ability to identify and evaluate the strengths and weaknesses of existing tooling and potential alternative solutions or approaches to problems
Basic understanding of XML, JSON, SQL
You have a desire to interact closely with people throughout the company
You can write clearly about work scope and status
You can clearly communicate technical concepts and reasoning to both technical and non-technical audiences
Bonus, but not required (shout about it in your application if you have experience)

Expertise with a configuration management system, preferably Puppet
Ability to design the configuration of a service for maximum reusability
Understanding of computing security practices, both technical and social
Ability to work closely with developers to understand application architecture and optimize applications for operational efficiency
Experience administering AIX, Solaris, macOS, or Windows
Experience building and / or managing containers
Experience with VMware, Nutanix, Kubernetes, AWS, GCE, Azure, or similar
Experience with monitoring
Experience working in a datacenter
P.S. Don’t identify with this opportunity? Don’t worry about it - let us know if you think this is the place for you.

*Visa Sponsorship

Please note, this position is not eligible for visa sponsorship.

About Puppet

Puppet’s core mission is to eliminate soul crushing work. We created the industry standard for managing infrastructure as code. And we didn’t stop there—our product portfolio has grown to help organizations automate across their entire software delivery lifecycle. With more than two-thirds of Fortune 100 companies using Puppet’s open source or commercial products, our code is helping power thousands of organizations across the world.

As the industry leader in DevOps solutions, we realize that our success is a collective effort; all made possible by the incredible people working here, our customers, partners, and Puppet community. Our culture is built on positivity, diversity, inclusivity and support—and we seek people who are resilient, entrepreneurial-minded, team players who continually strive to be incrementally better every single day. In our work together we aim to be curious, accountable, empathetic and, above all, collaborative. If this sounds like the environment you’d thrive in, why not say hello?

Learn more about Puppet by checking out the values we live by and the awesome benefits and perks we offer employees!

Puppet is an equal opportunity employer and considers qualified applicants for employment without regard to race, color, religion, creed, sex, sexual orientation, gender identity, marital status, national origin, ancestry, age, veteran status, disability, or any other protected class.

If you are an individual with a disability and require a reasonable accommodation to complete any part of the application process, or are limited in the ability or unable to access or use this online application process and need an alternative method for applying, you may contact +1-877-575-9775 for assistance.

Complete details: