Skills You'll Need
- At least 3 years of C++ programming experience in a Linux environment.
- Strong understanding of computer systems e.g. operating systems, networks, performance optimization, etc
- Experience in Object-Oriented design and multi threaded programming
- Experience in creating/supporting cross-platform multi threaded applications
- Strong analytical and problem solving skills
- Ideally some experience in developing low latency systems
- Experience with trading or execution systems preferred
- Bachelor's degree in Computer Science or Computer Engineering or related field
- Reliable and predictable availability
Ideally in Mumbai Metro Area but open to anywhere for the right candidate.
- Software Development with C++ for Autonomous drive project.
- QT Library (no GUI features)
- Object Oriented Analysis / Object Oriented Design
- C++ Template implementation
- C++17 specifics like “std::optional”
- Macro implementation
- Implementation of Clean Code
- Static Code Analysis
- Excellent GIT knowledge especially how to merge, Rebase
- University degree in Electrical/Electronic engineering, Computer Science or similar
- Minimum 1 to 5 years of embedded software development experience on Yocto Linux based projects in automotive domain
- Expert in C++ programming
- Strong debugging skills
- Good communication skills
- Strong C/C++ programming hands on experience
- Should have work experience on firmware development with strong Linux internals.
- Very good development, design and debugging experience on embedded firmware.
- Added advantage to have experience on Systems management/Out of Band/BMC domain experience
- Good to have automation experience using Python or shell scripting
- Excellent communication and problem solving skills
- Experience on tools like JIRA, Yocto, Visual studio, etc.
Relevant experience: 2-3 years
- Should be good at, C, C++, Linux driver development
- Should have worked in protocol like i2S, SPI, i2C. rf, 6lowpan, Tcp / Ip stack etc..
- Experience in porting MbedOS , FreeRTOS to different boards is good.
- Analyzing and enhancing efficiency, stability and scalability of system resources
- Design, develop, code, test and debug system software
- Provide post production support
- Interface with hardware design and development
- Proven working experience in software engineering
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills
Note: Self-motivated, goal oriented and good analytical skills.
- Works towards developing Stable & Efficient Firmwares for Embedded
- Responsible for developing Firmware which are Stable, Efficient and scalable.
- Responsible to create coherent and scalable architecture designs.
- Responsible for understanding and utilizing best BLE / IOT
- Responsible for understanding various RTOS design principles.
- Qualification: B.E. / B.Tech / M.C.A. in Computer Sciences.
- Must Proficient in Embedded C, C++, BLE, Zephyr RTOS, nRF.
- Ready to work from home.
- Should have above 4 years of experience.
- Product and Application Development in C.
- Develop and debug Applications and Firmware in/for Embedded Linux Environment
- Design and development of real-time, multi-processor / multi-controller systems.
- Module-level design with proper software design practices
- 4+ years of C development AND Linux experience
- Linux user space and kernel space programming experience
- Linux system programming
- Work experience with 8 / 32-bit microcontroller programming
- Experience with CAN, MODBUS, and high power systems software development.
- Source revision control (git, svn)
- Degree in Computer Science from a reputed institution
- Linux command line and development tools (e.g. shell script, Make, CMake, GDB, and GNU development tools)
- Exposure to a full product development cycle.
- Programming experience in an object-oriented language (C++)
- Programming experience in a high-level language (e.g. Python)
- Knowledge of common Linux system calls, kernel interfaces, Linux device drivers, and configuration.
- Exposure to multi-processor product architecture.
- Experience in open source components and libraries (e.g. libxml, glib, qt, dbus, OpenSSL, curl, etc)
- Experience with Level2 AC EV chargers and/or DC fast chargers.
- Experience OR Knowledge with standards ISO 15118-2
- Add "8 bit / 16 bit / 32 bit microcontroller experience, specially ARM"
RESPONSIBILITIES AND QUALIFICATIONS
+ 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
+ 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)
Software development for Automotive Pneumatic based Air Lift Systems for RV vehicles, suspension for off-road vehicles.
Responsibilities and Duties
• Author software requirements from system/customer requirements.
• Complete responsibility for BSW software components development/test/release/maintenance.
• Ability to code software for automotive time critical real-time applications.
• Experience in device drivers development for micro-controller.
• BSW API’s for application demand.
• Will have to configure and develop device drivers for MCU IO’s like Analog & Digital I/O, PWM, CAN, SPI, I2C and Bluetooth.
• Complete understanding of IS0-14229 and should be able to implement complete UDS stack.
• Timely communication with customer and inform any risks upfront.
• Quality control of release software via static and dynamic test.
• Project planning and estimations for software releases.
• B.Tech/M.Tech, 6+ years of experience into automotive software development.
• Expert in C Programming language.
• Experience in any scripting language (python, c#, perl etc.)
• Experience in setting up build environment and configuration of make and linker files.
• Experience in bootloader development is added advantage.
• Should be experienced in device driver development for peripherals like ADC, DIO, PWM, CAN, SPI, I2C,EEPROM and Bluetooth.
• Understand memory map of MCU and should be able to configure as per application needs.
• Experience in working with embedded system Kernels or RTOS.
• Experience in working with NXP S32 micro is added advantage.
• Excellent on board debugging skills.
Hands on experience in developing low level software for microcontroller based environments with ARM/Cortex processors or similar.
must do a Project:Linux Device Drivers
Experience in all aspects of designing and developing SW in C/C++ language for embedded platforms.
Advance level knowledge of modern microprocessor architecture – MMU, Caches, Exceptions, interrupts, instruction sets etc.
Experience in working with multiple common h/w interfaces like USB, Ethernet, PCIe, DDR controller, DMAC etc.
Device driver or stack development in at least one major Operating system for at least one complex interface.
Experience in SW protocol stacks like USB, TCP/IP, File system etc.
Experience in Board Bring up, Device drivers, Firmware, Boot Loaders, Tool chains & Build systems.
Understand project requirements, customer use cases & specifications for features and convert them to standout software. Initiate and drive Test strategies and Test plan design for software.
Linux Device Driver , DSP knowledge preferred
Required Experience and Qualifications