The Principal Software Engineer at Granicus leads the development team by example to drive them to produce excellent software and works with our smart, driven engineers to enable their learning and growth. A Principal Software Engineer at Granicus will embody these values and ensure they are lived and breathed by their team. In addition to our values a Principal Software Engineer will champion practices such as BDD, TDD, knowledge sharing, collective code ownership, and a supportive learning environment. Their application knowledge is indispensable in this area.
This role will allow you to write code, mentor engineers, and think strategically. Your ideas about culture, roadmaps, and technical decisions of all sizes will be highly valued. Our Principal Software Engineer will love to collaborate on code and high-level thinking, think writing tests first is the best, and care deeply about their team.
Principal Software Engineers not only have deep expertise in multiple different applications, but they also understand and directly contribute to the management of Granicus’s technical infrastructure.
WHAT YOU GET TO DO:
- Collaborate with product management and business stakeholders to deliver SaaS based solutions
- Act as point person for hiring process for your level
- Operate as an individual contributor on an engineering scrum team
- Collaborate with Scrum Masters to ensure process efficiency and improve current process
- Own and evangelize development team values
- Focus on long term vision and ensure technical decisions work to enable Granicus’ future
- Ensure shared development team responsibilities are handled
- Make significant contributions outside of the Product Organization as a resource to other areas of Granicus
- Represent the Granicus Development team within Granicus and (when called upon) to clients outside of Granicus
- 8+ years of experience developing, testing, shipping, and supporting production-quality SaaS based web applications
- Experience in designing Large and Complex databases (especially for reporting purposes). Strong DB developer
- Basic to Intermediate level Experience with Python and related frameworks
- Experience with and passion for the agile development process
- Ability to mentor engineers of all levels
- Ability to learn new technologies and help bring your team up to speed on them
- Comfort when navigating a large legacy code base and ability to spin up a new project for greenfield development
- Experience collaborating with all the different departments needed to make software to run from Product Management to Customer Support and Cloud Operations
- Interest in the technology challenges faced by government offices
Responsible for Granicus information security by appropriately preserving the Confidentiality, Integrity, and Availability (CIA) of Granicus information assets in accordance with the company's information security program.