Embedded Engineer
Miejsce pracy: Warszawa
As a skilled embedded software engineer, you will become an integral part of a team involved in the development and sustaining support of the leading-edge IoT and Wi-Fi solutions. You will be responsible for the design, development, debugging, integration and testing of software applications with focus on the embedded programming of IoT modules and Wireless LAN applications.
Responsibilities:
- Design software and create software design documents.
- Code, integrate and validate software for real-time embedded systems.
- Maintain the existing products and provide engineering support to the customer.
- Develop simulation and interfacing methodology for the testing of embedded software.
- Strong debugging and troubleshooting skills of the embedded Linux platform.
- Participate in the design, implementation, testing, maintenance, enhancement, and support of complex software modules.
- Actively participate in the specifications and other technical documentation reviews to determine software engineering requirements.
- Take ownership of software modules, provide work estimates, write all the necessary design documents, and implement or enhance them.
- Write and execute the component, module, subsystem, and system test procedures.
- Participate in design and code reviews and provide feedback to your peers, mentor junior developers.
- Work with cross functional teams in a collaborative work environment; interacting with peers, management, sales, customers.
Requirements:
- BS/MS in Electrical Engineering, Computer Science, or related discipline
- 4+ years’ (BS) / 2+ years’ (MS) experience in real-time embedded application software
- 3+ years’ experience in C/C++, Linux Shell and Python (expert of C/C++)
- 3+ years’ experience in Bluetooth Low Energy product development
- Optional very very helpful: 2+ years’ experience in Thread protocol, MQTT
- 2+ years’ experience MCU development experience, BroadCom/TI chipsets are preferred
- Must have strong technical background in software development, with a focus on real time embedded system and data communication
- Familiar with software lifecycle development (e.g. Agile/Scrum)
- Excellent verbal and written communications skills
- Positive attitude, team player
- Strong knowledge of wireless protocols, i.e. WiFi 802.11, Bluetooth Low Engery (BLE), and optional: Zigbee or Thread Stacks
- Extensive experience developing real time embedded application under Linux
- Good working experience developing multi-threaded applications for Linux
- Strong hands-on experience with Linux and container technologies
- Knowledge of networking technologies and concepts, LAN switching, routing, Ethernet and IP · Experience with different IoT chipsets, initial bring-up, common peripherals (UART, SPI, I2C, wireless connectivity stacks) and wireless coexistence are plus
- Hands-on experience with GIT and GitHub
Preferred Experience:
- Serial communications
- Multi-Thread, IPC programming experience
- Hands on experience with Flash Tools and JTAG Debugger
- Familiar with IAR, CCS, MCUXpresso IDE or SeggerEmbedded IDE
- Linux embedded software programming
- Bluetooth protocols (BLE 4.0/5.0)