The Principal Performance Engineer will execute a series of strategies that relate to performance tuning mission-critical J2EE applications
Duties and Responsibilities:
-Own the performance test lab, including setup of OS(Solaris 10), Oracle Database, JBoss server, Apache, Network, Load balancer, etc.
-Own the implementation of performance and scalability testing methodology and recommendation
-Work across entire engineering teams to collect performance test requirements, formulate scalable test strategies, and enforce performance testing
-Work with data center/NOC team on reproducing, resolving and preventing performance issues on production servers
-Setup monitoring and benchmarking tools on performance lab and generate reports regularly
-Setup and execute performance and scalability tests with huge number of concurrent users, profile and fix problems.
-Developing test tools used to administer performance and scalability tests.
-Profile and isolate application and architectural issues and recommend and develop resolutions.
-Provide internal and external customer documentation summarizing results of performance and scalability tests.
-Conduct research projects into applicable technologies for enhancement of application performance.
-Recommend application coding practices as required.
-Review technical specifications. Provide architecture guidance for better performance to development team.
-BS degree in computer science or related field
-Expert in system administration, application server config, network config and setup
-Rich software development experience -- 4 years experience with Java or J2EE.
-Strong experience with relational databases and SQL tuning, preferably Oracle.
-Must have solid knowledge of algorithms and data structures and be able to assess trade-offs between memory vs. CPU vs. I/O vs. database load etc.
-Rich experiences on resolving multi-threading, deadlocking, JVM GC issues.
-Must be highly goal oriented, flexible and be able to adjust to changing priorities under stressful conditions and tight schedules.
-Must have excellent communication and interpersonal skills.
-An absolute self-starter. Very comfortable and highly effective when working across teams.
-Highly motivated for performance work. Can take a big project and drive it from the start to the finish with minimum supervision.
-Have rich experiences working on real, large deployment of production systems.
-Prior experience with performance Profiling/Tuning/Testing.
-Prior experience with analysis tools such as JProfiler, JConsole, etc.
Desired, but not required:
-Experience writing technical documentation.
-Experience with human capital applications.
-Experience with SaaS architectures.