As the central technology office in the 6th 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, Philadelphia’s digital front door, phila.gov ,and our home-grown resident single sign on service, login.phila.gov. The majority of new applications and websites have been built on modern technology stacks and hosted in the cloud, but many older applications are running on legacy frameworks and on-premises servers. In this role, you will have oversight over the technical aspects of these major projects, including migration of legacy systems. You will oversee a team that:
    Uses agile principles to ensure our software delivers value more rapidly to its users.
    Employs devops tools and processes to improve software quality and enable us to increase the frequency of releases.
    Creates a deep bench of expertise to better support applications and systems that are important to the daily operations of city government.
    Collaborates closely with a cross-functional team of user experience strategists, content strategists, and designers in the Digital Services team to develop software that considers the people the technology supports through user-centered design principals. You’ll join a city government that has the largest GitHub organization among cities (github.com/CityOfPhiladelphia), works in the open, and leverages open-source tools and cloud infrastructure to improve the experience of interacting with City government online.
Essential Functions
As the Director of Software Engineering, you’ll continue this effort, expanding the team through new hires, existing staff and contractors. You’ll continue to grow a culture around agile principles and help introduce processes and tools to support working according to them. Your team will continue to modernize and support the City’s digital portfolio and make it easier for residents to interact with city government online.As a director, you will:
    Organize the team and help inform the growth of the engineering practice at the City.
    Be accountable for project delivery.
    Expand the effort to modernize our digital portfolio and reduce our maintenance burden through automation.
    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 and using modern monitoring tools.
    Oversee changes to legacy applications when necessary.
    Work with other leaders (data, design, etc.) to prioritize work, and share ideas and approaches.
    Set city-wide development standards and collaborate to create policies supporting sound technical approaches to application development. 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.
    Expand 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.
    Identify areas for improvement and take the lead on educating, building, and evangelizing good development practices. As an engineering 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.
    Support a community of developers in other departments to help standardize and expand shared services. 
Competencies, Knowledge, Skills and Abilities
Competencies:
    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.
    Lifelong learner. Curiosity gets the better of you, but to positive ends. You ask impactful questions and are always trying new things.Technical knowledge:
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, and/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 (or other cloud computing services)
    Server administration
    Containerization 
    API design and development
    Automated test/deployment pipelines and CI/CD
Enthusiasm for:
    “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