Here at Puppet, our values are our "culture code" and guide all that we do. They embody who we are as a team, as a community, and as a business. That’s why we hire carefully for individuals who clearly represent our company values. That means being connected to the communities we serve, having an understanding that candid conversations can drive innovation, and those who understand those who understand that the many people, perspectives and places that makeup our company are key to our success.
Summary of Role
Puppet is looking for an experienced developer with strong programming and automation skills, and a demonstrated track record in delivering high quality software in fast-paced environments. Primary responsibilities involve developing modules to manage network devices (e.g. Cisco, Palo Alto, Juniper) using a variety of in-house API’s and external 3rd party API’s, implementing automated tests and working as part of an agile team to deliver functionality regularly to our customers. Secondary responsibilities include performing risk analysis, advocating process improvements, and developing/enhancing tooling.
Responsibilities include:
- Work with Product Management and Development teams in an agile environment to ensure on-time, high-quality releases
- Develop, review, and implement functionality to manage network devices for complex distributed systems based on marketing and engineering requirements
- Participate in initiatives to support continuous improvement of process, quality metrics, communication, and tooling
- Participate in project planning, report status, and raise areas of risk to management
Qualifications:
- BS or MS in computer science, or equivalent
- 5+ years professional experience as a Software Engineer, ideally with complex systems
- Experience with the management, configuration and testing of network devices (including emulators) is highly desirable
- Expertise in Linux system and kernel and experience with Linux system administration using scripting language(s)
- Strong automation development skills, including extensive experience with one or more of: Ruby, Python, Perl, Java, C/C++, or other high level language
- Experience testing at various levels of abstraction, from unit to functional to user-acceptance
- Experience with version control, preferably Git
- Experience using Puppet or another configuration management system
- Experience with mentoring team members
- Ability to work independently with minimum supervision alone and in collaboration with other teams
- Strong analytic, problem solving, and troubleshooting skills
- Strong communication skills and the ability to work and interact in a group or team.
- Experience working with 3rd party API’s
This job comes with several perks and benefits