Principal Performance Engineer 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.
Qualifications: -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.