Job Description
We are seeking an experienced Software Development Manager to lead our application development organization and drive strategic technical initiatives. This pivotal leadership role will oversee the architecture, development, and delivery of business-critical applications that power our digital transformation & support the Dassault 3DX and Siemens Teamcenter PLM platforms. The ideal candidate will excel at building and mentoring high-performing engineering teams across local & global locations while establishing a culture of technical excellence and innovation. You'll bring extensive experience leading enterprise-scale application development using modern frameworks, cloud-native technologies, and agile methodologies. Expertise in application security, performance optimization, and CI/CD practices will be instrumental in delivering resilient, scalable solutions that meet business timelines. This is a high-visibility position requiring collaborative leadership across technical and business stakeholders.
Responsibilities
- Lead a team of technical engineers to -
- Develop Microservices: Architect and implement scalable, high-performance Java-based microservices using Spring Boot and Spring Cloud. Create RESTful APIs that support both synchronous and asynchronous data processing workflows.
- Backend Development: Develop robust server-side applications using Java 17+ and the Spring ecosystem (Spring Framework, Spring Data, Spring Security). Implement efficient data access layers using relational databases.
- Frontend Development: Build and integrate responsive frontend components using Angular or React that communicate effectively with Java backend services. Implement efficient data binding and state management patterns.
- Data Processing: Develop data processing pipelines using Java streams, Completable Future, and reactive programming models.
- Cloud-Native Applications: Deploy and manage containerized applications on Google Cloud Platform (GCP) using Cloud Run & GKE. Implement service discovery, configuration management, and circuit breakers.
- Security Implementation: Apply security best practices in Java applications, including MFA, ADFS, authentication, method-level security, and data encryption all with least privileged modeling.
- Performance Optimization: Profile and optimize Java application performance, including JVM tuning, connection pooling, caching strategies, and database query optimization.
- API Gateway & Service Mesh: Implement API gateway patterns using Apigee Configure service-to-service communication with appropriate resilience patterns.
- CI/CD for Java Applications: Set up and maintain CI/CD pipelines for Java applications using tools like Tekton, Maven/Gradle, and Github Actions for comprehensive testing.
- Foundational Understanding of AI/ML Concepts: Possess a solid understanding of core AI and Machine Learning (ML) concepts. Familiarity with generative AI and large language models (LLMs).
Qualifications
- Master's degree in computer science, Data Engineering, Information Systems, or equivalent work experience
- 10+ years of experience in Software Engineering, managing complex application development adopting Modern software engineering practices
- Proven ability to build and lead high-performing engineering teams
- Experience working within public cloud ecosystems (AWS, GCP, or Azure)
- Experience working with senior leadership teams and building business relationships