Reporting to the VP of Implementations, the role of the Director of Software Development is to coordinate and manage the software development activities of the software development team.
Team and Project Management
- Collaborates with the Software Architecture, Project Management, Software Operations, Quality Assurance and Business Planning departments to support the execution of projects in an Agile/SCRUM environment
- Oversees and manages projects and team assignments to ensure that all projects are managed to plan.
- Oversees the development lifecycle to ensure that all development standards and best practices are adhered to.
- Supervises work by development teams to ensure that all project deliverables meet release criteria established by the Business Planning department.
- Leads and manages internal and external project resources across organizational lines to ensure all projects are completed within their allocated times.
- Provides a central point of reference for development teams with regards to projects and procedures so as to ensure development teams fully understand their project and its boundaries as well as ensuring the successful integration of different projects.
- Participates in the performance management and recruitment process to ensure that the required skill sets and behavioural competencies are added to the team.
- Oversees team productivity and where necessary implements initiatives to improve productivity matters and team motivation.
- Mentors and develops team leads and developers, nurtures leadership and maintains a positive and productive environment.
- Ensures that staffing levels and expertise meet the requirements of current and future projects.
- Participates in the discovery, management and reporting of all significant technical issues and risks so as to ensure that the Software Architecture and Software Operations Teams are kept abreast at all times on all development projects.
- Participates in the analysis and management of critical technical design issues so as to improve project design.
- Provides ideas for enhancements to existing code in order to improve coding practices.
- Supports new business development initiatives through research of emerging standards and prototyping of trial systems.
- Assists development teams with their respective responsibilities as needed to assist in the development lifecycle.
- Researches development tools so as to facilitate the design and development process.
- Works to maintain and support the Companies working culture to maintain team motivation and employee satisfaction.
- Participates and conducts regular status meetings with the development teams and with superiors so as to assure clarity of project status and progress.
- Interacts with relevant stakeholders so as to ensure they are up to speed on all ongoing development projects, aware of system changes and/or updating of documentation.
- Interacts with product owners, project managers and other stake holders to ensure that they are kept informed of project progress, giving adequate notification of any deviation from agreed timelines, system changes and/or updating of documentation
- Interface with peers across the organization to ensure that software products are well understood and that deliverables can be tested and deployed in a timely manner.
- Communicates effectively with peers and executives in other locations and time zones to quickly resolve impediments and make strategic decisions regarding projects
- Must have worked in a technical leadership role responsible for large teams of over 15 people over multiple locations for at least 4 years.
- Possess a Degree in Computer Science or related discipline.
- Understanding of Continuous Implementation/Continuous Deployment technologies and their role in the development lifecycle
- Exceptional business and technical knowledge.
- Driven, creative, results oriented with the ability to motivate the team through a shared sense of purpose and vision.
- Able to manage concurrent projects and abide to tight deadlines.
- Knowledge of the full software development lifecycle, software development methodologies (Agile, Iterative, XP etc.), MS Project, version control systems, bug tracking systems and their use.
- Understanding of networking technologies including LAN/WAN, switches, and load balancers.
- Understanding of Cloud based services and virtualization systems such as VMware, XEN, Amazon AWS.
- Knowledge and understanding of remote invocation technologies (RMI, Spring HTTP Invoker, interfacing with REST APIs).
- Experience in building mission critical distributed software systems that can manage high volume traffic and which are highly available.
- Awareness of Open Source community solutions and 3rd party solutions in the marketplace.
- Ability to communicate technical issues to non-technical people in business language.
- Experience with Linux and MS Windows operating systems.
- Experience with database systems; preferably MySQL.
- Proficiency and fluency in written and spoken English.
Interested candidates contact Clare on email@example.com