You are here

Staff 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:
- Carrying out each step in software life cycle, including requirements analysis, designing, coding, and testing
- Engaging in research and development of innovative and high quality NI core software products
- Staying current with the cutting-edge technologies and applying to software projects
- Mentoring junior engineers
- Diagnose and debug problems with your product or interactions with other NI product

Requirements:
- Bachelor or above in Computer Science, Electrical Engineering or related.
- 3 years of software development experience. No less than 2 years of C++ programming experience.
- Demonstrated ability to:
ž Work effectively in group development environments
ž Communicate effectively: Listen attentively, actively participate, and lead fast-paced technical conversation
ž Take initiative in research and tackling difficult issues
ž Solve problem effectively; diagnose technical issues and propose solutions; enjoy problem solving
ž Take responsibility for task/project goals and schedules
ž Be a self-starter and work independently
ž Quickly learn applicable technologies, systems and products
ž Be detail-oriented.
ž String work ethic and drive to succeed
- 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++
- Proficiency in both written and spoken English
- Understanding and master these technologies are preferred:
ž .NET programming. SilverLight or WPF experience is a plus.
ž Embedded system/robotics development
ž Video/audio/control algorithm