Resume

Bruno Ragucci – Sr. Embedded Software Engineer 

I am a professional with advanced expertise in Yocto, covering all aspects of building and customizing embedded Linux distributions. With a methodical approach and in-depth knowledge of the framework, I am able to optimize and scale complex embedded solutions, ensuring high efficiency and fine-grained control across all operating system levels.

Technical Skills

  1. In-depth Yocto Build Configuration and Customization:
    • Skilled in Yocto build configuration, with extensive experience in modifying and adapting recipes and layers to create tailored Linux distributions. Capable of optimizing and refining recipes to support customized applications and specific hardware requirements.
    • Advanced experience with layers like meta-oe, meta-networking, meta-python, and more. Proficient in integrating third-party layers and creating custom layers to extend and optimize distributions.
  2. Yocto Recipe Writing and Optimization:
    • Proficient in creating and managing custom recipes for specific software, optimizing each package to meet limited resource constraints and address memory and performance requirements of embedded hardware.
    • Experience in implementing and updating recipes for specific package versions, ensuring dependency consistency and cache management to improve build times.
  3. Hardware and Driver Integration:
    • Deep understanding of hardware module and driver integration within embedded systems, with experience porting and configuring drivers for ARM, x86, and other custom architectures.
    • Expertise in optimizing kernel, modules, and system tools to increase compatibility with specific hardware and reduce the distribution’s footprint.
  4. Advanced Debugging and Troubleshooting:
    • Advanced debugging skills using tools like gdb, strace, perf, and detailed build log analysis to address runtime issues, package incompatibilities, or hardware malfunctions.
    • Proficient in embedded platform debugging and in using profiling tools to ensure system stability and reliability.
  5. Automation and CI/CD with Yocto:
    • Experienced in integrating CI/CD pipelines for automated Yocto builds, using tools like Jenkins, GitLab CI, and Docker to ensure build consistency and quality. This includes configuring automated jobs that monitor and resolve build errors, ensuring continuous deployment of updates and rapid test cycles.
  6. Security Management and Compliance:
    • Strong focus on security within embedded distributions, implementing best practices for image security, such as kernel hardening, configuring security measures in system packages, and frequent updates.
    • In-depth knowledge of compliance with standards such as GPL, LGPL, MIT, and other open-source licenses to ensure distributions meet regulatory requirements.

Achievements and Projects

  • Custom Embedded Systems Projects: Developed and deployed custom distributions for specific applications (IoT, automotive, industrial), significantly reducing system startup time and resource usage.
  • Build Optimization and Reduction: Implemented solutions that reduced build times by 30-40% through recipe optimization and effective cache management, accelerating development and testing processes.
  • System Security and Robustness: Improved system security in various projects by hardening the kernel and implementing sandboxing techniques for critical applications, ensuring integrity and stability in critical operational environments.

SUMMARY
  • 5+ years of experience in the Professional Field

Languages
• Excellent knowledge of C, C ++, JAVA
• Good knowledge of VHDL, J2EE, JavaFX, Python, HTML, Javascript
Embedded systems
• Excellent knowledge of the firmware development of microcontroller systems.
• Excellent knowledge of the main communication protocols associated with integrated systems: SPI, Can BUS, I2C, USB, UART and Ethernet
• Excellent knowledge of operating systems in real time: VxWorks, LinuxRT, FreeRTOS, ChibiOS
• Good knowledge about the linux driver development
• Excellent knowledge of the tools provided by the tool chain for firmware development
• Good knowledge of prototyping processes on FPGA technologies

Distribuite computation:
• Excellent knowledge of the frameworks: Apache Storm, Apache HBase, Apache Flink
Others:
• Good knowledge of frameworks such as: Spring, Hybernate,
• Excellent knowledge of software testing processes
• Excellent knowledge of configuration tools such as Git, Serena, SVN
• Excellent knowledge of the methods and tools for the software development cycle: UML, DOORS, Make, Cmake, Doxygen
• Apache Tomcat

Networking:
• Good knowledge about the networking protocols and configuration
• Excellent knowledge of the layer TCP/IP


EXPERIENCE

(Sep 2020 – Present) – Senior Software Engineer
Hitachi Rail · Full-time · Naples, Campania, Italy

