The Director of Software Development directs, supervises and governs software development projects. Reviews proposals to determine costs, timeline, funding, staffing requirements and goals. They will oversee the work of Architects, Developers and their project teams relying on their extensive experience and judgment to plan and accomplish team goals.
- Report to VP of Software Engineering, who defines and drives technical strategy and architectural vision that supports the successful execution of the product vision and business strategy.
- Oversee the architecture, design, and implementation of GSM's software and marketing applications from development, delivery, and releases.
- Breakdown complex requirements into independent architectural components, modules, tasks and strategies and collaborate with peer leadership through the full software development lifecycle to deliver top quality, on time and within budget.
- Lead and coach a team of software developers, architects, and other technical staff both externally and virtually.
- Demonstrate excellent communications with stakeholders regarding delivery goals, objectives, deliverables, plans and status throughout the software development lifecycle.
- Align with peers in sales, marketing, customer success, product, and engineering to make sure our AI capabilities are delivered to the market in the most effective way.
- Develop a budget and staffing plan to build a high performance, multi-functional team with expertise necessary to achieve development objectives.
- Ensure a smooth transition from the project team to the respective Operations and Support Groups; includes documenting workflow, training and monitoring success of the transition.
- Collaborates with the Application Development Team and the Systems and Data Architect to research current technologies and marketing trends to improve products and processes.
- Enforce company standards
- Other duties as assigned
- An understanding of data science tools and concepts is obsessed with customer success and knows how to inspire and lead teams.
- Must enjoy Agile, DevOps, and Continuous Delivery while understanding that Agile doesn't mean you can skip planning and that planning and Agile can coexist in harmony.
- Possess a craftsman's pride in the code the team put out. Prioritizes and values quality over quantity, but is not a zealot or perfectionist understanding that ultimately the code must meet the needs of the business.
- Excellent communication with developers and other technical staff. Team members must feel confident that technical challenges are understood and good decisions will be made because of past experiences in a variety of technical roles.
- Excellent communication with peers and stakeholders; is transparent and data-driven, and knows how to give good news, bad news and listen.
- Must have a great attitude, and be an unflappable team member known for the ability to embrace a challenge while keeping the presence of mind to have fun along the way.
- Must like the challenge of simplifying complex systems and always consider the big picture when acting locally.
- Directly supervises one or more employees.
- Carries out responsibilities in accordance with the organization's policies and applicable laws.
- Responsibilities include hiring, and training associates, planning, assigning, and directing work, appraising performance, rewarding and disciplining associates, addressing complaints and resolving problems.