C# / C++ Developer
About Candidate
Introduction:
The candidate is a skilled Software Development Engineer with over a decade of experience specializing in embedded systems and .NET application development. They possess extensive expertise in embedded C, C++, and C# programming, with hands-on experience in developing and optimizing software for automotive and industrial applications. Proficient in using tools like Keil uVision, Eclipse, and Visual Studio, they have worked extensively with microcontrollers such as NXP S32K1xx and STM32F4. Their experience includes integrating hardware and software solutions, performing firmware updates, and managing embedded software lifecycles. Additionally, they have developed web applications using .NET technologies, Blazor, and DevExpress, focusing on delivering scalable and maintainable solutions. They are well-versed in modern development methodologies like Scrum, Kanban, and V-Model, emphasizing collaborative development and continuous integration practices. With strong skills in database management using MS SQL and Oracle, they have also contributed to performance optimization and software refactoring projects. The candidate is experienced in both manual and automated testing, ensuring high-quality software delivery. Their work has consistently demonstrated a commitment to enhancing system performance, reliability, and user experience across various platforms.
Responsibilities:
- Design, development, and implementation of embedded software based on customer requirements.
- Development and maintenance of firmware for microcontrollers, including NXP S32K1xx and STM32F4.
- Integration of embedded software with hardware components, ensuring optimal performance.
- Debugging, testing, and troubleshooting embedded systems using tools like J-Link, ULink, and Lauterbach.
- Development of desktop and web applications using .NET technologies, C#, Blazor, and DevExpress.
- Implementation and maintenance of software solutions for industrial and automotive applications.
- Enhancement and optimization of existing software by fixing issues, adding features, and performing code refactoring.
- Conducting unit tests, integration tests, and manual testing to ensure software quality.
- Writing and maintaining technical documentation, including requirements verification and system design specifications.
- Performing code reviews and implementing best coding practices to improve software maintainability.
- Developing and integrating web services using SOAP and REST APIs.
- Working with databases, including MS SQL, Oracle, and SQLite, for data management and optimization.
- Managing tasks within Agile development environments, including Scrum and Kanban methodologies.
- Supporting production processes by implementing firmware distribution, testing, and validation tools.
- Developing and modifying bootloaders for embedded systems.
- Implementing and supporting automated testing frameworks for continuous integration and deployment.
- Providing software solutions for HMI applications used in exhibitions and fairs.
- Configuring and maintaining CI/CD pipelines using Jenkins, Bitbucket, and Jira.
- Occasionally performing PCB modifications and soldering for hardware debugging and testing.