Director, Software Development

Leading the way in development and implementation of the technology tools and business solutions.
Job Description

This role is a strategic leader of the software development team. Incumbent is accountable for software architecture, design, development execution, support, maintenance, and performance of all software development and integration initiatives. Incumbent will directly lead software developers on a day-to-day basis and interact with cross functional managers, vendors, and business stakeholders.


•Bachelor’s degree in Computer Science, Information Systems, or related field or equivalent experience is required  

•Minimum 8-10 years of software development experience with demonstrated progression in responsibility and accomplishments with at least 5 years of team management.

•Experience in developing, implementing, and maintaining solutions using the Microsoft technology stack, including ASP.NET using C#, Entity Framework, APIs and web services such as REST and SOAP, and SQL Server. Experience with MVC.NET is strongly preferred  

•Experience leading a team of developers through the Software Development Life Cycle is required 

•Experience in creating technical documentation is required

•Minimum 3 years experience with Microsoft Azure IAAS and PAAS is required  

•Experience with Visual Studio and Team Foundation Server (TFS) for source control and software development life-cycle is preferred

•Experience with SharePoint, Drupal, Aegir is preferred  

•Advanced knowledge of Web based technologies – HTML, HTTP, Web servers, CSS, XML, JavaScript, JQuery is required  

•Advanced knowledge of good coding practices and standards, including object-oriented design, code refactoring, and code documentation is required  

•Advanced knowledge of relational databases, specifically MS SQL Server, including experience in data modeling and creating TSQL queries and stored procedures is required  

•Ability to recognize issues in existing software and put together improvement plans is required  

•Ability to work on multiple projects in a fast paced work environment is required  

•Strong critical thinking, operations and systems analysis, and problem solving skills are required  

•Good communication skills and the ability to work with and talk to end users are required  

•Commitment to the YMCA character development values of caring, honesty, respect and responsibility is required  


Essential Functions

•Direct and manage a team of software development professionals by organizing, prioritizing and scheduling work assignments.

•Direct the conducting of code and documentation reviews.

•Work closely with various stakeholders to ensure delivery of the product with the agreed upon features by the agreed upon target dates

•Be an ambassador of all things IT  

•Provide timely and accurate reporting relevant to development function including: Delivering on scope and size assessment based on business requirements along with QA and DevOps teams to provide Level of Effort estimations and Schedules.

•Direct the continual professional improvement of assigned team members so that their knowledge and skills are up to date through training, pair programming and other education events.

•Seek ways to continuously improve development methods and processes to maximize productivity and quality

•Ensure that architectural integrity is maintained across the technology landscape and the team is adhering to best practice standards

•Consults with end-users for the purpose of design and implementation of new systems and maintenance and trouble-shooting problems with existing systems   

•Provides technical input to other areas and gathers technical data from outside organizations as it relates to solutions  

•Other duties as assigned