- Home
- Hardware
- SDKs
- Cloud
- Solutions
- Support
- Ecosystem
- Company
- Contact
Job Title | classification | Job Type | Location | Posted | Apply | Job Number | Key Responsibilities | ||
---|---|---|---|---|---|---|---|---|---|
Software Engineer (Tools) |
Corporate | Aug 1, 2020 |
4847 |
700 |
Job Type: full time, direct hire Location: Brno, Czech Republic About this position: We are looking for individuals with a solid understanding of RISC architectures and a background in compilers, debuggers, or development tools to work on projects such as GCC compiler, Binutils, GNU Debugger (GDB), and QEMU emulator. Main Responsibilities: 1. Maintenance of existing backend code in GCC, Binutils, GDB (Xtensa and other architectures). 2. Improvements of code generation. 3. Implementing new target-specific features and optimizations. 4. Implementing and maintaining support for Espressif SoCs in QEMU emulator. Requirements: 1. Proven experience in development of any of the above mentioned projects, or other compilers and debugging tools. 2. Experience in interaction with project maintainers and submitting patches to mailing lists. Any of the following would be a strong plus: 1. Familiarity with MCUs and other MMU-less embedded systems; awareness of their constraints. 2. Familiarity with parallel programming languages and tools. 3. Familiarity with continuous integration systems and code review tools. 4. Experienced user of at least one scripting language (shell, Python, etc.) |
||||
Embedded Software Engineer |
Corporate | Aug 1, 2020 |
4848 |
702 |
Job type: full-time, direct hire Location: Brno, Czech Republic About this position: Espressif is seeking an Embedded Software Engineer to develop applications and libraries for the ESP32 series of chips, and be engaged in support to the growing customer base. In this position, engineers have an opportunity to work on open source projects used by thousands of software developers around the world. The ideal candidate for this position should have strong embedded software development skills, and familiarity with hardware communication protocols or network protocols. We are looking for individuals with analytical mindset and good skills in troubleshooting hardware and software issues. Main Responsibilities: 1. Develop applications, libraries, and reference designs based on the ESP32 series of chips. 2. Work with the business support and SDK teams to deliver features requested by customers. 3. Help customers advance their progress on projects by offering technical support and helping them troubleshoot software issues. 4. Contribute to documentation such as application notes, tutorials and API guides. The following skills are desired: 1. At least 3 years of relevant working experience in the field of Embedded Software. 2. Excellent knowledge of C or C++ languages. 3. Familiar with FreeRTOS or another RTOS. 4. Familiar with command line tools (Linux/Unix) and at least one scripting language (shell, Python, Powershell). 5. Experience with git version control system. Any of the following would be a strong plus: 1. Knowledge of hardware communication protocols: SPI, UART, I2C, I2S, CAN. 2. Knowledge of network protocols, such as TLS, HTTPS, MQTT, COAP. 3. Knowledge of Bluetooth LE, GAP, GATT. 4. Knowledge of secure communication protocols and cryptography. |
||||
Automated Test Development Engineer |
Corporate | Jul 21, 2020 |
4699 |
500 |
Type: full-time/regular, direct hire Location: Pune, India Main Responsiblities: 1. Develop test automation tools for embedded software 2. Develop test plans and test cases based on the ESP SDK API 3. Develop embedded test applications or test scripts for specific application 4. Locate, report and track bugs, as well as work with developers to improve and refactor the code Requirements: 1. Bachelor’s degree, or above, in Computer Engineering, Electronic Engineering, Communications Engineering, Automation or other related disciplines 2. At least 3 years of automated testing experience 3. Good working knowledge of C and Python programming languages 4. Familiarity with testing frameworks, such as Unity 5. Familiarity with protocols of TCP/IP, Wi-Fi and Bluetooth is a plus 6. Experience with other scripting languages is a plus |
||||
System Software Developer / Lead |
Corporate | Jul 20, 2020 |
4704 |
506 |
Type: full-time/regular, direct hire Location: Pune, India Relocation Assistance: full About this position: This is an opportunity to be a key player at a company with a great reputation in IoT semiconductor technology, that is growing rapidly. We offer a great long-term opportunity in a true team environment. If you have strong experience in software programming languages such as assembly, C, C++ or worked on systems internals then this opportunity is well suited for you. Main Responsibilities: 1. Conceptualize, plan, design, implement and test embedded software and firmware that includes lower-level drivers, OS abstractions or software middleware components. 2. Participate in software architecture high level design decisions. 3. Develop and maintain efficient codes written with best practices in mind. 4. Develop and maintain product documentation. 5. Work within a highly diverse technical team on cross functional integrated systems. 6. Various other tasks and projects you choose to own. Basic Qualications: The Leading System Software Developer position requires a Bachelor's degree in Software, Computer, or Electrical Engineering, Computer Science, or a specialized area, field or the equivalent and a minimum of 2 to 10 years of related work experience. Applicants with a Master's degree and a minimum of 4 to 8 years of related experience are also eligible. Skills: 1. Clear and concise spoken and written communication skills are critical for this position since the engineer is responsible for gathering engineering requirements, negotiating during trade off analysis and documentation. 2. Interpersonal skills (Networking, negotiation, and tolerance). 3. The ability to work with cross functional, multi-regional, internal, and external teams that can have different priorities. 4. Ability to manage urgent situations and manage priorities. 5. Tolerance to ambiguity and dealing with complex engineering problems. 6. Ability to make decisions with minimal supervision and limited information. Requirements: 1. Preferably CS background; EE/IT if good exposure. 2. Good knowledge of operating systems (Linux/RTOS) internals. 3. Strong C/C++ programming skills in UNIX or RTOS environment. 4. Data structures and algorithms. Preferred: 1. Computer architecture 2. Exposure to networking (TCP/IP) 3. Good understanding of memory management |
||||
WLAN / BT Automation Engineer / Lead |
Corporate | Jul 20, 2020 |
4705 |
357 |
Job Description: 1. Experience with some scripting language such as Python, Perl, Tcl etc. 2. Experience in developing and maintaining CI/CD process using tools like Git, Gerrit, Jenkins, Maven, Gradle, etc. 3. As part of the Automation test developer, you will develop automated test systems for embedded wireless devices, specifically WiFi a/b/g/n/ac and Bluetooth data/audio/BLE protocols. 4. Candidate will work with a team of fellow Test development engineers and developers skilled in WiFi and BT software. 5. Candidate will be responsible for developing test plans and test cases based on ESP SDK API for Espressif IoT platforms that assure the outgoing quality of Espressif's Wi-Fi / BT Software. 6. Develop tools & infrastructure for testing. 7. Locate, report and track bugs, as well as work with developers to improve and refactor the code. Minimum Qualification: 1. BE/B.Tech in Computer Science with minimum 2-8 years of experience. 2. Strong Computer Science Fundamentals. 3. Experience with Information Technology Preferred. 4. Understanding of 802.11 Wireless/Wi-Fi a/b/g/n/ac standards is Preferred. |
||||
Software Development Engineer / Lead – Bluetooth |
Corporate | Jul 20, 2020 |
4700 |
501 |
Job Description: As a Software Development Engineer - Bluetooth, you will be developing application and firmware level software for high volume consumer devices, in the domain of Bluetooth Connectivity. Experience in successfully providing high performance communication firmware solutions will serve you well. Potential candidate must demonstrate technical leadership skills, be able to provide technical guidance to junior team members, as well as, be able to work in an environment with interdisciplinary teams. You will work closely with the product management, hardware, operations, application, platform, and quality assurance teams. Roles & Responsibilities: 1. Responsible for the development of embedded software, including module design, function debugging, unit testing and maintenance. 2. Responsible for the development of Classic BT/BLE controller and host stack modules. 3. Provide technical support to customers. 4. Implement high-quality Bluetooth stack, firmware and application features. 5. Implement the right metrics, debug tools and integrate with backend solutions to continuously measure and improve on our solutions. 6. Implement and provide testing facilities and tools for QA, HW and factory teams. 7. Work with teams to improve and tailor existing drivers, stack and applications to our needs. 8. Improve memory footprint, optimize driver, firmware and stack code. 9. Work with the hardware team to ensure correct exercising of hardware and RF architecture. 10. Support compliance and certification activities. Education & Experience: 1. Bachelor's degree, or above, in Computer Engineering, Electronic Engineering, Communications Engineering, Automation or other related disciplines. 2. 3+ years of experience doing hands-on software development in Bluetooth domain; application, firmware, Bluetooth stack or drivers. 3. Familiarity with and understanding of Computer/SoC architecture. 4. Proficiency in C programming Language, real-time software development, and at least one scripting language (Python is preferred). 5. Excellent debugging skills. Experience in the development of embedded systems is a plus. 6. Familiarity with computer network protocols, and Wi-Fi/Bluetooth/Zigbee protocols is a plus. 7. Familiarity with the Linux operating environment. Experience in the development of Linux drivers is preferred. 8. 3+ years of experience with driving products or platforms through Bluetooth certification. 9. Strong communication skills; excellent technical communication with peers. 10. Strong Computer Science fundamentals in object-oriented design, data structures, problem solving, and complexity analysis. What we look for: 1. In-depth understanding of the Bluetooth protocol stacks both the "classic" and Low Energy stacks from the physical layer all the way up to the application profiles. 2. Passion for creating products that customers love. Curious, persistent, logical and clever – a true techie at heart. 3. Initiative: you have a strong vision for the product you are building and can work independently to improve it even in the absence of formal requirements. 4. Software engineering fundamentals: You write elegant and highly maintainable software. You are dedicated to building reliable systems. 5. A track record of helping to ship high quality products. |
||||
Senior / Principal Software Engineer |
Corporate | Jul 20, 2020 |
4703 |
505 |
About the Role: Espressif’s ESP-RainMaker is a paradigm-shifting IoT cloud platform that provides seamless connectivity to IoT devices to mobile apps, voice assistants and other services. It is designed with scalability, security, reliability and operational cost at the centre. It’s highly desirable that the candidate has earlier experience of working on developing highly scalable Cloud-native products and understands the responsibilities and challenges well. We are looking for Senior/Principal Software Engineers who will be responsible for: 1. Designing, Developing and deploying highly scalable Services on Cloud platforms like AWS. 2. Owning the development and deployment of one or multiple services using programming languages like Go, Java, Python. 3. Implement and optimise various non-functional requirements like Logging, Security, Auditing, Scalability and DevOps. 4. Create and maintain API definitions, database schema designs. 5. Perform troubleshooting of the services on Cloud platform and provide support to internal and external stakeholders. Minimum Qualifications: 1. BE/B.Tech in Computer Science with 5-12 years of experience in building Software products. 2. Extensive experience in developing products using Go, Java or Python. 3. Strong computer science fundamentals, a very good understanding of Data Structure and Algorithms. 4. Experience working with RDBMS or any NoSQL database like DynamoDB, MYSQL, Oracle. 5. Hands-on experience in working on Cloud platforms like AWS, Azure or Google Cloud, certifications in one of the Cloud platforms is desirable. 6. Experience in Cloud Services like EC2, S3, Lambda, DynamoDB, Cognito, API Gateway, CloudWatch, or similar service on Azure or Google Cloud. 7. Experience in developing REST APIs, authentication and authorisation of the APIs. 8. Experience in automating the deployments on Cloud using tools like CloudFormation. 9. Strong analytical, debugging and troubleshooting skills. 10. Experience in a Linux (or Unix) based environments. Desired Qualifications: 1. Working knowledge about DevOps tools like Jenkins, ELK 2. Working knowledge of Docker and Kubernetes |