We are looking for an experienced Principal Software Engineer – Java to join our talented engineering organization! As a Principal Software Engineer , one is the technical expert in their respective area, and provides technical thought leadership and direction to multiple teams across multiple product lines. The Principal Software Engineer plays a crucial role in bridging the gap between cutting edge AI and practical business applications. This leader will apply their expertise in software development and AI, to oversee the creation and implementation of AI-powered features within CDK’s inventory management portfolio. Their leadership, technical expertise, and collaborative spirit are essential for building and maintaining an effective and evolving cloud-based, AI powered inventory management system. Essential Functions (not limited to): Lead a team of software engineers responsible for developing and maintaining AI-powered functionalities within CDK’s inventory management portfolio Leads the design, development, and implementation of large-scale, enterprise-grade software applications using Java and related technologies (e.g., Spring Framework, JUnit) Mentor and guide software engineers, fostering a culture of innovation and technical excellence within the team Possess a deep understanding of machine learning algorithms and techniques relevant to inventory management, such as forecasting, demand predictions, and anomaly detection Stays up-to-date on the latest advancements and how they can be applied to optimize inventory management processes Leads highly complex design, development, testing, improvements, documentation, peer review and operationalization of several software applications for broader organizational initiatives, aligning with business strategy/priorities and meeting the requirements for function, performance/scale, security, availability, resiliency, reachability and maintainability Designs and implements AI models that analyzes inventory data, identifies patters, and generates insights to improve decision-making Collaborates closely with peers within engineering and product, to understand user needs and translate them into technical requirements Communicates effectively with others, to ensure proper data preparation, model training and integration within inventory management portfolio Oversees technical integration, ensuring holistic, smooth data flow and functionality Required Qualification and Attributes: Bachelor’s degree in related field with 12+ years progressive programming experience or 14 years of progressively advanced programming experience with a strong focus on Java Development 5+ years of relevant work experience architecting and developing distributed systems using event driven architectures, solving highly complex issues, encompassing all aspects of software development from idea to users enjoying the functionality and a stable experience with it In-depth knowledge of Java programming language, object-oriented design principles, and design patterns Proven experience in designing, developing, and deploying large-scale and maintainable software applications Must have relevant AI-powered inventory management experience for consideration Technical leadership experience leading project teams and setting technical direction Experience mentoring / coaching teams, specifically guiding them to face extremely complex technical challenges resulting in efficient and effective resolutions, aligned with technical direction / strategy Demonstrated experience building platforms, libraries, and/or services that will support large, intricate solutions Leading planning of technical infrastructure / strategy Building and maintaining architectural and design artifacts Practicing distributed Agile / Scrum methodology Demonstrated experience evangelizing technology, architecture, design and coding standards across the teams they collaborate with Action-oriented and results-focused Strong influencing skills; strong verbal and written communication skills along with prioritization of duties Preferred Qualifications: Master’s degree with 9+ years progressive programming experience Experience with cloud platforms Experience working in Agile development environments and with design systems SaaS or Automotive Industry Base Salary Ranges :$170,500 – $210,000 CDK Global is committed to fair and equitable compensation practices. Compensation packages are based on several factors, including but not limited to skills, experience, certifications, and work location. The total compensation package for this position may also include annual performance bonus, benefits and/or other applicable incentive compensation plans.We offer Medical, dental, and vision benefits in addition to: Paid Time Off (PTO) 401K Matching Program Tuition Reimbursement At CDK, we believe inclusion and diversity are essential in inspiring meaningful connections to our people, customers and communities. We are open, curious and encourage different views, so that everyone can be their best selves and make an impact. CDK is an Equal Opportunity Employer committed to creating an inclusive workforce where everyone is valued. Qualified applicants will receive consideration for employment without regard to race, color, creed, ancestry, national origin, gender, sexual orientation, gender identity, gender expression, marital status, creed or religion, age, disability (including pregnancy), results of genetic testing, service in the military, veteran status or any other category protected by law. Applicants for employment in the US must be authorized to work in the US. CDK may offer employer visa sponsorship to applicants.
event-driven-architecture Agile Artificial intelligence (AI) design-patterns ML model training cloud-platforms Principal Software Engineer integration JUnit Spring distributed-systems Data preparation Java Machine Learning forecasting Design Systems Scrum Leadership