Employment Type:
Full time
Job Category:
Software Development
Engineering Intern
(This job is no longer available)
Puppet Labs | Portland, OR
Grad Date

Not sure what types of jobs you are interested in?

Explore Jobs
Based on Your Education

Follow This Company

Job Description

Summary of Role

Do you have a passion for Open Source software? Do you want to contribute to a next-generation application that is mission-critical for thousands of organizations around the world? Puppet Labs is looking for an Engineering Intern to work on PuppetDB, a strategic project providing fast, scalable, and eminently queryable data storage for Puppet users. You’ll be helping us out with many different aspects of the project, from improving the installation experience to developing new features. And as PuppetDB is open-source software, your work will be freely available for the world to use, modify, and share.


  • Good understanding of algorithms, data structures, and general software craftsmanship (bonus points for experience with Lisp, Ruby, Puppet, functional programming, or the JVM)
  • Familiarity with Unix command line (regular use of Linux is a plus)
  • Some level of familiarity with package management systems
  • Familiarity with HTTP / TCP protocols
  • Able to use revision control (preferably git)
  • Strong communication skills
  • Familiarity with relational databases / SQL is a plus
  • Familiarity with web application development is a plus

Application Details

Please include a cover letter with your application describing how you feel your experience is a fit for the qualifications of this position. In addition, please answer the following questions:

1) Why are you interested in working for Puppet Labs?
2) Describe the technology stack of a project you worked on. What worked well? What would you change?
3) What's your favorite programming language and why? Compare/contrast it with the least favorite you’ve used.
4) Give an example of an object or tool (non-software) that you feel is extremely well-designed. What do you like about it?
5) Include a working piece of code, in any language, that does the following: 

  • Accepts a URL and a file path as arguments
  • Downloads a text file from the specified URL and saves it to the specified path
  • Reads the file looking for a line that matches “position = puppetdb-intern”
  • If the line is not found, adds the line to the end of the file
  • Include some basic tests to verify the behavior

Please include instructions on how to run your program and the tests, as well as sample output from a run of your program

About Puppet Labs

Puppet Labs' IT automation software enables system administrators to deliver the operational agility and efficiency of cloud computing at enterprise-class service levels, scaling from handfuls of nodes on-premise to tens of thousands in the cloud. Puppet powers thousands of companies, including Twitter, Yelp, eBay, Zynga, JP Morgan Chase, Bank of America, Google, Disney, Citrix, Oracle, and Viacom. Puppet Labs' investors include Kleiner Perkins Caufield & Byers, True Ventures, Radar Partners, Emerson St. Partners, VMware, Google Ventures, and Cisco.

Job recommendations for you