
Embedded Developer
at Multinational client dealing largely in Automotive sector.

Candidate shall be responsible for the overall quality of the module that he/she is responsible
Candidate shall be responsible for requirement elicitation and architecture of the module for instrument cluster in a production program
Candidate shall help the PM/architect in estimation
What You Need :
Expertise in C++ for more than 6 years
Experience in Automotive is preferred
Understanding of CAN/LIN protocol
Experience with unit testing tool (GTest/ LDRA etc.)
Experience in design tools like Rhapsody is desirable

Similar jobs
Job Responsibilities
Responsibilities for this position include, but are not limited to, the following.
Understand requirements and create low-level design using UML
Develop embedded software as per defined software requirements
Software integration & testing
Background & Skills
Education:
B.E/B. Tech/M.Tech/Master (Electronics/Telecommunications/Computers Science)OR equivalent
Experience & Attributes:
2-8 years’ experience in Embedded system software design, development, and testing.
Excellent communication skills, spoken and written English
Must have specialized knowledge :
· Embedded C
· Electronics
· RTOS
· Knowledge of Microcontrollers (RISC, CISC)
· CAN Communication & Protocols like UDS, KWP2000, CANopen and J1939
· MISRA standard - 2000/MISRA 2012
· SDLC, Agile Scrum
· Static analysis & Tools like LDRA or QAC or Vector cast
· Change Management & Tools like JIRA/VSTS
· Version control & Tools like SVN/GIT/Clearcase
· Traceability management & Tools like Reqtify or equivalent
· Design methodologies - like UML
· Software Test Life Cycle
Specialized knowledge – Will be Preferred
· Functional Safety life-cycle & Management - Applies to software design & development
· Safety standards like - IEC-61508, ISO-26262, ISO-25119, ISO-13849
Key Tasks and Responsibilities
· Software requirement specification writing
· Creating design for assigned modules
· Implementing the code for assigned requirements
· Perform unit testing
· Perform peer reviews or inspection of software work products
· Support testing team on defect analysis
· Adhere to Quality processes


Domain Skills
Leads a team of Engineers for designing and architecting next generation platform solutions for clusters/Interior monitoring systems
Architecting the design for new features and technologies for Platform.
Expertise in programming using C, C++ and good understanding of OOAD & UML
Capable of analyzing HW schematics to realize the SW requirements.
Support and resolve issue resolutions and clarification for cross-functional teams.
Support team lead and project manager at program level in resolving open issues
Technical Skills
Expertise in memory management (eMMC, NAND)
Design, Develop and test device drivers in Linux/Android/QNX platform.
Multithreaded programming, usage of IPCs, Interrupts & synchronization methods.
Expertise in using the communication protocols (I2C, SPI & UART) in the device driver.
Expertise in handling Device Tree based configurations.
Strong C & C++ programming skills, OOPS concepts
Linux Architecture knowhow
Strong in software development for real-time embedded systems
Experienced in Design/Architecture Tools like EA
Expertise in SCM Tools like GIT/GERRIT
Ability to create and review changes for Gerrit and participate in a continuous integration loop
Ability to create/understand the build infranstructure using CMake for the middleware components
Experience in Unit test tools like cppunit, gtest.
Know-how and experience of SAFe/Agile Development
Knowledge in Automotive Safety Standards and Processes (ASPICE).
Logical, Analytical and Debugging/Problem-Solving skills
Qualifications
B.E/B.Tech in Computer Science with hands on with Embedded software development on RTOS

Mandatory Skills:-
C Programming and data structures.
Linux Internals ( System calls, IPC, Network Programming, POSIX Multi-thread programming)
Desirable Skills :-
C++ and OOPs knowledge
Linux system start-up sysvinit, systemd,
Bootloaders : uBoot
Message bus protocols like dbus
Basic Linux Device driver knowledge
Linux Build framework – Yocto-Bitbake, Makefiles
Python scripting
Debug using tools such as GDB
Version control - GIT and SVN


