

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.

About Espressif Systems India Pvt Ltd
About
Connect with the team
Similar jobs

Job Description :
Position Name: Network Software Developer
Experience: 4 to 8 Years
Work Mode: Work from Bangalore office (near Bellandur) all 5 days.
Mandatory:
- 4+ years of work experience in Networking domain.
- Highly proficient in C and Linux environment.
- Experience in working on Linux based large code base.
- Hands-on experience in working OpenWrt based router firmware.
- Hands on experience with IP and lower layer networking protocols.
Great to Have:
- Experience in working on Qualcomm and MediaTek chipsets.
- Experience in Linux device drivers and device trees.
- Experience in creating and applying Linux kernel patches.

Expereince: 5-10 yrs
Bangalore
Skills Required:
Languages: C, C++
OS : Linux
Experience in Linux bringup on hardware boards
- Good understanding of device trees, boot configurations, board intialization etc.
- Good understanding of device driver architecture
- Understanding of the flow of display/graphics, sound and input (touch/other inputs)
- Awareness of virtualization, hypervisor etc.
- Hands-on experience on one or more of the following tasks
► Bootloader (uboot) customization
► BSP customization - pin mux configuration, device tree customization, memory initialization, OS porting etc.
► Kernel configuration
► Configuration/Integration of device drivers
► Device driver development (I2C/SPI/PCIe/SDIO/USB host function/USB gadget function peripherals)
► Build customization (creating custom recipes, layers etc., configuring components)
► Experienced in analyzing kernel panics and oops.
► Good SW/HW debugging skill.
► Analyzing hardware schematics.
► Experienced in using Logic analyzer, DSO.
► Experienced in engaging with Silicon vendors and have good verbal communication skill.
► Experienced in leading board bring up activities, system integration and testing.


