Software Developer/ Engineer/ Architect

Senior/Lead Software Engineer - Performance

Job Details

We are seeking a Lead Performance Engineer to join our R&D, Tech & Products team. Our mission as the “customer company”, is to ensure confidence with our customers, from Fortune 100 companies to start-ups and nonprofit organizations. 

Your impact:

Be a part of the team that influences the future expansion of next-generation cloud solutions for speed, scale, and high availability. You will have the chance to define 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 application development/ tuning, solving complex architecture that impact features within artificial intelligence, Platform, API’s and mobile UI experiences.

If you’re fired up about software performance, automating everything by building innovative software, and working with great engineers, this is the job for you! Does the sound of distributed automation, data fingerprinting, time-correlation, intelligent alerting, data skew, waterfall charts, instrumentation, and custom profilers get your creative juices flowing? Want to build those at a scale larger than you’ve ever thought possible?

This candidate must have the technical prowess to write fast and efficient code, find inefficiencies and influence others to make performance improvements. Also, this engineer needs to measure and scientifically demonstrate performance gains, by building/running workloads or simulations. If you are fueled by the challenges of deep diving into large scale applications spanning diverse technology stacks, then the Salesforce Industry Performance Team is the place for you. 

As a Performance Engineer, you’ll work closely with the development teams and will be expected to provide input into the architecture and scalability of various components. You will also focus on identifying, fixing and preventing performance bottlenecks in a multi-tier and massively parallel infrastructure. The performance engineer will design benchmarks, methodology and analysis tools to be adopted cloud-wide, evangelize and support performance work throughout the engineering team and across the industry.

Required Skills:

3+ years of software development experience,

9+ years in performance engineering role analyzing, troubleshooting and automating performance workloads on large scale systems

3+ years of experience in building automation tools

Strong programming skills in either Java, C, Python, Ruby on Rails, Javascript or Swift and profilers

Experience conducting benchmark and/or work-load testing using automation tools and frameworks for performance measurement and evaluation (JMeter, Load Runner)

Experience performing simulation or lab experimentation to evaluate application/ system performance

Distributed systems debugging

Ability to work cross-functionally to articulate, measure and solve performance issues

Passion for continuous improvement in learning technically and professionally

Design, develop and enhance trusted, secure and friendly frameworks for engineers to make software validation & automation easy

Bachelor’s degree (or its foreign degree equivalent) in Computer Science, Engineering, or a related technical discipline or equivalent experience

Preferred Skills:

SaaS experience at scale

Knowledge of database fundamentals: SQL, schema, internals (Oracle preferred)

JVM (Java Virtual Machine) and garbage collector tuning, heap dump experience

Experience with the following performance tools: Selenium, JMeter, Load Runner, JProfiler, YourKit

Experience in using UI profilers and deep knowledge of chrome developer tools

Knowledge of how a browser works (i.e. chromedevtools, ui automator)

Hands-on Experience in javascript, React and NodeJS

Agile/ Scrum methodology experience

Experience with big data technologies such as Hbase, HDFS, Hadoop, Pig, Hive and/or Kafka

Experience working in an Apache/ Spark architecture

Understanding of back-end systems and API’s, developer tools and compilers

Knowledge of statistical breakdown and experimental design techniques

Working knowledge of Linux operating system

Experience evaluating and interpreting large volume of production data using Splunk to know throughput, latency, memory and CPU utilization