Senior BLE Firmware Software Engineer
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.
- 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
- 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
Education Qualification: B.E. / B.Tech. / M.E. / M.Tech. / M.S. / (Electronics and Communication Engineering or Embedded Systems) from a reputed university and/or equivalent Knowledge and Skills.
Experience : 2 to 4 years
Location: Hyderabad, Bengaluru, Delhi, Client location (as needed)
We are looking for professional Embedded Developers with minimum two years’ experience to execute complete embedded software development lifecycle. The goal is to create scalable and optimized Embedded solutions.
• Design and implement software for Microcontrollers, Programmable logic devices, FPGA and System on
Chip from requirements to production and commercial deployment
• Design, develop, code, test and debug the firmware.
• Review code and design
• Analyze and enhance efficiency, stability, and scalability of system resources
• Support QA and optimize the system performance
• Interface with hardware design and development.
• Proven working and Hands on experience with Microcontrollers, FPGA.
• B. Tech with four years of experience or M. Tech with Two years of experience
• Experience in hands-on development and troubleshooting on embedded targets
• Solid programming experience in C or C++ and HDL.
• Python language knowledge is an added advantage
• Proven experience in embedded systems design with primitive, multitasking real-time operating systems
• Familiarity with software configuration management tools, defect tracking tools, and peer review.
• Excellent knowledge of OS coding techniques, IP protocols, interfaces, and hardware subsystems
• Adequate knowledge of reading schematics and data sheets for components
• Strong documentation and writing skills.
• Optional: Experience of working with GUI development tools (Qt, PyQt5)
Must have Skilled and Should Currently have Hand-on experience:
- Programming Language: C, C++
- Operating System: Linux
- Debugging Tools: Valgrind / GDB - required
- Version Control: (Stash- nice to have) & (Git – Required)
- Build and Deployment: Bamboo – nice to have
- Operating System: Linux
- Experience: 5 to 8 years (Min. 4 years)
Email protocols: IMAP, pop, SMTP, etc
You can discuss the below job profile with the candidate before filtering them to the first round.
- Would be working on Development and Production Support of Email Mx Product which uses email protocols (POP, IMAP, and SMTP) developed on C, C++ technology on Linux Platform.
- Technologies they get to learn: C, C++, GDB, Valgrind, python (python to a certain extent).
- Protocols they get to learn: POP, IMAP, and SMTP and also any and every communication happening in Email Platform
- Source Control: Git, Stash
- Build and Deployment: Bamboo
- Operating System: Linux
- Debugging a Multicomponent – Multi-Threaded – Multi-Server Environment of a Live Product Deployed to Tier – 1 Customer.
- Opportunity for Improving CPU of exiting product.
- Opportunity for Memory optimization along with some good
|1||Hands on experience on Open edX framework|
|2||• A Minimum of 2 years is required on handling Open edX project with overall experience of 4 to 6 Years.|
|3||• The Candidate must have developed and deployed open edX based applications and platforms.|
|4||• Real-world experience with web development frameworks like Django|
|6||• Hands-on experience on Git, Slack, Trello|
|7||• Should have experience in deploying scalable software applications to AWS or equivalent|
|9||• Experience building static websites and single-page applications, experience with architecture and solutions|
|10||Good hands on experience in docker|
|11||• Understanding of MOOC (Massive open online course) Architecture
Integrating with the third-party apps using LTI/QTI - Significant hands on experience in installation and configuration of OpenEdx as an application, managing users and roles and managing multiple tenants in an instance
|12||• Experience in customizing OpenEdx as a product around creating plugins, integrating with third party apps using LTI'|
|13||• Theming and Branding, Multisite, Certificates, SAML, Basic Reporting (grades, enrolments)|
|14||• Experience in Open edX mobile app with branding and analytics set up|
|15||• Experience with DevOps will be added advantage|
Software development for Automotive Pneumatic based Air Lift Systems for RV vehicles, suspension for off-road vehicles.
Responsibilities and Duties
• Author software requirements from system/customer requirements.
• Complete responsibility for BSW software components development/test/release/maintenance.
• Ability to code software for automotive time critical real-time applications.
• Experience in device drivers development for micro-controller.
• BSW API’s for application demand.
• Will have to configure and develop device drivers for MCU IO’s like Analog & Digital I/O, PWM, CAN, SPI, I2C and Bluetooth.
• Complete understanding of IS0-14229 and should be able to implement complete UDS stack.
• Timely communication with customer and inform any risks upfront.
• Quality control of release software via static and dynamic test.
• Project planning and estimations for software releases.
• B.Tech/M.Tech, 6+ years of experience into automotive software development.
• Expert in C Programming language.
• Experience in any scripting language (python, c#, perl etc.)
• Experience in setting up build environment and configuration of make and linker files.
• Experience in bootloader development is added advantage.
• Should be experienced in device driver development for peripherals like ADC, DIO, PWM, CAN, SPI, I2C,EEPROM and Bluetooth.
• Understand memory map of MCU and should be able to configure as per application needs.
• Experience in working with embedded system Kernels or RTOS.
• Experience in working with NXP S32 micro is added advantage.
• Excellent on board debugging skills.