
About Cohesity
About
Company video
Photos
Connect with the team
Similar jobs
Please go through with the below mentioned job description
Position title: Firmware Engineer
Experience: 6-12 years
Notice Period: 0-30 days
Location: Bangalore(Sarjapur)
Role type: Permanent
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.)
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
Please provide below mention details:
No. of years of working experience in Embedded Linux -
Protocol stack development Exp, any specific protocol worked on -
Relevant Experience:
Official Notice Period 30/60/90 Days:
Date of Resignation:
Serving Notice Period and Last Working Day:
Current Company:
Current Location:
Work Location:
Current CTC(fixed,variable):
Expected CTC(fixed,variable):
Interview Availability:
Any Offer:
Relocate to Bangalore(Sarjapur):
company name
company location
date of joining
C, C++ , Linux , Device Driver , Linux Internals ,
Processor knowledge like Arm , Intel , Protocol SPI , I2C . Networking experience,
L2 protocols knowledge, knowledge on Python/Perl ,
Broadcom DNX/XGS device experience is desirable,
Interested to learn New things,
C,C++, LINUX INTERNAL OR IPC, LINUX OS CONCEPTS, DEVICE DRIVERS,
PROCESSOR KNOWLEDGE
SCRIPTING KNOWLEDGE EIHER PYTHON OR PERL
Embedos is looking for super heroes, who can help us succeed in our endeavour of becoming a beacon for providing problem solving Industrial IoT Solutions.
Location: MUMBAI
VACANCY: 3 - 4
Embedos makes Controllers –Interface devices and cloud based Software solutions for Remote Monitoring and Control, Industry 4.0 Applications.
We are looking for Engineering super heroes, who have a flare and interest in Core hardware / firmware / embedded software/ Networking and web technologies.
We would want engineers who have wide interests and want to work on multiple specializations. Functions in the embedded domain
• Hardware design small signal /Tele communication/interface electronics/Digital /Latest Microprocessors STM , ESP ,interfaces , I2C, SPI / Peripherals / Schematics /PCB Routing
• Programming languages for embedded devices respective IDEs s, debugging systems
• RTOS, Real time programming concepts.
• Linux Kernel programming, peripheral drivers.
• Communication protocols like Modbus, CAN, OPC other industrial protocols.
• Open source software, documentation, versioning systems.
• Web technology, Web applications, Networking technology, Cloud Interfacing.
We invite you to come and join in our Core team to make this endeavour a success and share the rewards.
Embedos is looking for Super Heroes to work on cutting edge technology involving interfacing IoT enabled Firmware, cloud computing software, generating exciting user interfaces, developing API’s, designing web app architectures, deploying re - usable code and the works.
Technical Lead (Embedded Software - Linux)
Job Responsibilities:
Lead a team of software/Linux development engineers working on microcontroller firmware development, Linux platform drivers and IOT solutions. Should be able to guide team members, resolve technical roadblocks and deliver project commitments. Will be the go-to person and first-level escalation point for all technical issues faced by the team. Looking for someone with 6+ years in the embedded industry and a passion to build a core team in a growing company. Team size will vary from 6 to 12 people, mainly firmware and Linux engineers.
The selected candidate for this role will be reporting to the software director/manager in the organization.
- Work with firmware and application architects to create a project execution plan
- Review project proposals for execution scope & timelines
- Lead embedded software development activities by the team
- Work with QA teams to resolve bugs and ensure release readiness
- Work with h/w design and PM teams to ensure smooth execution and timely delivery of projects
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Expert-level knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience in delivering critical modules for microcontroller projects
- Good understanding of commonly used embedded communication protocols
- Good understanding of common embedded peripherals, interfaces & sensors
- Experience working on Real-Time systems (RTOS)
- Should be able to quickly learn new technologies and enable the team on the same
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Should be able to lead junior engineers by providing technical mentoring
- Owns task division, task allocation and tracking within the team
- Require multi-tasking and time management skills
- Prior experience working with overseas clients
- Periodically report progress to management
Other desirable skills:
Knowledge of Python
Experience: 6 to 10 years
You would be part of:
- Designing/Improvement of new/existing architectures of distributed computing with subcomponents of Unmanned Aerial Systems (UAS).
- Working/Researching with industrial state of the art sensor systems and modules, and developing drivers (HAL or wrapper) and applications around their usage.
- Design and implementation of communication protocols between different subcomponents of UAS for distributed computing.
- Writing Applications and Drivers from the scratch for (embedded)linux based systems.
- Scripting and automations around work flows of UAS usage.
- Working with existing sophisticated software stacks of subcomponents of UASs.
- Working closely with electronics, design and systems teams for architecture development and deployment.
- Working closely with Flight Controller engineers to do collaborative development of UAVs.
We expect you to be:
- Experienced in hands-on development of complex embedded systems involving multiple microcontrollers or SoCs.
- Very good in analytical abilities to be able to do core research and development activities.
- Able to write low level drivers (wrapper or core) from the scratch.
- Very comfortable reading and understanding datasheets and reference manuals of microcontrollers, peripherals, sensors etc.
- Able to understand existing complex embedded software stack written in C/C++.
- Solid in C.
- Good in C++.
- Comfortable with using hardware debuggers.
- Having Hands-On experience with RTOS concepts like scheduling, threads synchronicity , race conditions etc.
- Having Solid understanding of interrupt mechanisms.
- Experienced in working with different hardware protocols like SPI, I2C, UART, PWM, CAN, USB etc.
- Having Solid understanding of interrupts architecture of ARM based microcontrollers like STM32, LPC etc.
- Having Good understanding of the concept of bootloaders.
- Able to multitask.
- A self-motivated and motivating personality who can work well independently as well as part of a team
- Having good interpersonal and soft skills who can adapt to the work environment while manifesting a good positive attitude
You are awesome if you are:
- Experienced in Linux Device Driver development.
- Having good exposure of working on and understanding of any sensor modules like GPS, LIDAR etc.
- Experienced in data filtering techniques (Example: Kalman filter)
- 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.
∙ Computer Science related Bachelor's Degree or equivalent experience
∙ Min 2 years of experience on GCP / AWS / Azure cloud system ( Overall 5+ years of experience)
∙ Familiarity with LAMP stack technologies, experience supporting
∙Must be capable of working on Linux System.
∙ Familiarity with SQL, Apache, File storage, Load Balancers and Agile methodologies ∙ Knowledge of shell scripts, Linux system administration.
∙ Strong DNS management and automation background
∙ Strong scripting (bash, php, perl) skills
∙ Good understanding of TCP/IP networking and troubleshooting
∙ Clear communication and documentation of projects and procedures
∙ Strong problem solving skills
∙ Demonstrated ability to manage timelines, dependencies, deliverables, milestones and resource allocation and management in projects.
∙Strong Cloud Architecture experience.
∙Cloud Security
∙Added Advantage with knowledge of Microservices/API/ Queue systems
∙knowledge of cloud computing technologies and current computing trends. ∙Understanding and willingness to embrace CI/CD and automation tooling such as Jenkins and GIT
Responsibilities:
∙ Set up technical server infrastructure, providing technical assistance to development teams, monitoring site performance, and troubleshooting issues when they arise.
∙ Set up and maintain a development server environment and a live server environment with a process for testing and deploying changes to live sites.
∙ Take an active role in designing, implementing and maintaining a scalable and robust enterprise server environment.
∙ Administer Apache web server, Load balancer and MySQL Server
∙ Work on System Security and IPTable configuration
∙ Optimize servers for high traffic, security, and other system issues. ∙ Evaluate and propose new or improved system architecture.
∙ Document system configuration, processes, and procedures.
∙ Share responsibility with team members for rotating on-call duties.
1. Good Knowledge in Hardware Development (Various Sensors, PCB Designing, Various Micro-controller boards)
2. Firmware designing (writing code on various micro-controller platforms using various hardware communication protocols (USART, SPI, I2C, CAN, etc). Great command in Embedded C Programming and Python.
3. Should have worked with various wired and wireless devices for communication ( Like GSM, GPS, GPRS, Wifi, BLE, Xbee, etc)
4. Should have practical experience in basic networking with devices.
5. Should have worked on various Hardware platforms like Arduino, Raspberry Pi, Web Frameworks, etc.
6. Should have worked with various methods of communicating sensors data on various clouds using API's using multiple protocols like HTTP, TCP-IP and MQTT, etc.
Experience Required : Minimum 4 Years
Expected Salary : 4 - 5.5 CTC











