Software Performance Engineer Job Description
Software Performance Engineer Duties & Responsibilities
To write an effective software performance engineer job description, begin by listing detailed duties, responsibilities and expectations. We have included software performance engineer job description templates that you can modify and use.
Sample responsibilities for this position include:
Software Performance Engineer Qualifications
Qualifications for a job description may include education, certification, and experience.
Licensing or Certifications for Software Performance Engineer
List any licenses or certifications required by the position: X509, HTTP, OSCP, CEH, CISA, CISSP, ITIL
Education for Software Performance Engineer
Typically a job would require a certain level of education.
Employers hiring for the software performance engineer job most commonly would prefer for their future employee to have a relevant degree such as Bachelor's and Master's Degree in Computer Science, Engineering, Technical, Computer Engineering, Electrical Engineering, Software Engineering, Education, Information Systems, Math, Business
Skills for Software Performance Engineer
Desired skills for software performance engineer include:
Desired experience for software performance engineer includes:
Software Performance Engineer Examples
Software Performance Engineer Job Description
- Proposing, prototyping and productising software changes to improve system performance
- Identifying bottlenecks across software, micro-architecture, and architecture
- Establish performance objectives
- Work closely with business and product areas to translate business and development plans into enterprise-wide transaction sequencing models
- Utilize statistical performance analysis and modeling techniques to validate transaction forecasts
- Work closely with end-to-end capacity planner to integrate performance measurement data into capacity plans
- Use tools to measure, quantify and analyze the performance benchmark and validate with end-to-end transaction sequences/rates
- Use rigorous logic and methods to solve moderately complex problems with effective solutions
- Ask probing questions to obtain critical information for decision-making
- Identify problems and associated performance measurement risks
- OS internals (Linux/Android)
- Experience with System On Chips (SOCs), Power and Performance Analysis
- Experience with writing and tuning high-performance applications is a plus
- Strong understanding of the CLR, especially concerning tasks, threading, memory management, and similar topics
- Experience working with IIS hosted .NET applications
- Experience developing client-server applications and / or web development with ASP.NET MVC
Software Performance Engineer Job Description
- Help develop and communicate design guidelines for high quality software performance development
- Align decision making and problem solving with longer term strategy
- Investigate bugs by recreating the customer’s specific environment in our lab and determining solutions
- Respond to requests for enhancements (RFE) from upstream communities or customers by developing new features for assigned packages
- Work on performance optimization of existing code and architecture
- Collaborate with other developers across multiple departments and technologies
- Resolve and track firmware related customer issues
- Additional duties may include research, evaluation, development and application of new process and methods into products
- Interact with product managers and/or users to define system requirements and/or necessary modifications
- Work with project managers to identify and mitigate project risks, ensuring releases are delivered on schedule
- 10+ yrs with C/C++ development for application development
- Optimizing CDN usage and web server configuration in production environments
- Awareness of cross-browser compatibility issues
- Ruby-on-rails in production environments
- Working knowledge of at least one of the Load testing tools (JMeter, Grinder or Load Runner)
- Strong interest in of the following
Software Performance Engineer Job Description
- Design, build and deploy software systems that run 24/7 at great and increasing scale
- Incorporate industry best practices into all aspects of the software development and product lifecycle
- Participate in design discussions and planning with Development
- Define measures of performance that are meaningful to customers, developers, and sales and support personnel
- Define and execute upon an efficient and cost effective strategy for performance testing at large scale
- Develop a framework for testing including tools and methods that other engineering teams can leverage for their components to easily identify and characterize performance issues
- Work cross-functionally, develop strong partnerships, and communicate proactively with stakeholders
- Write comprehensive performance test plans for load testing, stress testing, soak testing, and scalability testing
- Definition of scales of measure of performance in a complex system
- Working as part of a self-organising team, and providing daily updates of own work, within an agile framework
- Contributing to the design and architecture of the aforementioned systems
- Pairing with and mentoring other developers to share knowledge and practices
- Industry experience of architecting and developing high throughput (10s of Gbps per server), high concurrency (1000s of requests per second) Internet applications from inception to production
- A strong command of the HTTP specification
- Demonstrable experience tuning Internet applications on Linux to improve concurrency and throughput
- Code-level experience with the TCP/IP stack and Internet protocols
Software Performance Engineer Job Description
- Tune various tiers (UI, network, Java application, database, and storage) to ensure cloud applications can support enterprise scale customers
- Propose resolutions for software/hardware changes and upgrades to address identified bottlenecks and support higher throughput
- Utilize various scripting languages, Java, and standardized tools to mimic real world production and generate load against internal test environment
- Developing and enhancing innovative tools for architectural exploration and performance analysis
- Running experiments on real and simulated platforms
- Understanding real-world use-cases and building workloads to model them
- Contributing to future server designs
- Collaborate with Development SCRUM teams and Architects on application and system performance impacts
- Review performance test plans, results and develop capacity planning guides
- Ensure high quality product for our customers by validating and help improving on performance, stability, scalability, and reliability
- Experience debugging the Linux kernel in order to understand specific behaviours or uncover defects
- Demonstrable experience with configuring or building Unix systems
- Experience with Nginx server
- Code contributor to a C language open source project
- Knowledge of Internet caching applications and architectures (Nginx, Apache Traffic Server, Varnish, ) in production settings
- Strong understanding of the Internet stack networking protocols and experience
Software Performance Engineer Job Description
- Fully contribute in performance risk assessment and analysis of product deliverables to define clear performance goals and design applicable test strategies
- Provide consultation to development teams and database developers to design performance test strategies to be executed and analyzed throughout the SDLC process
- Work directly with architects in tuning environment configurations/infrastructure as part of performance test analysis
- Perform code inspections to identify performance problems and recommend solutions
- Performing test analysis on full releases on an integrated code base environment with the use of appropriate metrics
- Analyze and monitor release performance trends and recommend improvements
- Maintain and provision performance test environments, including populating performance environments with appropriate test data and code versions
- Initiate, Design, plan, scope, schedule and implement performance testing initiatives
- Creating and defining standards and best practices for use in constructing performance test scenarios
- Responsible for the design and implementation of core automation repository supporting project teams
- 10+ yrs of Software Development Life Cycle with Agile principles
- Hands –on ace software coding expert in C/C++ coding standard and experience with enforcement of coding standards for mission critical application
- Employing software engineering and development best practices
- Should be well grounded in math
- Experience in design, development and testing of highly available software products
- Experience in creating distributed scalable architectures