
About the role
Experience in Firmware/Software programming in embedded Linux & RTOS based application development. Candidate must have a very good understanding of ARM processor, hardware and custom board or product development experience.
Roles and Responsibilities:
- Design, code and integrate software for an embedded Linux/RTOS targeted application (applications, drivers, framework)
- Customization, deployment and maintenance of Linux distribution
- Interact with Linux kernel, integrate new device drivers Improvement and maintain existing software components
- Perform unit test, Integration test, verification and validation of the product developed.
- Assist with the hardware design surrounding the processor
- Document the projects according to standards (protocols, architecture, technical specifications, etc.)
Qualifications:
- Bachelor degree in Electronics or computer science engineering.
- Minimum 6 - 12 years of experience in embedded Linux programming.
Specific skills:
- Expert in C programming with RTOS.
- Hands-On experience with Protocol development.
- Nice to have Protocol development experience such as USB or DP, HDMI or equivalent.
- System level design and understanding of overall system
- Strong knowledge of Linux, ARM processor architecture with SOC, FPGA interface is a plus.
- Hand-on experience on Linux kernel and device-driver development and debugging.
- Knowledge/Experience of TCP/IP, Network programming.
- Ability to write effective and reusable code according to best practices.
- Must be a dynamic, autonomous, and team-oriented individual.
- Knowledge of hardware and low-level development is an asset.

About Cornertree
About
Connect with the team
Similar jobs
About Rekise Marine
Rekise Marine is a startup focused on sustainably enhancing the utility of oceans through autonomous robotic infrastructure. Our efforts center on developing advanced autonomous technology for the maritime industry, serving both defense and commercial sectors globally. We specialize in creating autonomous vessels both surface and underwater,as well as autonomous port infrastructure. Currently, we are building the flagship autonomous platform of the Indian Navy.
About the Role
We are looking for a highly skilled Senior Embedded Software Engineer to lead the development and deployment of embedded systems for our next-generation marine robotics platforms. This role involves working at the intersection of hardware and software to deliver robust, reliable, and fault-tolerant systems that can operate autonomously for extended durations in harsh marine conditions.
You will be responsible for architecting embedded solutions across platforms like NVIDIA Jetson, Raspberry Pi, and microcontroller-based systems. You will lead the integration of subsystems such as power management, sensor networks, motor control, and environmental monitoring into cohesive embedded systems.
Key Responsibilities
System Architecture & Development
- Design, implement, and optimize embedded software solutions across Jetson, Raspberry Pi, and MCU-based platforms
- Develop and maintain hardware abstraction layers, device drivers, and system integration code
- Lead the integration of subsystems including BMS, motor controllers, leak detection, and power distribution into embedded frameworks
Hardware-Software Integration
- Interface with various sensors (IMUs, cameras, environmental sensors) and actuators using SPI, I2C, UART, CAN, and GPIO
- Collaborate with electronics and mechanical teams to align design specifications with real-world constraints
- Evaluate and select suitable embedded hardware components for marine-grade applications
Debugging, Testing, and Optimization
- Lead debugging and validation of embedded systems in lab and field conditions
- Develop automated test setups and documentation for embedded codebases
- Optimize for power, memory, and real-time performance, especially in resource-constrained environments
Team Leadership and Project Contribution
- Mentor junior engineers in embedded systems development and best practices
- Contribute to architecture decisions and code reviews
- Ensure compliance with system reliability, safety, and documentation standards for field-deployable systems
Required Skills & Experience
Education
- Bachelor’s or Master’s degree in Electrical/Electronics Engineering, Mechatronics, or related field
Experience
- 4+ years of experience in embedded systems development, with at least 2+ years in lead or architect roles
- Hands-on experience developing on both Linux-based systems (Jetson, Pi) and MCUs (ARM, STM32, etc.)
- Proven success in taking embedded systems from prototyping to production-level deployment
Technical Proficiency
- Strong in C++ programming with low-level hardware interface experience
- Familiar with RTOS concepts and embedded Linux development
- Proficient with debugging tools, oscilloscopes, logic analyzers, and hardware bring-up
- Familiar with EDA tools like KiCad or Eagle
- Experience with ROS or ROS2 is a plus
Why You’ll Love Working With Us
- A chance to be part of a leading marine robotics startup in India.
- Competitive salary.
- Flexible and innovative work environment promoting collaboration.
- A role where your contributions make a real difference and drive impact.
- Opportunities for travel in relation to customer interactions and field testing

