Job Description
JOB DESCRIPTION
The Staff Software Engineer position is a high visibility role within NI requiring daily interaction with NI Engineering Teams, and Executive Management. This is a multi-functional role dealing with diverse engineering needs, including the ability to gather requirements, generate specification documents, and interface across teams to design, implement and enhance NI products.
Job Responsibilities
- Brainstorm, design, and independently develop new features in products. Good understanding and experience of software design principles.
- Collaborate with cross-functional teams to identify and solve complex software problems.
- Own and manage end to end software release process and increase efficiency.
- Design and implement moderate to high complexity features to a high level of quality.
- Facilitate decisions necessary to deliver a quality product in a timely fashion.
- Independently develop and prototype product features in C, C++
- Implement as per NI's coding standards.
- Ownership of components/modules with-in the product.
- Meet challenging timelines while ensuring high-quality.
- Involve in testing activities for the product.
- Participate in design and code review with rest of the team.
- Create technical content required for the documentation related to the product
Basic Qualifications
- B.E/ B.Tech/ M.Tech/ MCA in Computer Science/ Electronics and Communications / Telecommunication / Electrical / Instrumentation
- 2 - 5 years of industry experience
- Demonstrated ability in problem-solving, effectively diagnosing technical issues and proposing reasonable solutions.
- Proficiency in C++, C#.
- Strong understanding and experience of object-oriented programming, data structures, software architectures, design principles and patterns.
- Familiarity with Agile software development practices and continuous integration pipelines is preferred.
Preferred Qualifications
- Understanding of NI software tools (ex: LabVIEW).
- Proficiency in Python
- Experience in software development/testing in RF Communication domain
- Demonstrated ability to:
- Persistently drive tasks and lead projects to successful completion.
- Effectively interact and communicate with engineering teams and management.
- Work effectively in a diverse, multi-cultural group development environment.
- Problem-solving skills, including effectively diagnosing technical issues and proposing reasonable solutions.
- Take initiative, be a self-starter, and work independently.
- Quickly learn applicable technology, systems, and products.