Job Description:
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 ), 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.
Key Responsibilities:
• Technical Leadership:
o Lead a team of software engineers in the design, development, and maintenance of C# .NET applications.
o Mentor and guide junior engineers, fostering a culture of continuous learning and improvement.
o Drive technical discussions and make decisions on architecture and design.
• Software Development:
o Design, develop, and maintain C# .NET applications for automotive diagnostic systems.
o Implement UDS protocol (ISO ) for diagnostic communication.
o Experience in Implementation of UDS services with the Application Framework
o Develop and maintain Windows desktop applications using technologies such as WPF, WinForms, or UWP.
o Design and develop web applications using technologies such as , HTML, CSS, JavaScript, and modern frameworks like Angular or React.
o Ensure code quality through code reviews, testing, and continuous integration.
• UI/UX Design:
o Collaborate with designers to create user-friendly and visually appealing interfaces.
o Ensure that applications are intuitive, responsive, and provide an optimal user experience.
o Incorporate user feedback to refine and improve UI/UX designs.
• Architectural Design:
o Architect and design scalable and maintainable software solutions.
o Ensure adherence to software development best practices and industry standards.
o Collaborate with stakeholders to gather and analyse requirements and translate them into technical specifications.
• Automotive Industry Experience
o Application development for auto industry is mandatory
o Collaborate with automotive engineers to integrate diagnostic solutions with vehicle systems.
• DevOps:
o Implement and manage CI/CD pipelines for software delivery.
o Automate deployment processes and infrastructure provisioning.
o Monitor and maintain the health of development and production environments.
o Collaborate with IT and development teams to optimize the development workflow.
• Continuous Improvement:
o Lead efforts in continuous improvement of applications and codebase.
o Identify and implement opportunities for code optimization and performance enhancements.
o Conduct regular code reviews to ensure high standards of quality and maintainability.
• Software Development Lifecycle:
o Oversee the entire software development lifecycle, from requirements gathering to deployment and maintenance.
o Ensure timely delivery of projects and adherence to project timelines.
o Implement and monitor performance metrics to ensure high-quality software delivery.
Qualifications:
• Bachelor's degree in Computer Science, Engineering, or a related field.
• 6+ years of experience in software development with C# .NET.
• Strong understanding of the Unified Diagnostics Services (UDS) protocol (ISO ) and its implementation.
• Excellent experience with automotive diagnostics and vehicle communication networks (., CAN, LIN).
• Hands-on experience with DevOps tools and practices (., Jenkins, Docker, Kubernetes, Azure DevOps) will be added advantage.
• Proficiency in version control systems (., 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 , 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.
Preferred Qualifications:
• Experience with other automotive protocols (., OBD-II, DoIP).
• Knowledge of cloud platforms (., AWS, Azure, GCP).
• Familiarity with scripting languages (., Python, Bash).
• Experience with agile development methodologies.