You are here

Senior Software Engineer (高级软件工程师)

The National Instruments Software R&D organization has openings for talented Senior-level Software Engineers.
As an NI Senior Software Engineer, you will enjoy the unique opportunity to take ownership of your products and be involved in all aspects of the product development cycle. Software Engineers find that NI’s relaxed and stimulating work environment, which includes working in small feature-focused teams, fosters the type of engineering innovation that leads to our many award-winning products. Senior Software Engineers have the opportunity to work on projects such as compilers, drivers, embedded and real time development, application user interfaces, visualization graphics, development tools, and application frameworks.
If you have excellent programming skills and a desire to work with the most talented people in the industry, then we invite you to explore a Senior Software Engineer position at NI.
Responsibilities:
- Performing research as required to specify, develop or enhance your product, or to define new products
- Staying current with the state-of-the-art and cutting-edge technology and applying the latest techniques in software projects
- Carrying out and managing each step in software life cycle requirements analysis, designing, coding, and testing
- Understanding many other related products and integrating your product into the larger product line
- Mentoring junior engineers
- Diagnosing/debugging problems with your product or problems arising when your product interacts or integrates with other NI products
- Writing, reviewing and approving product documents for end users in English
- Working and interacting with a wide variety of R&D staff, as well as employees from groups including Applications Engineering, Manufacturing, and Product Marketing
- Providing technical expertise/training as needed to Applications Engineers, Product Support Engineers, Technical Writers, customers, or others who use and/or support your product
- Communicating regularly with colleagues in other countries

Requirements:
- Bachelor or above in Computer Science, Electrical Engineering, or related
- 5 years or above full-time industrial-level software development experience with 2 years mentoring experience;
- Strong understanding of these concepts and principles:
• Operating system components and design
• Computer system architecture and organization
• Data structures
• Development methodologies incl. object-oriented analysis and design
• Good software design and architecture principles
• High-level programming languages; prefer proficiency in C/C++
- Demonstrated ability to:
• Work effectively with colleagues
• Define projects & technologies for engineering teams
• Design/implement complex features
• Conduct successful design & code reviews
• Concentrate on design and coding quality
• Mentor other engineers for technical growth
• Facilitate making appropriate technical decisions
• Effectively solve problems; diagnose complex technical issues; propose viable solutions.
• Take initiative in tackling difficult issues; be a self-starter; work independently
• Persistently drive tasks/projects to successful completion
• Take ownership of goals/project schedules
• Communicate clearly-listen attentively, actively participate, & lead fast-paced technical conversations
• Quickly learn applicable technology, systems and products
• Strong work ethic and a drive to succeed
- Proficiency in both written and spoken English