Job Description:
Senior software engineer is responsible for delivering high quality software in a timely manner and manage the resources efficiently. He/she will be part of a dynamic team that defines, architects, develops and releases the software targeting Internet of things.
Job Responsibilities:
- Help in definition and contribute in the architecture and delivery of quality software on time.
- Develop and maintain WLAN/BT/BLE/NFC driver for Linux/Android/Windows and others.
- Perform Unit testing and System Integration testing.
- Integrate and test communication protocols TCP/IP, 802.11 ac/a/b/g/n, 802.15.2
- Integrate and test connectivity using relevant applications Ex: iPerf/chariot etc.
- Support Field team on deployments, certifications and customer issues as needed
- Hire talented team, mentor and build an efficient team.
- Work with hardware teams on board bring up, debug and diagnose the software issues.
- Work with marketing team and come up with innovative product ideas.
- Research new materials and processes that result in product and process improvements and generate cost reductions.
Education and Qualifications:
- Bachelor's or Master's degree in an engineering discipline (e.g. Computers/Electrical/Electronics/Telecom Engineering or equivalent)
- Minimum 5 or more years of industry experience in software development for embedded systems for consumer/automotive/Telecom/Medical industry.
Required Skills and Experience:
- Excellent skills in C programming, Linux kernels, device driver development and porting
- Strong embedded system programming and debugging skills.
- Hands on experience on WLAN/BT/TCPIP stacks.
- Hands on experience in interface protocols SDIO/USB/SPI/UART/I2C/PCM/PCI/I2S
- Knowledge on security protocols like WPA/WPA2/WEP/WPS/Enterprise security etc.
- Knowledge of Wi-Fi and BT sniffers and related tools Ex: Wireshark, Omnipeek
- Experience in handling logic analyzers, CRO, spectrum analyzer, power meter, network analyzers.
- Scripting experience like python/shell is an added advantage.
- Good understanding of SDLC and typical processes for development and testing, release management.
- Experience in usage of tools for development, testing, bug tracking, config management, build etc.
- Excellent communication and organizational skills
- Demonstrable experience in leading and delivering quality products in timely manner
- Excellent documentation skills