Performance Engineer, MTS
Salesforce
To get the best candidate experience, please consider applying for a maximum of 3 roles within 12 months to ensure you are not duplicating efforts.
Job Category
Software EngineeringJob Details
About Salesforce
We’re Salesforce, the Customer Company, inspiring the future of business with AI+ Data +CRM. Leading with our core values, we help companies across every industry blaze new trails and connect with customers in a whole new way. And, we empower you to be a Trailblazer, too — driving your performance and career growth, charting new paths, and improving the state of the world. If you believe in business as the greatest platform for change and in companies doing well and doing good – you’ve come to the right place.
Performance Engineer / Software Engineer JD
Salesforce is seeking a Performance Engineer to join the Experience Cloud and Platform Performance Team
The Experience Cloud and Platform Performance Engineering team is looking for an extremely talented engineer to work on measuring, analyzing, and helping optimize the performance and scalability of new and existing features.
As a Performance Engineer you will focus on developing sophisticated tests that enable Salesforce to perform the most complex load simulations and comprehensive end-to-end automation in the industry, and ensure that our services are blazingly fast and bulletproof. You will utilize sophisticated automation frameworks and software tools written in Java and other languages. You must demonstrate the ability to understand novel system architectures, pinpoint problem areas, and develop succinct test plans across multiple hardware and software tiers with little more than verbal conversations.
Your impact:
Be a part of the first-rate team that influences the future expansion of next-generation cloud solutions for speed, scale, and high availability.
- You will have the chance to create performance experiments, collect and evaluate data.
- Develop power tools and automation frameworks for continuous integration, performance measurement and evaluation.
- Contribute to the design and velocity of our global products.
- Optimize our systems end-to-end by advising infrastructure design, server and application development/ tuning, solving sophisticated cluster architecture and any data storage issues
If you’re fired up about software performance, automating everything, and working with phenomenal engineers, this is the job for you! If you are a developer that is passionate about performance, or a performance tester that is also interested in contributing performance improvements, we would love to hear from you.
This candidate must have the technical prowess to write fast and efficient code, find inefficiencies and influence others to make performance improvements. In addition, this engineer needs to measure and demonstrate performance gains in a scientific way, by building/running workloads or simulations. The candidate should be comfortable in discussing time/space complexity using O(n) notation and engage in a project’s design phase for its performance and scalability considerations. You are the performance specialist for your scrum team, and should be responsible for your team’s performance related problems on
Your Background:
You are obsessed with squeezing the last bit of performance possible out of your applications. You are always looking for ways to better utilize CPU, Memory, and IO subsystems. You enjoy having new learning opportunities so that your core skills are never outdated. You are intrigued by some of the largest enterprise cloud deployments on the planet and how they really scale. As a Performance Engineer you'll be a part of the team responsible for developing the tests, tools, frameworks, and platforms necessary to ensure Salesforce.com remains the world's most highly performing, scalable, and reliable enterprise cloud computing company in the industry. Your efforts will help us ensure we use the most innovative methodologies, deep architecture expertise, cutting-edge automation, and advanced tools in the industry to maintain our leadership position.
Responsibilities:
- Work closely with management, product owners and developers to understand product requirements and design appropriate performance test plans to verify feature performance and scalability.
- Provide accurate scoping, clear strategies, and milestones for performance tests
- Communicate status, risks to test complete dates, and offer mitigation strategies to ensure on-time delivery of all committed projects to cross functional teams
- Participate in architecture discussions and planning with development teams
- Design and implement scalability, stability, stress, reliability, availability, and longevity tests using industry standard tools and custom developed software written in Java
- Review automation implementations and encourage sound design principles
- Review test plans, results analysis, capacity planning guides
- Work closely with the Production Success Performance Team to provide product and automation expertise for use in patches, research projects, sizing, and capacity planning
- Coordinate technical presentations and training for capacity planning guides
- Report weekly trends highlighting product performance and team status against committed milestones and projects
- Organize and drive cross-product Performance Testing
- Advocate for Performance mindset while developing code
- Providing leadership, coaching and mentoring other Performance Engineers on your team
Required Skills:
- Performance Engineering experience with a distinguished track record on technically demanding projects
- Experience with HTTP load generation / measurement software (e.g. JMeter, Gatling)
- Strong knowledge of Java and SQL (Oracle and/or Postgres preferred)
- Very strong knowledge of SQL performance, SQL tuning and optimization, and understanding of explain plans for complex queries. Oracle SQL/PLSQL query plan analysis/tuning, contention/locking analysis and tuning.
- Experience with performance testing, analysis, troubleshooting, and optimizing enterprise software. Able to research and propose optimizations, and write POC code where required.
- Distributed systems debugging
- Able to work with Dev, QE and Product Management teams to understand requirements.
- Outstanding attention to detail and communication skills
- Ability to analyze / interpret technical data
- Ability to identify / resolve system bottlenecks
- Ability to identify potential limitations in software architectures
- Ability to write clear and concise technical documents
- Excellent troubleshooting and reasoning skills
- Understanding of throughput, latency, memory and CPU utilization
- Understanding concepts of multi-threading, cache, memory management, Java Virtual Machine, JIT
- Working knowledge of operating system design / tuning / tools (e.g. Linux, Solaris, OProfile, VTune)
- Working knowledge of AJAX, HTTP, REST, JSON
- Working knowledge of database tuning and administration (e.g. Oracle, DB2, Oracle AWR/STATSPACK)
- Passion for continuous improvement in learning technically and authoritatively
- Self-motivator, who can work independently, able to learn quickly, meets deadlines and demonstrates problem-solving skills.
- Effectively communicate technical information in a clear and concise manner and ability to coordinate cross-team efforts
Desired Skills:
- 3+ years working on multiple releases with short cycles (3-6 months)
- Familiar with Application servers (e.g. Jetty, Resin, Weblogic, WebSphere, JBoss)
- Familiar with J2EE Technologies (e.g. JSP, Servlets, EJB, WebServices, SOA)
- Familiar with Java Debugging / Monitoring Software (e.g. JProfiler, Yourkit, JProbe, OptimizeIt, OProfile, DynaTrace, Introscope, etc.)
- Familiar with File Systems, Storage Systems, and related performance solutions
- Familiar with Message Queues (e.g., Apache Qpid, Oracle AQ, Tibco, etc.)
- Familiar with Oracle clustering technologies (e.g. RAC, Grid, OPS)
- JVM (Java Virtual Machine) and garbage collector tuning, heap dump experience
- Experience with the following performance tools: JMeter, YourKit
- Experience in using UI profilers and deep knowledge of chrome developer tools
- Knowledge of how a browser works (i.e. chromedevtools, ui automator)
- Agile/ Scrum methodology experience
- Understanding of back-end systems and API’s, developer tools and compilers
- Knowledge of statistical break down and experimental design techniques
- Experience evaluating and interpreting large volume of production data using Splunk to know efficiency, latency, memory and CPU utilization
- Ability to dig deep into sophisticated pieces of code to understand system design with an eye for performance and scalability bottlenecks with an aim to optimize code.
Accommodations
If you require assistance due to a disability applying for open positions please submit a request via this Accommodations Request Form.
Posting Statement
At Salesforce we believe that the business of business is to improve the state of our world. Each of us has a responsibility to drive Equality in our communities and workplaces. We are committed to creating a workforce that reflects society through inclusive programs and initiatives such as equal pay, employee resource groups, inclusive benefits, and more. Learn more about Equality at www.equality.com and explore our company benefits at www.salesforcebenefits.com.
Salesforce is an Equal Employment Opportunity and Affirmative Action Employer. Qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender perception or identity, national origin, age, marital status, protected veteran status, or disability status. Salesforce does not accept unsolicited headhunter and agency resumes. Salesforce will not pay any third-party agency or company that does not have a signed agreement with Salesforce.
Salesforce welcomes all.