The NetApp ONTAP Core Software Infrastructure team (CSI) is looking for a Software Engineer to join the team that's building the products that will shape the world's software defined datacenters and improve IT's ability to manage storage in the cloud.
As a member of CSI you will:
Work as part of a scrum team responsible for actively participating in driving product development and strategy.
Participate in activities that include designing, developing, testing and debugging of operating systems that run NetApp storage applications.
Contribute to the group that focuses on competitive market and customer requirements, supportability, technology advances, product quality, product cost and time-to-market. Software engineers focus on enhancements to existing products as well as new product development.
Essential Functions:
Participate in product design, development, verification, troubleshooting, and delivery of a system or major subsystems, including authoring project specifications
Deliver resilient, robust and durable designs
Develop supportable, efficient, reliable implementations using C++ and C.
Participate in customer escalations
Author unit tests and automated integration tests
Direct and participate in technical discussions within the team and with other groups across Business Units associated with evaluating and executing design and development plans for products
Provide guidance and mentoring to more junior engineers
Job Requirements
Requirements:
Object-Oriented systems programming using C++.
Systems programming using C.
Experience in filesystems and operating systems such as FreeBSD, Linux
Experience in distributed systems and/or client-server programming.
Experience in Multi-Threaded applications
Possess excellent written and verbal communication skills
Work within a team and across teams, being able to influence other engineers for the good of a project.
Strong aptitude for learning new technologies
Strong generalist understanding of concepts related to computer architecture, data structures and standard programming practices
Creative and systematic approach to problem solving
Responsibility:
Responsible for a mix of structured and unstructured tasks
Apply attained experiences and knowledge in solving routine to moderately complex problems
Work within agile project teams, continuously releasing application software
Work on complex issues where analysis of situations or data requires an in-depth evaluation.
Manage multiple priorities and tasks in a dynamic work environment
Education
Interaction:
Work effectively with staff to Vice-President level employees within the function, across functions and with external parties
Limited supervision and direction is provided, as this individual can operate, drive results and set priorities independently
Successfully convey information to stakeholders at many levels related to the position
Work effectively with senior engineers within Business Unit
Participate as a proactive contributor and subject matter expert
Demonstrate favorable results through regular leadership and mentoring others
Education and experience:
A minimum of 5 years of experience is required.
A Bachelor of Science Degree in Computer Science or equivalent. Masters Degree preferred.
Passion for writing and testing high quality code.
Broad knowledge of computer science fundamentals.
Demonstrated ability to have successfully completed multiple, moderately complex technical tasks