About Statcon Electronics
Statcon Electronics India Limited Statcon Electronics India Limited is a company specializing in the field of power electronics since its inception, with its roots going back to 1986. It has held prestigious clientage both nationally and internationally, with ABB, Alstom, BHEL, Indian Air Force, Indian Army, Indian Railways, GAIL, and Indian Oil, to name a few. SEIL has a diverse portfolio, spanning across 4 sectors – Railways, Power, Defence and Solar energy.
About the position
We are looking for a multiple embedded software engineers with experience in developing firmware for controlling power electronics systems. Openings are available for senior and principal engineer positions across multiple product streams, and target markets include the Indian subcontinent, Africa and North America.
Required Technical skills
- Demonstrated experience in developing embedded firmware for real-time power electronics systems using 16/32 bit ARM microcontrollers (ST Microelectronics preferred).
- Must have shipped at least 1 major relevant product to the market which meets standard industry specifications. Experience with designing for North American/European markets a plus.
- Experience with common communication protocols such as SPI, I2C, USB, UART, Bluetooth, Ethernet, RS232, and RS485
- Experience with peripherals and systems such as ADC, DAC, timer, GPIO, PWM, DMA, NVIC, serial and parallel interfaces, memory, bootloaders and watchdog timers
- Proficiency in advanced algorithm development using Embedded C
- Experience with embedded software tools such as editors, assemblers, compilers, debuggers, simulators, emulators and Flash/OTP programmers.
- Thorough understanding of power electronics topologies and control strategies
- Good grasp over digital signal processing techniques
- Ability to read and interpret component datasheets, PCB schematics and layout design
- Familiarity with using measurement devices such as oscilloscopes, multimeters, function generators and logic analyzers to bring up and debug hardware
- Demonstrated knowledge of firmware development best practices (code reviews, unit tests, Software Configuration Management, version control using git etc.)
- Excellent documentation skills, and a good grasp over the English language
- Comfort in using modern collaborative tools such as Slack/Microsoft Teams, JIRA/Trello/Microsoft Planner, Confluence/Microsoft OneNote and the like.
Bonus Technical skills
- Experience using at least one scripting language, preferably Python
- Experience with designing for North American/European markets
- Experience with designing for IEC and BIS standards
- Familiarity with EMI/EMC process
- Ability to simulate power electronics systems using Simulink/MATLAB or equivalent open-source tools
- Familiarity with agile software development processes
- Experience with Linux administration using command line
Soft skills
- Ability to mentor junior engineers and generate testing procedures for people of all skill levels
- Excellent inter-personal skills
- Strong attention to detail with the ability to work on tight deadlines
- Team player with the ability to work independently under minimal supervision
- Excellent problem-solving skills
- Ability and desire to learn new technologies quickly
Qualifications
- Junior Engineer: A Master's (preferred) in Electrical/Electronics/Computer Engineering with 1 year of industrial experience, or a Bachelor's with 3 years of relevant industrial experience.
- Senior Engineer: A Master's (preferred) in Electrical/Electronics/Computer Engineering with 4 years of industrial experience, or a Bachelor's with 6 years of relevant industrial experience.
- Principal Engineer: A Master's (preferred) in Electrical /Electronics/Computer Engineering with 8 years of industrial experience, or a Bachelor's with 10 years of relevant industrial experience.
Responsibilities
- Develop, implement and test cutting-edge algorithms for medium and high-power AC-DC, DC-AC and AC-AC conversion of 1 phase and 3 phase AC systems up to 440 V AC, and DC-DC conversion of systems up to 1000 V DC.
- Develop sensing and IoT solutions for power electronics embedded systems
- Convert product requirements into technical specifications for Indian and international markets
- Cover all stages (pertaining to firmware) of V model for product development
- Generate technical documentation describing product functioning and test procedures for hand-off to SQA
- Debug product failures in the field using data-driven analysis techniques
- Mentor junior engineers
- Host research talks on emerging technologies within the company
Statcon Electronics is an Equal Opportunity Employer and considers applicants for all positions without regard to race, color, religion or belief, age, marital status, military/veteran status, genetic information, sexual orientation, gender identity, physical or mental disability or any other characteristic protected by applicable laws. Statcon Electronics is committed to creating a dynamic work environment that values diversity and inclusion, respect and integrity, customer focus, and innovation. For more information, visit www.sindia.co.in.
Key Responsibilities:
1. Development, integration and testing of embedded software in the Embedded Linux RTOS
2. Integrate Application based on Adaptive AUTOSAR Platform
3. Contribute for Architecture, Detailed design, programming in C++ (11/14/17)
4. Perform Unit, Integration Tests of developed Application
5. Detail oriented systematic problem-solving approach in the embedded software.
6. Debug embedded software on hardware platforms for issue identification and resolution
Minimum qualification criteria:
1. Bachelor's degree in Electronics, Computer Science, Electrical Engineering, or related field
2. 2+ years of experience in software development in C or C++
3. 2+ years of experience in designing and implementing embedded systems for high performance, high reliability real-time embedded computing platforms
FURIOUS FOX is looking for Embedded Developers with strong coding skills in C & C++ as well as experience with Embedded Linux.
Experience : (Minimum 7-10 yrs)
• Experienced in edge processing for connected building / industrial / consumer
appliances / automotive ECU
• Have a good understanding of IoT platforms and architecture
• Deep experience in operating systems eg: Linux, freeRTOS / kernel development/device drivers.
/ sensor drivers
• Have experience with various low-level communication protocols, memory devices, messaging
framework etc.
• Have a deep understanding of design principles, design patterns, container preparations
• Have developed hardware, OS abstraction layers, and sensor handlers services to manage various BSP, os standards
• Have experience with Python edge packages.
• Have a good understanding about IoT databases for edge computing
• Good understanding of connectivity application protocols and connectivity SDK for Wi-Fi and BT / BLE
• Experienced in arm architecture, peripheral devices and hardware board configurations
• Able to set up debuggers, configure build environments, and compilers and optimize code and performance.
Skills / Tools:
• Expert at object-oriented programming
• Modular programming
• C / C++ / JavaScript / Python
• Eclipse framework
• Target deployment techniques
• IoT framework
• Test framework
Highlights :
• Having AI / ML knowledge in applications
• Have worked on wireless protocols
• Ethernet / Wi-Fi / Bluetooth / BLE
• Highly exploratory attitude
• willing to venture in and learn new
technologies.
• Have done passionate projects based on self-interest.


-
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.

- 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.
RESPONSIBILITIES AND QUALIFICATIONS
Responsibilities
+ 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
Preferred Qualifications
+ 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)



