Senior Software Developer C++
Middle (2-5 years), Senior (5-10 years)
This job is inactive, but you can still send your resume to the company
HARMAN designs and engineers connected products and solutions for automakers, consumers, and enterprises worldwide, including connected car systems, audio and visual products, enterprise automation solutions and services supporting the Internet of Things. Chances are HARMAN and its innovative brands have already touched your life today.
As a Senior Software Developer C/C++ in Telematics team and you will have the opportunity to develop innovative software for automotive industry. Telematics exposes the internal car ecosystem to the Internet: the car becomes an element of the Internet of Things (IoT), offering a new level of access to car’s functionalities and a platform to build additional features in areas such as safety, security, comfort. You will work with concepts like Telematics, 5G and V2X (vehicle-to-everything).
You will be part of a team responsible for developing the software components for a Telematics team, with one of the next specializations: Telematics Applications, Connectivity, Calls, Security, SW Update, System, Autosar integration.
- Review Software specifications, Architecture and Design documents for the system
- Study and understand customer and internal specifications;
- Develop component design document based on specifications and given SW architecture
- Develop software components (C++/Linux)
- Resolve inconsistencies in case of unclear technical requirements in the specification by direct communication with the responsible internal/external stockholder
- Perform functional testing of developed source code, participate in code review sessions
- Act according the SW development standards of the automotive industry, in-car applications and software development processes
- Provide root cause analysis for issues, fix these issues and verify effectiveness of given fixes for the software components delivered.
- Debug knowledge using gdb
- Find optimal solutions for specific requirements and propose solutions
- Breakdown complex tasks
- Understand and improve required KPIs
- Analyze existing embedded software to add features, make modifications, fix bugs, and/or port to different platforms.
- Specify and implement unit tests for developed SW units
- Test software designs and code at the unit and system level to ensure that all requirements are met and the highest software quality is achieved.
- Participate in internal and customer-driven design reviews throughout the program.
- Coordinates software development activities with software team leader.
- Identifies product requirement or performance issues. Works with software team leader to implement a resolution.
- Communicate with peers inside the Harman group to coordinate software development. This includes occasional travel for training or coordination with other groups.
- Works with the customer to further define requirements and to resolve issues in case of need.
- May direct the work of 1-2 other engineers
- Develop and offer visibility on risk assessment for critical fixes
- Drive the development of complex tasks
- Bachelor degree in Computer Science or other relevant (IT connected) specializations
- At least 5+ years of experience as a software developer
- Solid knowledge of C++ proved by 5+ years of experience
- Linux expertise
- Experience in developing embedded applications
- Good knowledge about cryptographic algorithms
- Good knowledge about memory-protection techniques
- Experience with OpenSSL, TLS, IPSec, certificates handling
- Experience in developing Trusted Application, in a Trusted Execution Environment
- Knowledge in inter-process communication, threading, socket communication
- Good English communication skills both written and verbal
- Working knowledge of software development processes
- Working knowledge of embedded operating systems.
Nice to Have:
- Automotive experience
- Experience with SomeIP, CAPI, TCP, UDP protocols.
- Unified Modeling Language Knowledge
- Knowledge in agile software development methods (SCRUM, SAFe Agile)
- Knowledge in one of these areas is very appreciated:
- Connectivity protocols (Ethernet,WiFi, Bluetooth, 3G/4G)
- SW update (RedBend expertise)
- System Functions (Diagnostics, DTCs)
- Security (secure boot, TEE, DEV/Sec mode switch)
- Knowledge of how a Linux kernel works
- Coordinate resources if required
What we offer you :
- Attractive salary package
- Customized trainings
- Professional and friendly working environment, having the chance to work with state-of-the-art technology