Java/Dynamic Language Engineer – Software Engineering
Company | Qualcomm |
---|---|
Location | Santa Clara, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Mid Level |
Requirements
- MS / Ph.D. – Computer Science, Bachelors – Engineering, Bachelors – Information Systems/Security
- 3+ years Software Engineering or related work experience
- 4+ years’ experience with Programming Language such as C, C++, Java, Python, etc.
- Experience with tuning Java programs to improve performance on server platforms
- Experience with implementing language run-times with JITs and garbage collectors; experience in Java strongly preferred
- Experience with implementation of other dynamic languages (or significant run-times) than java, such Lua, Go, Python, etc.
- Experience with ARM64 ISA
- Ability to work with remote team members and with open source communities
Responsibilities
- Provide leadership in full software application and solution performance measurement, analysis, and improvement of Java and other dynamic languages
- Translate customer requirements and benchmark measurements into opportunities for differentiation using our hardware. Work closely with silicon and software performance teams to model and predict leading application performance and areas for optimization
- Engage with leading open platform and open-source software communities to advocate for key architectural enhancements and solution improvements that support our product directions
Preferred Qualifications
- Advanced knowledge of Computer Architecture concepts, including high performance server class architectures, weak memory models, code generation, complex software design and server platforms
- 3 years+ experience measuring, analyzing, and improving application performance in scale out server configurations and deployments
- 3 years+ experience in performance optimization through a range of approaches that include firmware and OS settings, compiler options, application options, library substitution, language run-time code changes, etc.
- Demonstrated experience in presenting performance methodologies, results and recommendations to various stakeholders including hardware engineers, OS engineers, compiler engineers, and management both internally and to customers or partners.
- Self-starter who takes initiative and consistently demonstrates technical leadership to both internal teams and external partners and communities
- Effective in collaboration and communication working with team members remotely and across geographies
- Experience collaborating with partners and customers to model performance priorities and configurations.
- Experience defining and building benchmarking infrastructure for CI of open-source systems software and applications for performance regression
- Experience working in open-source software development for server and infrastructure computing segments.