Engineering Intern (PuppetDB)
Department : Engineering - Platform
Reports to : PuppetDB Lead Engineer
Location : Portland, OR
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
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
Working for Puppet Labs
Based in Portland, Oregon, Puppet Labs creates IT automation software which 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. Our investors include Kleiner Perkins Caufield & Byers, True Ventures, Radar Partners, Emerson St. Partners, VMware, Google Ventures, and Cisco.
Everyone who works here has a real, direct impact on the company, and our list of interesting and difficult challenges will always be larger than the time we have to tackle them. Our work environment is relaxed yet results driven, encouraging creativity, collaboration, and challenging each other in order to foster continuous improvement. Our employees embody our values, displaying curiosity, self-motivation, adaptability, and a passion for what Puppet Labs is all about.
Puppet Labs - 11 months ago
Based in Portland, Oregon, Puppet Labs creates IT automation software which enables system administrators to deliver the operational agility...