Summary:
The embedded systems engineer designs, develops, tests, and maintains embedded systems. The engineer will identify and fix issues and work collaboratively with engineers, product managers, and others on various teams.
Responsibilities:
- Design and build embedded systems, including embedded system firmware
- Test and debug the systems
- Monitor and maintain the system after development
- Improve system efficiency and stability after development
- Collaborate with customers to create systems based on their needs
Requirements:
- Minimum of a bachelor's degree in computer science or engineering
- Professional experience in embedded systems
- Significant programming experience in C or C++
- Experience in trouble-shooting embedded systems and microcontroller peripherals
- Experience in working in real-time operating systems
- Experience in interfaces, IP protocols, and hardware subsystems
- Proficiency in working with common embedded systems communication protocols
- Strong interpersonal and writing skills
- Ability to work as part of a team
- Exceptional analytical and problem-solving skills
- Self-motivated and passionate about your work and embedded systems
- Always eager to learn and improve
Experience - 6 to 10yrs
Location - Bangalore , Pune and Mumbai
Job description -
- Bachelors in Electronics & Communication or equivalent
- 6-10 yrs experience in embedded software development
- Hands-on embedded C skills (mandatory)
- Experience with any microcontrollers MCU (mandatory) – Renesas/ Infineon/ Cypress/ ST-Micro /TI / Microchip
- Experience with any of peripherals & communication protocols usage in application development (mandatory) – UART, I2C, SPI, I2S, CAN, USB, ADC, DAC, EEPROM, Flash memory
- Experience with any RTOS – FreeRTOS, Azure RTOS, ThreadX
- Experience with any networking & connectivity modules (preferred & added advantage) – Ethernet, WiFi, BLE, MQTT, COAP
- Exposure to any IoT frameworks (desirable not mandatory) – IoTivity, AWS IoT, Azure IoT
- Experience with any device driver development, driver optimisation (desirable not mandatory)
- Good ability to read data sheets & technical manuals
RESPONSIBILITIES AND QUALIFICATIONS
Responsibilities
+ Design, build and maintain low latency, high-performance electronic trading platform components, with a focus on market data, exchange and client connectivity and risk controls.
+ Deliver continuous optimization for latency, scale and resiliency improvements.
+ Participate in system builds for various markets globally, have curiosity and interest in understanding market microstructure details, work closely with engineering, sales and product teams globally for successful delivery of projects.
+ Basic Qualifications
+ Bachelors or Masters degree in computer science or engineering or equivalent experience
+ 5+ years of professional experience developing deterministic high performance, low latency systems in python/C++ (counted in single digit microseconds)
+ Prior experience with FIX and binary exchange connectivity and market data protocols preferred
+ Strong knowledge of object oriented programming, data structures, algorithms and design patterns
+ Critical path analysis, performance optimization and hardware acceleration.
+ Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack
+ Experience developing distributed architecture systems and messaging protocols
+ Strong analytical and problem solving skills
+ Comfortable in a fast-paced environment, self-motivated, results driven and commercially focused
Preferred Qualifications
+ Software development in python/C++ in the context of high performance (low- latency, high-throughput) real-time computing.
+ Familiarity with STL and C++11 language extensions, Boost
+ Network programming (sockets, TCP/UDP/Multicast protocols)
+ Multi-threading, concurrent programming
+ Intimate knowledge of compilers, flow of data at hardware level (memory/ caches, buses) + Some experience with FPGA or other hardware acceleration technologies
+ Experience processing large static datasets as well as high volume ticking data sources
+ Over 3 years' experience in Financial industry (Plus)



Experience in Object-Oriented design and Multithreaded programming
Strong analytical and problem solving skills
Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
Degree in Computer Science or Computer Engineering or related field
Independent team player with an eye for details and report on status and planning of own work.





