
Position Overview:
This position is part of highly skilled fimrware team that do software board bring up of bare silicon for next generation products. In order to write system software for embedded electronic products, this position requires academic background in electronics engineering to understand hardware concepts such as digital logic, schematics, and microprocessor communications to develop effective embedded software.
Candidate should have complete knowledge of Software development cycle from architecture definition to the implementation.
Responsibilities:
- Must wear multiple hats from analyzing field and factory reported issues to software integration.
- Be a liason for troubleshooting and debugging complex systems and identifying the root cause.
- Develop detailed design documents and customer facing application notes for the system and IOT features for Mobile routers.
- Act as a product lead and be part of bigger team in software bring up.
- Ability to work on Low level software such as bootloaders and understanding of low level functional blocks is a must.
- Work on Linux kernel and configuration.
- Write or port device drivers for Ethernet, USB, GPIO, LED, Bluetooth, Accelormeter, LCD and touch screen.
- Debug stability issues in data routing between WAN and LAN interfaces.
- Work with Software QA with test plan and execution.
- Work with Hardware team to identify and root cause stability problems.
Experience/Requirements:
- Demonstrable knowledge of C, C++, Assembly programming skills
- Overall 10+ years of experience in embedded environment preferabily Linux.
- Board bring up proficiency with bootloaders and other low level software, must be very good with debugging techniques.
- Experience in TCP/IP networking is must for trouble shooting throughput and other traffic issues.
- Driver experience with I2C, SPI, UART, LCD, Ethernet, PCIe is a plus.
- Experience with low level debugging using JTAG.
- Experience with Makefiles, and build environments such as PTXDIST, Yocto and Buildroot.
- Experience with version control such as git and svn.
- Good communication skills and team player.
- Ability to work independently and autonomously to meet deadlines, in a fast-changing environment.
Education:
Bachelor in Electronic and Communication or related degree
Similar jobs
Job Objective:
We are seeking an experienced Developer with a strong background in C++, CUDA programming,
and Linux to guide our development team in building cutting-edge solutions for device
integration and high-performance computing tasks. This is a hands-on leadership position that
combines technical expertise with team management skills to deliver high-quality software
products.
Primary responsibilities:
Software Development:
• Develop and maintain high-performance applications using C++ and CUDA.
• Design and implement parallel algorithms for GPUs to accelerate computational
workloads.
Performance Optimization:
• Optimize CUDA kernels for performance, scalability, and memory efficiency.
• Analyze performance bottlenecks and propose innovative solutions.
Code Review and Testing:
• Conduct code reviews to ensure adherence to coding standards and best practices.
• Develop and execute test cases to validate functionality and performance.
Collaboration:
• Work closely with the software engineering and research teams to understand
requirements and deliver robust solutions.
• Provide technical guidance and mentoring to junior team members when necessary.
Documentation:
• Write and maintain technical documentation, including design specifications and user
manuals.
Required Skills:
• C++: Strong proficiency in modern C++ (C++11/14/17/20).
• CUDA Programming: Extensive experience in developing, debugging, and optimizing
CUDA applications.
• GPU Optimization: Familiarity with memory hierarchy, shared memory, streams, and
warp-level operations in CUDA.
• Parallel Computing: Solid understanding of parallel algorithms and multi-threaded
programming.
• Mathematical and Analytical Skills: Strong foundation in linear algebra, calculus, and
numerical methods.
• Tools: Experience with debugging/profiling tools like Nsight, CUDA Memcheck, or
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
Desired Candidate Profile For Embedded Developer Role
1. Proficient in C language
2. Proficient in Linux application development, TCP/IP protocol, multi-threaded programming, basic encryption algorithm,
3. familiar with Linux system commonly used API and commands, proficient in basic debugging means and methods.
4. Proficient in STM32 and other SCM development, skilled in using Keil and other integrated development environment,
5. proficient in serial port communication programming, Bluetooth, GPIO, SPI, EEPROM and other development, proficient in basic debugging means and methods.
6. Have basic hardware skills and knowledge, can draw PCB and read circuit diagrams, can use an oscilloscope and other tools for debugging.
7. Familiar with embedded system, free-RTOS, RT-Thread, etc.
8. Fluency in both spoken and written English.
- Firmware Design and Development experience on different micro-controllers.
- C/C++ programming
- Linux Commands Operating System Concepts
- board bring up, embedded software, Kernel Build, Yocto
- Shell scripting Networking Concepts Openwrt OS Concepts
- Must have good Communication and Presentable skills.
- Experience on any Wifi, Bluetooth, GSM modules is a plus.
- Design, develop, code, test and debug system software.
- 3-7 years of experience in development of Algorithm & Functions for advance driver assist systems (ADAS), Autonomous driving (AD)
- Experienced in development using MATLAB Simulink, TargetLink, Stateflow
- Design and development of automotive feature/function software/
components (ACC, AEB, TSR, LKA etc.) for ADAS/AD systems - Coordination and regular interaction with different stakeholders and teams like testing, requirements, leads etc.
- Participate in SW requirement generation, SW architecture, detailed design etc
Post: Embedded Developer
SKILLS REQUIRED:
• Proficiency and Hands on Experience on Embedded C, various protocols such as I2C, SPI, RS232 etc.
• Testing and debugging of hardware and firmware
REQUIRED QUALIFICATION
• B.E. E&TC , Electronics
• Certification in Embedded System Development/Application
• Minimum 1 years of Experience in same domain
- Bachelor’s degree in Electrical or Electronics Engineering with 1-3 years of relevant experience.
- Highly experienced in Embedded C, C++ coding as per MISRA standards
- Experience in firmware programming for 8 bit, 16 bit and 32 bit controllers.
- Knowledgeable in Linker Scripts, Make files & firmware debugging using JTAG or on the UART console.
- Experienced in Communication peripherals like SPI, UART, I2C, CAN, etc.
- Ideation, designing, prototyping, and developing as per product requirements.
- Expertise in system architecture and design for Embedded software systems.
- Develop modular Embedded Code to port into different projects.
- Experience on Real Time Systems and Scheduling mechanisms
- Development experience in "middleware" / “application” / Low layer.
- Experience with developing embedded code for networking technologies like TCP/IP and UDP would be a plus.
- Document state machine diagrams, flow charts to understand the system architecture
- Working closely with Design teams to understand Hardware Implementation.
- Develop Test methods, in some cases automated test cases to test the firmware code and support hardware engineers.
- Use Debuggers, oscilloscopes, power supplies, and other necessary electrical tools to debug the code for problem-solving.
- Excellent reading skills for complete understanding of technical documents such as Processor Architecture Specifications and MCU hardware manuals, schematics etc.
- Ability to generate ideas in response to complex issues and execute on solutions.
- Python programming is a big plus.
Flux Auto builds autonomous vehicle technology for commercial and industrial applications.
Responsibilities:
- Work on Embedded Software for deployment on the self-driving vehicle.
- Investigate, develop different system design and architecture for ADAS system.
- ROS version of Firmware package for multiple sensors with different communication protocols.
- Work on Serial communication (GMSL/CAN/LIN/FlexRay/Ethernet/UDP).
- Work on Multi threading and Data preprocessing.
Requirements:
- Experience in the fields of firmware development of Camera, Radar, Lidar, inertial sensors, Micro Controllers, ISP, Serdec.
- Candidate should have a strong background in Embedded system and Communication protocols.
- Candidate should have hands-on knowledge of data structures and algorithms for Data processing, and familiar with ROS (robot operating system)
- Candidate should have hands-on knowledge on Multiple sensors, Data pre processing (Clustering, noise removal, etc.) and image preprocessing (Histogram equalization, Tone mapping, etc. )
- Candidate should have real-world experience in implementing Firmware packages for multiple sensors and communication protocols
- Candidate should have experience in programming in C++ and with robust, safety-critical, efficient code
Additional requirement: Active U.S visa.
Good to Have:
- Domain knowledge and implementation experience with multiple sensor, inertial sensors, and general Embedded System Architecture
- Real world experience with system integration and deployment
- Worked on sensor fusion and Embedded systems
- Experience with Nvidia SOCs and Drive works Architecture
Benefits:
- Health Insurance
- Employee Stock Options
- Work From Home
- Flexible work hours
- Monthly Team outings and events
- Budget for Upskilling
- Flexible vacation
Equal Opportunity Employer:
Flux Auto's employment decisions are made without regard to race, color, religion, national origin, gender, sexual orientation, age, gender identity, genetic factors, military/veteran status or other characteristics protected by law.
Vaccination Requirements:
Flux Auto is implementing new requirements for employees to be fully vaccinated from COVID-19.
Apply Now!
8+ years of experience Excellent skills in C/C++/Java programming in embedded domain
Strong experience in the area of Automotive, Android Embedded development and Connectivity Technologies
Strong experience on Android architecture, HAL, BSP, customize driver in Android HAL, Android boot up sequence
Familiar with Android Build System and procedure and able to provide ideas to improve continuous build and integration
Experience in Hardware peripherals like Ethernet, CAN, DMA, I2C, SPI, UART, Hardware Accelerator, AFE , LCD, backlight, touchcontroller
Experience with design/ modification to Hardware Abstraction Libraries (HAL) for Android support of low-level device features.
Experience in debugging on a wide range of Linux Kernel drivers and Android framework HALs e.g. Audio/Video, USB, Bluetooth, WiFi
Fluent in industry standard software development tools: HSW/HE debuggers, code revision control systems (GIT, Perforce), IDEs and build tools
Exposure/experience in Automotive Embedded Software Development is a plus







