SW Components Development

Posted:
9/8/2024, 5:00:00 PM

Location(s):
Florence, Tuscany, Italy ⋅ Tuscany, Italy

Experience Level(s):
Mid Level

Field(s):
Software Engineering

About Us

A career at Hitachi Rail will help create a legacy. With operations in every corner of the world, our work goes to the cutting-edge of digital transformation and technology. From the multi-cultural strength of our global organisation to the sustainable and innovative ways we work to bring people together, there’s something for everyone to get stuck into. And that’s where you come in.

Firenze, Italy (Hybrid)

SOFTWARE COMPONENTS DEVELOPMENT

We are seeking an experienced and highly skilled Senior Software Developer and Architect with a strong background in system programming in C++ within a Linux environment. The ideal candidate will have extensive experience in designing and developing complex software systems. This role requires a deep understanding of system-level programming, architectural design, and the ability to mentor a team of developers. 

Key Responsibilities: 

•    Architectural Design: Lead the design and architecture of robust, scalable, and secure system-level software solutions in C++ for Linux environments. 
•    Software Development: Write, review, and maintain high-quality, efficient, and reliable C++ code, ensuring adherence to best practices and coding standards. 
•    Debugging and Troubleshooting: Identify and resolve software defects and performance issues using debugging tools and techniques.  
•    Networking and Cybersecurity: Develop and implement advanced networking features and security measures, including encryption, authentication, and secure communications. 
•    System Optimization: Optimize system performance, reliability, and scalability through profiling, analysis, and code refinement. 
•    Agile Practices: Actively participate in Agile ceremonies (e.g., stand-ups, sprint planning, retrospectives) and contribute to continuous improvement initiatives within the development process. Foster a culture of collaboration, transparency, and accountability in line with Agile principles. 
•    Technical Leadership: Provide technical leadership and mentorship to junior and mid-level developers, fostering a culture of continuous learning and improvement. 
•    Collaboration: Work closely with cross-functional teams, including system administrators, network engineers, QA engineers, project engineers and security experts, to ensure seamless integration and high security standards. 
•    Documentation: Create and maintain comprehensive technical documentation, including architectural diagrams, design specifications, and coding guidelines. 
•    Code Reviews: Conduct thorough code reviews, providing constructive feedback to ensure high-quality code and adherence to architectural standards. 
•    R&D and Innovation: Stay updated with the latest developments in programming, networking, cybersecurity, and Agile practices, and apply this knowledge to improve existing systems and processes. 
•    Risk Management: Identify potential security vulnerabilities and develop strategies to mitigate risks, ensuring compliance with industry standards and regulations. 

Qualifications: 

•    Educational Background: Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field. 
•    Experience: At least 7-10 years of experience in software development, with a strong focus on system programming using modern C++ (at least C++17) within Linux environments. 
•    Networking Expertise: In-depth knowledge of network protocols (TCP/IP, UDP, etc.), socket programming, and experience with network security measures (firewalls, VPNs, SSL/TLS). 
•    Cybersecurity Skills: Strong understanding of cybersecurity principles, including encryption, authentication, secure coding practices, and vulnerability assessment. 
•    System-Level Programming: Extensive experience with low-level system programming, including multithreading, memory management, and performance optimization. 
•    Linux Expertise: Deep understanding of Linux internals, including kernel modules, file systems, and system calls. 
•    Agile Methodologies: Experience working in Agile teams, with a solid understanding of Agile principles, practices, and tools (e.g., Scrum, Kanban, Jira). 
•    Tools and Libraries: Proficiency with development tools like GCC, GDB, Valgrind, and version control systems like Git. Familiarity with CI/CD pipelines is a plus. 
•    Problem-Solving: Strong analytical and problem-solving skills, with the ability to diagnose complex system issues and design effective solutions. 
•    Communication: Excellent verbal and written communication skills, with the ability to articulate complex technical concepts to both technical and non-technical stakeholders. 
•    Team Leadership: Proven experience in leading and mentoring development teams, with strong leadership and project management skills. 
•    Team Player: Ability to work effectively in a team-oriented environment using Agile practices. 
Preferred Qualifications: 
•    Cybersecurity Certifications: Relevant certifications in the Cybersecurity area 
•    Scripting Languages: Knowledge of scripting languages such as Python or Bash. 
•    Libraries: Qt, ZeroMQ. 
•    Tools: cmake build system. 
•    Operating system: Yocto Linux, familiarity with cross-compile development environment for Linux embedded development. 
•    Other languages: knowledge of the Rust programming language. 
•    Performance Tuning: Familiarity with performance tuning and optimization techniques. 
•    CI/CD / Cloud: knowledge of containerization technologies (e.g. Docker, Kubernetes) and CI/CD concepts. Experience with cloud-based infrastructure and services (e.g., AWS, Azure) 
•    Open-Source Contributions: Contributions to open-source projects related to system programming. 
•    Rail and Signalling technologies expertise: especially related to light rail and metro systems.

Languages: 

•    Italian: Ability to communicate effectively in both written and spoken Italian. The main language used in the working environment is Italian. 
•    English: Ability to communicate effectively in both written and spoken English. It is required to understand technical documentation in English, attend English-language meetings and interact with international colleagues and customers (B2 level, preferable C1).

Thank you for your interest in Hitachi Rail. If your application is of interest, we will be in contact. Please do not hesitate to discover more about us and our latest jobs at https://www.hitachirail.com/careers.


At Hitachi Rail, there is a place for everyone. We welcome and value differences in background, age, gender, sexuality, family status, disability, race, nationality, ethnicity, religion, and world view. It is our commitment to create an inclusive environment - we are proud to be an equal opportunity employer.

We would be delighted if you would be one of our followers at https://www.linkedin.com/company/hitachirail.