C++ Developer at Alten (Client: Delphi / Aptiv) (December 2017 – June 2018)
As a C++ Developer at Alten, working on a project for Delphi/Aptiv, I was deeply involved in the development of a sophisticated application designed to analyze images, videos, and video signals from hardware. The application featured a GUI and a dynamic link library (DLL) that enabled communication with other tools. My role extended across multiple facets of the software development lifecycle, from programming and library integration to process automation and performance optimization.
Key Responsibilities and Achievements:
-
Image and Video Analysis Application Development: Contributed to the development of an application capable of analyzing images and video signals, using C++ with MFC and QT frameworks in MS Visual Studio. The application’s architecture was designed to allow future enhancements, including transitioning communication methods to sockets.
-
Library Integration and Utilization: Successfully integrated and utilized critical libraries such as OpenCV and Tesseract, along with seven other libraries required for the project. This integration was essential for the application’s advanced image and video processing capabilities.
-
Automation and Scripting: Developed automation scripts in batch and Python to streamline hardware testing processes and improve workflow efficiency. This included automating the configuration, generation, build, and installation processes for both the libraries and the main application.
-
Architecture and Design Enhancement: Played a key role in improving and upgrading the software’s architecture, incorporating design patterns to make the system more flexible and maintainable. This involved significant refactoring and reorganization of the codebase.
-
Setup Automation: Created an automated setup process for clients, allowing the entire system to be configured and installed with a single command, complete with parameters, using Python.
-
Collaboration and Client Interaction: Worked closely with testers and other stakeholders to refine the application based on user feedback and requirements. This collaboration ensured that the application met the clients' needs and expectations.
-
Documentation and Testing: Authored comprehensive documentation, including UML diagrams, to provide clear guidance on the application’s architecture and functionality. Also, wrote unit tests to ensure code quality and reliability.
-
Version Control and Issue Resolution: Managed version control using TortoiseHG and resolved numerous issues, including fixing 50 stability bugs, addressing 5 race conditions, and optimizing data processes.
-
Performance Optimization: Significantly improved the application’s performance by optimizing thread usage, reducing CPU consumption from 50-60% to just 4-6%.
-
Team Leadership: Organized and coordinated the work of a small team of 2 coworkers, ensuring that tasks were efficiently distributed and completed on time.
Impact:
My contributions to the Delphi/Aptiv project were instrumental in delivering a highly optimized and flexible application for image and video analysis. The improvements in architecture, automation, and performance not only enhanced the application's capabilities but also provided a solid foundation for future developments. My role also underscored the importance of collaboration, clear communication, and continuous improvement in software development.