Position Overview
JOB DESCRIPTION
R&D Software Services team at NI is seeking a Senior Software Engineer. Role would involve developing and maintaining various driver software which work with NI and other 3 rd party hardware's. It will also involve collaborating with various teams in driving decisions. It will also involve mentoring and coaching the team to bring in high performance culture
The Senior Software Engineer position is a challenging role within NI, requiring daily interaction with NI Engineering Teams. This is a multi-functional role dealing with diverse engineering skills to solve problems, execute tasks, and develop features to support deployed custom solutions worldwide.
Core Responsibilities
- Feature development and maintenance of NI Driver products
- Performing compiler upgrades and adding new OS support
- Closely coordinate with the global product teams to deliver High-Quality products
- Follow software development processes and design practices of the team
- Understand and adhere to coding guidelines of the team
- Take ownership of features/modules within the product
- Participate in feature design and code review exercises
- Meet challenging deadlines while ensuring code quality
- Involve in designing and writing test cases for the developed features
- Develop and maintain feature documentation
- Setup hw for product testing
- Mentor junior engineers/technicians in the team
Qualifications
Basic Qualifications:
- B.E/ B.Tech/ M.E/M.Tech/ in Computer Science/ Electronics and Communications, Telecommunication/ Electrical Engineering/ Instrumentation Engineering
- 6 to10 years of software development experience in C++ language. Product development, preferred with a demonstrated ability in problem-solving, diagnosing technical issues, and proposing reasonable solutions
Preferred Qualifications
- Working experience with C++ product development Visual Code /Visual Studio
- Working experience in Debugging with WinDBG, GDB, other debugging tool
- Good understanding in Basic EC concepts such
- Basic signal processing
- Concepts around voltage, current, power
- Time domain related measurements
- Good understanding of low-level communication protocols like
- CAN based protocols ( CANopen, DeviceNet, Xnet, etc)
- Etherenet/IP & ECAT
- Serial communications, etc
Good To Have Qualifications
- Experience in code development in LabVIEW & LabVIEW RT (CLAD/CLD certification is prefered)
- Experience in NI Drivers and hardware ( CRIO, PXI, NI-USB)
- Experience in PLC programming and basics of PLC h/w setup
- Experience in Network protocols and Switches ( VLAN, Port map, DHCP, etc)
- Experience in Linux RT
SoftSkills
- Good mentoring and leadership skills
- Demonstrated ability to:
- persistently drive tasks to successful completion
- effectively interact and communicate with team members
- effectively work in a diverse, multi-cultural group development environment
- take initiative, be a self-starter, and work independently
- quickly learn applicable technology, systems, and products
- Understanding of Agile Development principles