JOB DESCRIPTION:
Position : Linux BSP developer
Location : Bangalore
Experience : 3 to 10 Years
Requirements :
- 3 to 10 Years of proficiency working on C and Embedded Linux BSP (Board Support Package).
- Highly proficient and possess working in Linux kernel and Linux device drivers.
- Hands on experience on working on platform of MIPS, ARM etc.
- Working knowledge and strong understanding of Device Tree.
- Understanding of Make files, their customization and Cross Compilation and Shell scripting.
- Experience in working on U-boot.
- Video and Camera domain knowledge will be a BIG advantage.
- Knowledge of secure boot would be an added advantage.
Responsibilities:
- Design and implement embedded software applications for IoT devices using C programming language.
- Develop and maintain firmware for Raspberry Pi-based systems, ensuring optimal performance and compatibility with various IoT sensors and peripherals.
- Collaborate with hardware engineers to define and document system requirements and specifications.
- Conduct thorough testing and debugging of embedded software to identify and resolve any issues or bugs.
- Optimize code and improve system performance to enhance the overall user experience.
- Stay updated with the latest industry trends and technologies in embedded systems and IoT development.
- Work closely with the product management team to translate customer requirements into technical specifications.
- Provide technical support and guidance to the team during the development and deployment phases.
- Participate in code reviews and contribute to the continuous improvement of software development processes.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- Strong proficiency in C programming language with a solid understanding of embedded systems.
- Experience developing software for Raspberry Pi or similar single-board computers.
- Knowledge of IoT protocols and technologies such as MQTT, CoAP, TCP/IP, and wireless communication (Wi-Fi, Bluetooth, etc.).
- Familiarity with various sensors, actuators, and electronic components commonly used in IoT devices.
- Solid understanding of software development methodologies and version control systems (e.g., Git).
- Strong problem-solving skills and the ability to debug complex issues in embedded systems.
- Excellent communication and teamwork skills to collaborate effectively with cross-functional teams.
- Prior experience in developing IoT applications or working on IoT projects is a plus.
- 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.
Develop, design, and implement embedded applications.
· Prepares appropriate documentation as required by internal product development processes
· Conducts and participates in design, code and test reviews and inspections, as well as the feasibility, efficacy and compliance to functional and regulatory standards.
· Works closely with the software team, the software verification team, the functional manager and the project manager.
· Collaborates with distributed, cross-functional teams to ensure products meet quality, performance, scalability, reliability and schedule goals.
· Investigates software, hardware, and system problems using a variety of techniques and provides innovative solutions.
· Conduct and participate in reviews and inspections for all elements in the firmware lifecycle to ensure that our code quality and customer satisfaction goals are achieved
· Integrate and validate new product designs
· Provide post-production support
Skill Sets:
- B.Tech. / M.Tech. (any stream)
· Good knowledge in firmware development field with more than 3 years of experience
· Basic knowledge of software life cycle, algorithm and data structure.
· Excellent knowledge of OS, coding techniques, IP protocols, interfaces and hardware subsystems
· Adequate knowledge of reading schematics and data sheets for components.
· Ability to understand the electrical schematics and work closely with electrical team.
· Experience with Real Time Operating Systems and Embedded Linux.
· Mode of network connectivity - good idea about GSM/GPRS, Wifi, Ethernet mode of connections. TCP, MQTT, HTTP mode of connection will be a big plus
· Protocols Like UART, SPI, I2C, CAN, MODBUS, TCP/IP, USB, Bluetooth.
· Experience in modules like Wi-Fi, BLE, Lora WAN, ZIGBEE, RF etc.
· Should have experience in working with TFT and LED displays.
· Extensive experience in micro-controller/microprocessor (like ARM Cortex M, ESP32, STM Chips, NXP, BeagleBone , ESP chips, BeagleBone black, STM Chips, Atmega chips etc.)
· Familiarity with software configuration management tools, defect tracking tools, and peer review (GIT, SVN)
· History of driving project execution and timely delivery while ensuring a quality focus.
· Experience writing / interfacing with device drivers.
· Experience in Agile development processes and philosophies.
· Strong documentation and writing skills
Mandatory Skills:
· Basics of embedded system development
· Embedded C/C++
· Scripting Lang - Python
· Basics of wireless communication
· RTOS
· Strong Problem-Solving Skills
· Analytical Skills (Good Aptitude)
· Communication Skills

