Job Description

Performance Engineer

The Company

Willis Towers Watson is a leading global advisory, broking and solutions company that helps clients around the world turn risk into a path for growth. With roots dating to 1828, Willis Towers Watson has 40,000 employees serving more than 140 countries. We design and deliver solutions that manage risk, optimize benefits, cultivate talent, and expand the power of capital to protect and strengthen institutions and individuals. Our unique perspective allows us to see the critical intersections between talent, assets and ideas – the dynamic formula that drives business performance. Together, we unlock potential. Learn more at willistowerswatson.com.

The Business

At Willis Towers Watson, we are more than individuals. We are a community focused on helping our colleagues and clients thrive and succeed. Willis Towers Watson is a leading global professional services company that helps organizations improve performance through effective people, risk and financial management. With 39,000 associates around the world, we offer consulting, technology and solutions in the areas of benefits, talent management, rewards, and risk and capital management.

When it comes to talent and compensation management, no other firm combines the human capital expertise, world class technology and global strength than Willis Towers Watson.  Our Data and Technology consulting services range from strategy development to highly advanced workforce planning and optimization solutions.

The Role

The Performance Engineer will play a key role in ensuring that key milestones are met for web application performance, load and stress for one or more commercial enterprise class products for our global Fortune 500 clients, as well as being a key contributor to capacity planning strategies.  The successful candidate must be able to profile and triage performance and scalability problems through the application and infrastructure stacks.  This includes identifying and partnering to remediate problem areas at the UI, web service, application container, configuration, data access layer, database, server, load balancer and network layers. This candidate will work with production support teams, architects, engineers and data center personnel in the identification and remediation of these priority issues.Some key responsibilities include but are not limited to:

  • Responsible for providing expertise and technical leadership in performance engineering and tuning for large-scale software systems so they achieve system performance objectives.
  • Technical leadership includes performance assurance, defining performance validations (including high-volume load, large dataset performance and stress analysis), capacity planning, detailed hardware configuration planning, and client assurance.
  • Responsible for determining the validations that indicate performance objectives have been attained in the software product ready for client shipment.
  • Works closely with product development personnel to attain the highest level of system performance by identifying potential performance bottlenecks and mitigation strategies for improvement.
  • Identify application performance patterns, hardware configuration, operating system, and database parameters needed for optimal performance, based on client workload characterization, and assists in an on-going basis to realize stated product and solution performance objectives.
  • Partners with the Load/Perf Testing leadership in writing performance validation plans and performance test results documents.
  • Conduct code reviews for peers and/or junior engineering team members based upon identified performance issues in order to increase the team knowledge of performance anti-patterns.

Job Requirements

The Requirements

  • Bachelor's degree and 8+ years of related engineering experience
  • Demonstrable knowledge of networking protocols (such as HTTP, TCP/IP and UDP), load balancers, web application security and multi-tier web application architectures.
  • Demonstrated experience of meeting performance related deliverables on aggressive schedules with quality and on schedule
  • Experience in detecting memory leaks, deadlocks, hanging and looping processes, slow running processes, slow running database queries and biggest resource consumer.
  • Applied knowledge of approaches and tools such as ANTS, dotTrace, Glimpse, Stackify, SQL Profiler, SQL Monitor
  • In depth experience and knowledge of performance analysis, tuning techniques and benchmarking from the UI to the data tier
  • Develop robust benchmark workloads based on production traffic patterns and anticipated feature usage with varying load levels and varying account sets.
  • Experience working with the full Microsoft technology stack, including .NET/C# ,SQL Server, ASP.NET, MVC and Web API
  • RESTful Architecture experience
  • Object Relation Mapping (ORM) such as Entity Framework or nHibernate
  • Experience with front-end libraries, AngularJS and Bootstrap.
  • Experience with Software as a Service (SaaS), multi-tenancy application development
  • Experience working with large relational databases (SQL Server) in development and administration
  • Excellent organizational skills, multitasking ability and proven analytical, methodical thinking, problem solving and decision making skills
  • Excellent verbal and writing skills, including the ability to research, design, and write new documentation, as well as to maintain and improve existing material
  • Experience working for a national or global commercial software product company requiring software product usage and high availability in a 24/7/365 model.
  • Experience working with globally distributed business stakeholders and engineering teams
  • Experience working with collaboration and issue tracking tools such as Confluence and JIRA
  • Experience working in a large, fast-paced project environment
  • Strong work ethic is a must
  • Proactive: Must be willing to seek out information and solutions that are pertinent to their responsibilities and key to their delivery
  • Must be willing to remediate code written by others
  • Team player attitude with a focus on the success of the team is a MUST
  • Proactively collaborates with other teams/team members ( Enterprise Architecture, Quality Assurance, Engineering, Information Security) across global time zones with the upmost professionalism, tact and resolve