We are seeking a highly skilled and experienced Lead Software Engineer with expertise in C# .NET, automotive diagnostics (specifically Unified Diagnostics Services - UDS protocol ISO 14229), DevOps, Windows desktop application technologies, web technologies, UI/UX design, debugging skills, application architecture, and continuous improvement. The ideal candidate will have a strong background in developing and implementing diagnostic software solutions, as well as hands-on experience with DevOps practices and the full software development lifecycle.
Responsibilities
- Technical Leadership:
- Lead a team of software engineers in the design, development, and maintenance of C# .NET applications.
- Mentor and guide junior engineers, fostering a culture of continuous learning and improvement.
- Drive technical discussions and make decisions on architecture and design.
- Software Development:
- Design, develop, and maintain C# .NET applications for automotive diagnostic systems.
- Implement UDS protocol (ISO 14229) for diagnostic communication.
- Develop and maintain Windows desktop applications using technologies such as WPF, WinForms, or UWP.
- Design and develop web applications using technologies such as ASP.NET, HTML, CSS, JavaScript, and modern frameworks like Angular or React.
- Ensure code quality through code reviews, testing, and continuous integration.
- UI/UX Design:
- Collaborate with designers to create user-friendly and visually appealing interfaces.
- Ensure that applications are intuitive, responsive, and provide an optimal user experience.
- Incorporate user feedback to refine and improve UI/UX designs.
- Architectural Design:
- Architect and design scalable and maintainable software solutions.
- Ensure adherence to software development best practices and industry standards.
- Collaborate with stakeholders to gather and analyze requirements and translate them into technical specifications.
- Automotive Diagnostics:
- Develop and implement diagnostic services using the UDS protocol.
- Work on troubleshooting and debugging diagnostic issues.
- Collaborate with automotive engineers to integrate diagnostic solutions with vehicle systems.
- DevOps:
- Implement and manage CI/CD pipelines for software delivery.
- Automate deployment processes and infrastructure provisioning.
- Monitor and maintain the health of development and production environments.
- Collaborate with IT and development teams to optimize the development workflow.
- Continuous Improvement:
- Lead efforts in continuous improvement of applications and codebase.
- Identify and implement opportunities for code optimization and performance enhancements.
- Conduct regular code reviews to ensure high standards of quality and maintainability.
- Software Development Lifecycle:
- Oversee the entire software development lifecycle, from requirements gathering to deployment and maintenance.
- Ensure timely delivery of projects and adherence to project timelines.
- Implement and monitor performance metrics to ensure high-quality software delivery.
Qualifications
- Bachelor's degree in Computer Science, Engineering, or a related field.
- 8+ years of experience in software development with C# .NET.
- Strong understanding of the Unified Diagnostics Services (UDS) protocol (ISO 14229) and its implementation.
- Excellent experience with automotive diagnostics and vehicle communication networks (e.g., CAN, LIN).
- Hands-on experience with DevOps tools and practices (e.g., Jenkins, Docker, Kubernetes, Azure DevOps) will be added advantage.
- Proficiency in version control systems (e.g., Git).
- Experience in developing Windows desktop applications using WPF, WinForms, or UWP.
- Good Documentation skills to document the updates of each release.
- Experience in developing web applications using ASP.NET, HTML, CSS, JavaScript, and modern frameworks like Angular or React.
- Strong debugging skills and experience with troubleshooting complex software issues.
- Proven experience in architecting and designing software solutions.
- Strong understanding of the software development lifecycle and project management.
- Experience with UI/UX design and creating user-friendly interfaces.
- Proven track record of continuous improvement and code optimization.
- Excellent problem-solving skills and attention to detail.
- Strong communication and collaboration skills.
Essential Skills
- Experience with other automotive protocols (e.g., OBD-II, DoIP).
- Knowledge of cloud platforms (e.g., AWS, Azure, GCP).
- Familiarity with scripting languages (e.g., Python, Bash).
- Experience with agile development methodologies.
Experience
7+ years