Roles and Responsibilities
The Software Development Director is responsible for the development and support for Dynamics 365 CE, including business requirement gathering, developing the solution, and troubleshooting the application. Working closely with senior management to develop and improve the business applications.
The job scope also includes:
- Understanding and documenting the business requirements
- Designing the solution architecture for the business applications related to Dynamics 365 CE
- Managing a team of CRM professionals
- Designing and developing custom solutions and workflows on top of Dynamics 365 CE
- Developing and maintaining the MDM (Master Data Manager) system
- Writing UAT tests and validating them with business users
- Providing required training for using the application to business users
- Troubleshooting any bugs/issues in the system and identifying appropriate fixes
- Responsible for the integrity, maintenance, and changes to the Application Development Servers
- Change Management
- Project budget management
- Providing ad-hoc reporting and decision support for management decision processes
- Maximizing application performance by monitoring performance, troubleshooting application problems and outages, and scheduling application upgrades
- Maintaining application interfaces for data integration
- Leading, training, and supporting the work of other staff engaged in similar functions
- CRM projects roadmap planning
- Adhering to the procurement process
- Vendor Management
- Monitoring and maintaining the following Application Systems:
- Dynamics 365 CE
- Power Platform
- Azure
- MDM (Master Data Management) system
- Integration Applications between Dynamics 365 CE system and other systems
To be considered for the role, you will need to have:
- Bachelor’s Degree in Computer Science
- Microsoft Certified Professional in Dynamics 365 CE
- 12+ years’ experience in Application Development
- 10+ years’ experience in Customizing Dynamics 365 CE
- 5+ years’ experience in Database Design and Analysis
- 5+ years’ experience in designing and developing REST APIs
- 2+ years’ experience in using ClickDimension
- Experience with Microsoft Dynamic CRM Online, including customization, administration, and development
- Demonstrable strong analysis skills
- Power Platform – Power Apps, Power Automate
- Power Pages
- Power BI
- Azure Data Factory, Logic Apps, Azure Functions
- CICD
- Senior programming skills utilizing MS DotNet Framework, C#, JavaScript, JQuery, and AJAX
- The ability to develop Web API & Web Services (SOAP/REST)
- The ability to create and debug complex stored procedures, SQL statements, views, triggers, and functions for MS SQL Server
- An understanding of utilizing Visual Studio and Team Foundation Server
- Experience with data modeling tools, and major DBMS systems such as Microsoft SQL Server is a plus
- Good communication skills
Desired Candidate Profile
A Software Development Director is a senior leadership role responsible for overseeing the planning, development, and implementation of software projects and products within an organization. This position involves strategic direction, team management, and the coordination of resources to ensure that the software development process aligns with the business goals and objectives. The Software Development Director typically manages multiple teams of developers, engineers, and other technical professionals while ensuring the delivery of high-quality software solutions on time and within budget.
Key Responsibilities of a Software Development Director:
1. Strategic Leadership
- Setting the Vision and Strategy: Define the overall software development strategy in alignment with the organization's business objectives and long-term goals.
- Roadmap Development: Create and maintain a product or project roadmap that outlines timelines, milestones, and key deliverables for the development team. Ensure that the team remains focused on strategic priorities and that resources are allocated effectively.
- Business Alignment: Work closely with other departments (e.g., product management, marketing, sales) to ensure that software products meet business needs and market demands.
2. Team Leadership and Management
- Team Building and Development: Hire, train, and mentor a high-performing team of software developers, engineers, and technical leads. Foster an environment that encourages collaboration, innovation, and continuous learning.
- Performance Management: Set performance goals for individuals and teams, conduct regular performance reviews, and provide constructive feedback. Address any performance issues and implement strategies for improvement.
- Resource Management: Ensure that the team has the necessary resources (e.g., tools, technologies, training) to succeed. Manage the allocation of human resources across various projects and initiatives.