Posted as Senior Embedded Software Engineer with the below main responsabilities:
– Developing and migration existing products to Embedded Linux-OS whit Yocto framework.
– Yocto recipes builder and maintainer about custom applications and bsp
– Design and implementation software solution about the TCMS platform
– Contribute to the TCMS platform guidelines documentation, diffusion and implementation
– Proposing and improvements to the existing software solution
– Support to the products line teams with the implementation and optimizing of the TCMS in according their deliverables
– Design and development of the embedded software for Yocto about the TCMS platform.
– Support to continuos integration activities

It is also involved in the development of tools for configuring diagnostic systems, as well as in the evolutionary maintenance of the tools used by customers for data analysis.
Technologies involved: Linux Embedded, Yocto, C, C++, Java, Python, VBA, Javascript, MISRA, Design Patterns, Posix, TRDP, IPTCOM, Doors, subversion, jenkins


(Jun 2018 – Aug 2020) – Senior Embedded Software Engineer
Capgemini · Full-time Rome, Italy

Customer: MBDA Spa
Sector: Aerospace & Defence
Area: Diagnostic software building of the missile systems

Posted as a consultant to a client who works in the defense sector in the role of software engineer. The activities concern the diagnostic software development of the devices made by the before mentioned customer.
The activities are based on the entire process of the software development cycle envisaged by the MIL-498 standard, they can be summarized in:
Design of the software component to be implemented.
Coding in C and C ++ languages in compliance with some coding rules also dictated by the standard followed
Development about linux kernel modules of the drivers needed to manage a custom device
Component verification and validation
In addition, the drafting of the documentation envisaged by the previously mentioned standard is envisaged

Technologies involved: C, C++, MISRA, Design Patterns, RTOS, VxWorks, Linux, Posix, MIL-498, Bus1553, RS485, RS422, Digtal IO, Rhapsody, Doors,
git


(Nov 2017 – May 2018) – Senior Embedded Software Engineer
Full-time Rome, Italy

Customer: Octo Telematics Spa
Sector: Automotive

Main activities and responsibilites: Research and development about the incremental evolving maintenance of the devices used as geo-localization, crash detection, driving behavior and navigation tracking. The main kinds of equipment used have been some toolchain that allows to develop embedded software for the some architecture such as ARM CORTEX M4, Renesas 16 bit microcontroller, AVR atmega 32 bit, ST Teseo 1/2/3, ST20.

– Research and planning about the some functionatilities to introduce in products
– Development of the solutions planned by the conding in c language
– Tasks management about ST OS real time system
– Driver develoment about by means of kind of protocols such as: UART, RS485, SPI, I2C, CAN
– Development and Integration of some applications about the GNSS navigation
– Data analysis about CANBUS PROTOCOL and the main kind of standards used by the automotive environment such as OBDII / EOBD(SAE J1979 / ISO 15031-5| DoCAN ISO 15765-4

Technologies involved: C, C++, RTOS,CANBUS, SPI, i2C, UART, OBD2, Debug, Lauterbach


(May 2017 – Aug 2017) -Flight Control System Software Engineer
Alten – Full-time Albenga(SV), Italy

Customer: Piaggio Aerospace Spa
Sector: Aerospace


Posteded as Flight Control System Engineer in the software development group, the activities involved the development and evolutionary maintenance of some software modules, part of the one in charge of controlling an unmanned aircraft. The activities were carried out with DO178-B as the reference standard
In this task there was the possibility of acquiring new competence, especially regard to real time operating systems and the processes envisaged by the standard, as well as the consolidation of others already in possession such as the production of low-level software

Technologies involved: C, C++, MISRA, Autotools, VxWorks, Arinc 653, DO-178B, Posix, V&V

Education

(2013 – 2016) Master’s Engineering (M.Eng.), Computer Engineering
Università degli Studi di Napoli Federico II

Master Thesis: MONITORAGGIO DELLA SICUREZZA SITUATION AWARE MEDIANTE DATA FUSION
Supervisor: Prof. Alessandro Cilardo


(2004 – 2012) Bachelor of Engineering (B.E.), Computer Engineering
Università degli Studi di Napoli Federico II

Bachelor Thesis: Realizzazione di un editor (in JAVA) di ontologie multimediali basato su caratteristiche testuali e descrittori MPEG7
Supervisor: Prof. Antonio Picariello