Consultant Software Engineer Performance engineer Job in Raleigh, North Carolina US
Consultant Software Engineer Performance engineer
EMC is looking for a Consultant Software Engineer to be part of the development team that creates the next generation of storage products. This full time position is focused on identifying and improving the performance of key control path operations on a storage system and mentoring and consulting within the control path development team on creating scalable performance designs and implementations. In this role the candidate will ensure appropriate metrics and instrumentation are designed into key code paths and optimizations. The candidate will focus on prioritizing key configurations and operations to be measured and optimized for, especially identifying key core operations and common architectural design issues and approaches that will prevent the system from scaling up to effectively handle very large configurations with minimal overall system impact, and from scaling down because of large resource needs. The candidate must be able to effectively communicate with team members and managers and must possess a strong work ethic. The ability to take "ownership" of assigned tasks and drive them to completion is essential. Education and Experience Required · Extensive experience in large-scale application design, development and performance tuning of complex projects · Hands on experience with performance modeling and measuring tools · Hands on experience in characterizing and finding performance issues in the SW stack · Understanding of how to achieve performing SW systems in environments with fixed resource available (memory, CPU, IO) · Experience debugging software systems, using debuggers like gdb, windbg, and SW profiling tools. · Experience in developing software systems in C++ and Java. · Good understanding of common network protocols like TCP/IP and HTTP and ability to diagnose problems using network monitoring tools. · Experience in building systems-management and monitoring applications a big plus. · Proven ability to deliver scalable software. · Understanding of object-oriented design methodology and techniques. · Understanding of system architecture, including processors, memory management, storage and networking is highly desirable. · Must be comfortable in both Windows and Linux environments · Excellent communication skills · Strong interpersonal and problem-solving skills. · Demonstrated technical leadership and skills in mentoring and guiding others · Ability to translate business and technical requirements into a data model ? BS or MS, Ph.D in Computer Science, Math, or Engineering ? 10+ years of experience on software development EMC is an Equal Employment Opportunity employer that values the strength diversity brings to the workplace. EMC does not accept unsolicited Agency Resumes. EMC will not pay fees to any third party agency or firm that does not have a signed ?EMC Agency Fee Agreement.?