- Perform technical feasibility studies of new technologies and architectures, including evaluation of OTS cloud offering.
- Generate entire software image for the target device, including the kernel, device drivers, libraries, and application software, and the bootloader for proprietary IOT connectivity device(s).
- Software packaging with RPM building and management
- Define the process to upgrade the new Linux package to existing hardware at customer premises
- Configuration and Troubleshoot of the proprietary IOT connectivity devices for internal R&D teams during their development and verification
- Automate the creation and distribution of keys and certificates
- Understand, implement, and automate security controls for IoT connectivity devices.
- Tune server and application-level performance monitoring and alerting.
- Help define our roadmap and architecture based on technology and business needs, considering architectural issues and tradeoffs
- Understand and manage integration points with other systems that interface with your applications
- Supports development of project plans, including scope, budget, schedules, and risk management.
- Works closely with the business analysts, software development and verification team, the functional manager, and the program manager.
- Collaborate and work with global teams in multiple locations.
- Interface with Global Privacy and Security team for the IoT Gateway understand security risks and recommendations and provide solutions to mitigate the security risks
- Bachelor’s degree in Computer Networking / Computer Science / Software Engineering or a related field
- 12+ years of hands-on experience in Networking, shell scripting, and Linux internals, with a development background.
- Strong understanding of Networking concepts like VPC, Route tables, Host base router firewall, SSH, NAT, DNS, DHCP, SNMP, Virtual IPs, VPN
- Linux System Administration and Networking work experience
- Configuring Firewalls(IP tables/firewall) and security software
- Able to generate Linux packages, and configure based on business needs.
- Passion for cybersecurity. Ability to build secured Linux packages with antivirus and security patches.
- Shell, Python scripting experience
- Basic SQL skills
- Ability to work with cross-functional and remote teams. Must be able to communicate in English, both written and verbal.
- Interpersonal skills to effectively collaborate with vendors and customers.
- Experience with Agile Scrum
- Development background in Java/C++
- DevOps knowledge
- Knowledge on javascript
Job Area Engineering - Software
Location Remote
Job Description
This position is ideal for a Senior SW engineer who is passionate about solving challenging business problems and building security services that provide an excellent client experience. You will be an integral part of the vulnerability assessment product development team focusing on designing, coding, and testing new and enhanced security services for z/Linux. The successful candidate should be a self-motivated individual with expert software engineering skills and solid expertise with IBM mainframe technologies. Candidate must be flexible and willing to switch tasks based on team's needs.
Qualifications
Basic Qualifications
- Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.
- 1+ years experience with Programming Language such as C, C++, Java, Python, etc.
- Linux kernel and device driver development
- Experience with development boards such as DragonBoard
- Experience with python, perl, rust, shell scripting
- C programming and debugging skills
Preferred Qualifications
- CPU and cache architectures
- Experience with JTAG and GDB debuggers
- Linux Kernel upstream patch submission
- CPU performance and power analysis
- Independent and self-motivated problem solver and strategic thinker
- Proficient in Git for development and patch/branch management
Essential Functions
- Good planning, time management, decision-making, presentation, and organization skills
- Effective written and verbal communication
- Excellent interpersonal and teamwork 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.
Key Skills
Linux Device Driver , DSP knowledge preferred
Required Experience and Qualifications
B.Tech/B.E







