

Similar jobs
Senior BLE Firmware Software Engineer
About Company
https://espressif.com/">Espressif Systems (688018) is a public multinational, fabless semiconductor company established in 2008, with headquarters in Shanghai and offices in Greater China, India and Europe. We have a passionate team of engineers and scientists from all over the world, focused on developing cutting-edge WiFi-and-Bluetooth, low-power IoT solutions. We have created the popular ESP8266 and ESP32 series of chips, modules and development boards. By leveraging wireless computing, we provide green, versatile and cost-effective chipsets. We have always been committed to offering IoT solutions that are secure, robust and power-efficient. By open-sourcing our technology, we aim to enable developers to use Espressif’s technology globally and build smart connected devices. In July 2019, Espressif made its Initial Public Offering on the Sci-Tech Innovation Board (STAR) of the Shanghai Stock Exchange (SSE).
Espressif has opened a Technology Center in Pune (Baner), India, which will focus on embedded software engineering and IoT solutions development for our growing customers.
About the Role
Espressif is looking for Embedded Software Engineers to join the software department located in India. You will work in a diverse team where your colleagues are from Czech, Russia, India, Australia and so forth. Here, you get a chance to be a member of the core team in Espressif and work with talented engineers from all over the world.
The BLE Firmware Development Team is now focused on the development of the Bluetooth 5.x standard and BLE Mesh standard.
BLE FW Team is looking for a self-starting, high-technical, energetic individual with keen attention to details. The Candidate will be actively involved in:
- Development of Bluetooth Low Energy (BLE) Firmware for Espressif Bluetooth chips.
- Development of new firmware for BLE latest specification (BLE 5.x, BLE Mesh, etc).
- Development of BLE chip validation and Bluetooth Qualification.
- Research of cutting-edge and challenging Bluetooth technologies (BLE Audio, BLE Direction Finding, Next-Generation BLE Chip, etc).
- Supporting the existing firmware through feature additions, enhancements and maintenance.
- Working with systems team and cross-functional teams to deliver quality software following well-established software development processes.
- Resolving issues as reported by internal test teams as well as customers.
Requirements
Required skills
- Bachlor's degree or above in Electronic Engineering, Communications Engineering, Automation or other related majors
- Familiarity with Bluetooth Low Energy (BLE) protocol or BLE Mesh protocol
- Proven experience in developing BLE stack / firmware (2+ years, both BLE host and controller) or BLE Mesh stack (2+ years)
- Experience with software engineering processes and the full software development lifecycle including requirements, design, implementation, testing, and documenting in Continuous Integration environment
- Strong experience and proficiency in C programming (3+ years) for embedded platforms required
- Excellent problem solving and debugging skills
Bonus point
- Experience in developing BLE profiles and BLE applications (e.g. HID, ANCS, Homekit, etc)
- Good understanding of other networking protocol stacks is highly desired (e.g. Zigbee, IEEE 802.11, UWB, Lora, NB-IoT, etc)
- Strong Real-time systems and software engineering skills required (e.g. FreeRTOS, etc)
- One or more scripting languages (e.g. Python, etc)
- Experience with variety of software productivity tools (e.g. Git, Jira, etc)
What to expect from our interview process
- The first step is to email your resume or apply to the relevant open position, along with a sample of something you have worked on such as a public GitHub repo or side project etc.
- Next, post shortlisting your profile recruiter will get in touch with you via a mechanism that works for you e.g. via email, phone. This will be a short chat to learn more about your background and interests, to share more about the job and Espressif, and to answer any initial questions you have.
- Successful candidates will then be invited for 2 to 3 rounds of technical interview as per previous round feedback.
- Finally, Successful candidates will have interview with HR.
What you offer us
- Ability to provide technical solutions, support that fosters collaboration and innovation.
- Ability to balance a variety of technical needs and priorities according to Espressif’s growing needs.
What we offer
- An open minded, collaboration culture of enthusiastic technologist.
- Competitive salary
- 100% company paid medical/dental/vision/life coverage
- Frequent trainings by experienced colleagues and chances to take international trips, attend exhibitions, technical meetups and seminars.
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.
Embedded Software - Linux
Job Responsibilities:
Linux development engineer working on microcontroller firmware development, Linux platform drivers and IoT solutions. Should be able to resolve technical roadblocks and deliver project commitments. Looking for someone with 2+ years in the embedded industry and a passion to grow along with the company.
Selected candidates for this role will be reporting to the software tech lead/manager in the organization.
- Embedded software development activities and Linux platform development.
- Work with QA teams to resolve bugs and ensure release readiness
The main responsibilities of this role are:
Technical:
- Strong programming skills (C, C++, assembly)
- Linux development experience (porting & platform drivers)
- Knowledge of embedded microcontroller & microprocessor-based systems
- Prior experience of delivering 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.
- Should be able to work with minimal technical guidance
Leadership:
- This role requires excellent communication skills
- Strong analytical & problem-solving skills
- Prior experience working with overseas clients
- Periodically report progress to manager.
Experience: 2 to 4 years
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
Summary:
Hyperspec is building a real time local map for self-driving cars and using cross view localization to enable ubiquitous autonomy. Hyperspec is a VC funded startup.
The principal embedded systems engineer will have deep expertise in embedded systems design, development and worked for years on embedded systems teams. This person is a leader and mentor to junior engineers and shares knowledge about the design and development of embedded systems.
Responsibilities:
- Serves as an expert in all aspects of embedded projects and embedded systems—including designing, developing, testing, and perfecting designs
- Responsible for updating and working with executive leadership on the development of embedded systems and status of projects
- Provides guidance and mentoring to other members of the team
Requirements:
- Minimum of bachelors' degree in computer science or engineering
- At least ten years of engineering experience with expertise in software engineering, data structures, and programming techniques
- Deep expertise in C/C++ programming
- Experience with FPGAs, PCB, Xilinx, Altera, or similar SoCs.
- Experience with ISPs, Cameras, Switches a plus.
- Experience in working with real-time operating systems, communications protocols and firmware design.
- Experience in interfaces, IP protocols, and hardware subsystems.
- Experience in working as part of a team and leading teams.
-
Perform analysis, design and implementation of assigned projects using sound engineering principles and adhering to business standards, practices, processes, and product / program requirements
-
Engage with global teams to effectively translate customer requirements to software requirements and identify potential solutions that are optimized to operate with in constraints of the product
-
Troubleshoot variety of complex software problems
-
Provide timely status updates and proactive communications on issues to the stakeholders.
-
Able to interface with internal and external stake holders regarding software issues.
-
Contribute as part of teams put together to meet overall organization initiatives/objectives
-
As a technical lead,
-
Guide team efforts towards successful deliverables.
-
Provide technical leadership to teammates through coaching and mentorship.
-
Able to effectively manage escalations and operate under crisis
-
Have the ability and willingness to acquire in-depth understanding of domain and existing products (beyond software) and apply that knowledge to develop new products and to deliver enhancements/ fixes for customer requirements.
-
Background in Industrial Automation
-
Prior experience in supervisory control systems software
-
Bachelor of Engineering degree in Computer Science/Information Science/Electronics/Electrical/Instrumentation with strong back ground in Industrial automation software
-
Strong C, C+ programming on variety of Windows platforms using Microsoft technologies
-
Sound knowledge of Computer Science fundamentals data structures, algorithms, operating system concepts
-
Excellent analytical skills, methodical problem-solving skills and troubleshooting skills
-
Prior experience of working in global teams and interfacing with multiple stake holders
-
Excellent communication skills (verbal and written) and the ability to interact with extended teams spread across the globe.
Location:Bangalore / Chennai
Type: Permanent
Company Type: AI / Digital Product Design Service based
Job Description
* Experience in C/C++ and have strong experience embedded application development and integration in Linux
* Good in creating unit tests, performing code reviews, optimizing performance and ensuring standards for maintainability
* Debugging, profiling, and performance optimization skills
* Have experience working in a fast paced Agile/Scrum environmentSkills 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.
Flux Auto builds autonomous vehicle technology for commercial and industrial applications.
Flux Auto was founded in 2017 with the goal of democratizing autonomous vehicle technology and bringing its benefits to vehicles - new and old - around the world. We develop the various hardware and software technologies to make vehicles move and operate autonomously. Everyday our engineers are working to solve new and unique challenges for our clients in India, and North America.
We are a multidisciplinary team solving some of the most challenging problems in
autonomous technology and robotics. Join us in our journey to democratize autonomous mobility!
Experience required: 1 year of internship and projects done in similar domain.
About the role:
We are looking for a candidate with conceptual understanding of classical control systems and logic building. The candidate should be able to understand the existing control stack, tune the hyper-parameters and make necessary changes as per the need. The position requires you to have a basic understanding of automotive systems which will be an added advantage and also help in clear understanding of the application.
Team works towards development of algorithms and model based design for different features to achieve autonomy level 3 and level 4. The algorithms are continuously tested on simulation and vehicle system for verification and validation.
Requirements:
- Sound knowledge in controller design and analysis.
- Good understanding in optimisation based control algorithms.
- Experience with implementing PID controller for various unstable system.
- Experience with vehicle modelling and analysis.
- Good understanding of implementation/debugging/testing model and control algorithms.
- Candidate should have experience in programming concepts like OOPS in C++ and Python with robust and efficient coding.
- Experience in Matlab/Simulink, Stateflow.
- Good understanding in code generation, implementation and testing for real time intergration embedded system.
Responsibilities:
- Algorithm development for different control features.
- Testing of algorithm architecture along with tuning and validation.
- Working with simulation team to integrate and test models and algorithms into simulation environment for rapid development and validation.
- Tuning and validation of plant models to emulate real physical systems’ behaviour
- Co-ordination with other departments to maintain consistency and compatibility in department stack.
Good to Have:
- ROS and ROS2 experience
- Vehicle dynamics modelling and simulation.
- Experience with version control using Git.
Benefits:
- Health Insurance
- Employee Stock Options
- Work from Home
- Flexible work hours
- Monthly Team outings and events
- Budget for up-skilling
- 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!







