With a workforce of over 25,000 people, and opportunities in more than 1,000 different job categories, the City of Philadelphia is the fifth largest city in the United States and one of the largest employers in Southeastern Pennsylvania. As an employer, the City of Philadelphia operates through the guiding principles of service, integrity, respect, accountability, collaboration, diversity and inclusion. Through these principles, we strive to effectively deliver services, to resolve the challenges facing our city, and to make Philadelphia a place where all of our residents have the opportunity to reach their potential.
The Office of Innovation and Technology (OIT) oversees most major technology projects for the City of Philadelphia. We use technology to help City employees do their work better and to serve residents in getting what they need from City government.
As the central technology office in the 5th largest city in the nation, our portfolio includes critical applications that enable residents to pay taxes and fees online, look up a loved one in jail or prison, find after-school activities in their neighborhood, and more. Most new applications have been built on modern technology stacks and hosted in the cloud, but many older applications are running on legacy frameworks and on-premise servers.
We’re building a reimagined engineering team that will:
- Use agile principles to ensure our software delivers value more rapidly to its users.
- Employ devops tools and processes to improve software quality and enable us to increase the frequency of releases.
- Create a deep bench of expertise to better support applications and systems that are important to the daily operations of city government.
- Collaborate with researchers, content strategists, and designers to develop software that considers the people the technology supports.
As the Director of Software Engineering, you’ll lead this effort, building the team through new hires and existing staff, growing a culture around agile principles, and introducing processes and tools to support working according to them. Your team will modernize the City’s digital portfolio and make it easier for residents to interact with city government online.
Skills and responsibilities
The vision for this position involves multiple roles:
As a director, you will:
- Organize the team and help inform the growth of the new engineering practice.
- Be accountable for project delivery.
- Lead the effort to modernize our digital portfolio and reduce our maintenance burden.
- Interface with department clients, understanding their needs, and advocating for technical strategy.
- Ensure processes, people, and cross-training are in place to troubleshoot outages, including off-hours when necessary.
- Oversee changes to legacy applications when necessary.
- Work with other leaders (data, design, etc.) to prioritize work, share ideas and approaches.
As a change agent, you will:
- Elevate existing staff with deep skills and experience through opportunities to work on projects in new ways.
- Build an environment where team members feel comfortable prototyping, failing, and iterating.
- Increase the use of modern software development best practices.
- Coach department clients on agile project management practices to improve collaboration with our team.
- Foster a culture of working in the open and cultivating public interest in our work.
As the engineering practice lead, you will:
- Provide oversight on technical decisions and software selection to ensure strategic fit.
- Set standards of quality and excellence for the software development practice.
- Mentor and coach other developers and help them grow.
- Consult on projects outside your portfolio/team.
- Self-directed. Given broad direction, you can prioritize your work and allocate your time and resources effectively. Just as important, you know when to ask for help and aren’t afraid to do so.
- Excellent communicator. Ability to communicate technical nuances and jargon, and explain the logic behind technical decisions, tailored for audiences of varying technical background.
- Delivery-oriented. You appreciate the value of “minimum viable product” and know how to dig yourself out of “rabbit holes” to meet goals and deadlines.
- Relationship-builder. Ability to work laterally and accomplish things through others, despite the formal reporting structure.
- Listener. Ability to practice active listening and to ask questions to get at the root of a problem.
- Organized. Demonstrated ability to manage multiple projects, estimate timelines, rework a project approach based on unforeseen challenges, work well under pressure, and set/meet reasonable deadlines.
- Broad spectrum. Knows enough about design, content strategy, and other disciplines to collaborate effectively.
- Resilient. Ability to have a sense of humor, learn from mistakes, and/or return to work after experiencing a setback.
- Amplifier. Ability to amplify others’ strengths and successes and operate beyond ego and self-interest.
While you won’t necessarily be working hands-on with these technologies and concepts day-to-day, your staff will, and you’ll need to know enough about them to understand their benefits and when they’re appropriate.
- Deep understanding of the modern web platform and common architectural solutions
- Server-side programming languages such as Python, Ruby, .NET Core, or Node.js
- Command line and shell scripts
- Web application security concerns and ways to mitigate them
- Git, or similar version control systems
- SQL, and usage of relational databases such as PostgreSQL, Oracle, MSSQL
- Amazon Web Services
- Server administration
- Automated test/deployment pipelines
- API design and development
- “Clean code” and readability
- Open source software and interoperable data
- Tinkering with new technologies, and keeping up with the industry
- Diving into and understanding legacy systems of various age and technology
- Deadline: n/a
You should have at least 5 years of experience in software development, including:
- At least 3 of the years personally developing software on a team, and
- At least 2 of the years managing people.
Especially strong candidates will have:
- Experience integrating agile-inspired processes into an existing team, or building a new team around agile-inspired processes.
- Experience building web applications.