CBTS is looking for a Director of Software Development in the Cincinnati area.
In this position you will provide technical leadership, direction, and mentoring for multiple software engineering teams.
The Director of Software Engineering should be able to establish and communicate objectives and vision, and be able to align the team around this vision in their day-to-day work. This person needs to be smart, innovative, organized, energetic, and committed.
- Definition and implementation of a robust software engineering strategy to meet company objectives.
- Leadership of the software engineering group, ensuring good communication of company and department strategy and development of best practices within the engineering area.
- Responsible for the financial management within software engineering, including full P&L responsibility, budgeting, resource and capacity planning, and reporting.
- Ensure proper resource assignments on daily and weekly basis to maximize value to company, customers, and individuals.
- Drive initiatives around continuous improvement of development to improve productivity and efficiency in all areas.
- Steer and support both Product and customer projects ensuring that resources and operational needs are met to ensure projects are completed to the agreed time, quality and cost.
- Responsible for resource management of software projects and ensuring that strategies around resourcing such as off-shore/outsource development are in place to meet current and future demands.
- Responsible for recruitment of new staff into the software engineering group.
- Ensure environments and infrastructures are able to support store systems requirements and needs.
- Work as part of the company’s Operational Management Group, driving initiatives and best practice through the organization.
- Create, measure, and report key metrics for the performance of the engineering team, as well as the quality and health of the various product lines.
- Act as a player/coach and bring leadership and guidance to the quality team across all facets of manual and automated testing efforts.
- Motivate all team members to deliver high quality projects within committed time and budget.
- Coach, mentor and develop staff, including overseeing new employee on-boarding and providing career development planning and opportunities.
- Empower employees to take responsibility for their jobs and goals while delegating responsibility and expect accountability and regular feedback.
- Lead employees using a performance management and development process that provides an overall context and framework to encourage employee contribution and includes goal setting, feedback, and performance development planning.
- Maintain transparent communication. Appropriately communicate organization information through department meetings, one-on-one meetings, and appropriate email, IM, and regular interpersonal communication.
- Uses discretion and independent judgment, when appropriate and in line with company best practices, to address and resolve customer satisfaction issues.
- Enhance job knowledge by participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
- Requires a bachelor's degree in Computer Science or related field, advanced degrees preferred.
- A minimum of 10+ years of progressive responsibilities in software development.
- Requires at least 4+ years managing Agile software development teams.
- Requires strong experience with complex software development using technologies including Java/J2EE, Angular JS, message queue (Active-MQ, Websphere, …), and database (DB2, Oracle, MS SQL, NoSQL, Postgres, …)
- Requires experience in the delivery and support of distributed computing models with resilient store endpoints using centrally-based services that must be operational 24x7
- Requires a deep experience in the software development life cycle best practices, including coding standards, code reviews, source control management, QA, Database architectures, source build processes, testing, deployment, and the associated operational processes.
- Requires a significant experience managing both onshore and remote development teams.
- Requires strong technical awareness and the ability to understand the reasoning and implications of technical decisions.
- Requires effective oral and written communication skills, and excellent interpersonal skills. Must be able to communicate and interact well with co-workers and customers.