Job Description
Why PlayStation?
How would you like to influence the most successful gaming platform of all time, by testing and analyzing the very technology our PlayStation developers use to build our best selling games?
Sony Interactive Entertainment has an extraordinary opportunity in the R&D department! We are looking for a motivated and creative individual to help build tools and infrastructure for analyzing the quality of PlayStation CPU compilers (and related technology).
As a Software Engineer in Test, you will directly contribute to PlayStation technology: by ensuring that the tools required to build all of PlayStation's games are at the highest possible quality. This is also a learning opportunity to develop a keen understanding of compilers, and to engage with the larger LLVM community on patch submissions, code reviews, and design discussions. If this interests you, please apply!
Responsibilities:
• Crafting and improving the testing tools and frameworks used for ensuring high quality LLVM-based C/C++ compilers. You will be adding to and improving a Python-based test infrastructure and general ecosystem.
• Supervising the state of our test infrastructure - including automated build and regression test results, and reporting problems.
• Analyzing reported issues – including issues reported from PlayStation licensees (typically PS5 or PS4 game developers). This involves writing test-cases or test applications (written in C and C++) to verify the reporter's original issue, and confirm proposed software fixes. Analyzing these issues may involve analyzing low-level CPU code generation, and debugging behavior.
• Writing sample applications and/or scripts demonstrating the results from novel and groundbreaking CPU compiler / LLVM research (as targeted to gaming consoles, or for improving game developers' development experience).
• Developing techniques for runtime benchmarking of real-time code.
• Analyzing low-level runtime performance data captured from a game or application running on PlayStation hardware, and writing succinct, understandable summaries of performance numbers and behavior observed (so team members understand performance trade-offs).
• Researching new tools for building and analyzing PlayStation software.
Tools and Technology used in this position include
• Visual Studio.
• PlayStation software development kits (SDKs).
• Software automation and continuous integration tools such as Jenkins.
• Python tools written using Python 3 features such as type hinting.
• Software repository servers such as Artifactory.
• Containerization technology such as Docker and Kubernetes.
• Distributed build systems such as SN-DBS.
• Source control (e.g. Git) for all systems, including Jenkins Groovy scripts (pipeline as code).
Qualifications
• Proficient in Python programming. (Multiple academic or industry projects completed, 2+ years programming experience.)
• 2+ years of experience programming in C++; modern C++ experience (e.g. C++17) is optional but helpful.
• Experience building, running, and debugging software in both Windows and Linux environments.
• Desire to learn all about compilers and their associated toolchains.
• Having a passion for automation with the ability to discuss the pros and cons of various automation approaches.
Nice-to-Have
• Experience with LLVM technology is a strong plus.
• Groovy script coding experience (for Jenkins pipelines).
• Prior experience with PlayStation SDK development is helpful.
• Writing unit and integration tests.
• Knowledge of fuzz testing is a plus.
• Windows container experience is another strong plus.
• Familiarity with Unreal Engine or other game engine technology.
• Familiarity with PlayStation products and games.
Equal Opportunity Statement:
Sony is an Equal Opportunity Employer. All persons will receive consideration for employment without regard to gender (including gender identity, gender expression and gender reassignment), race (including colour, nationality, ethnic or national origin), religion or belief, marital or civil partnership status, disability, age, sexual orientation, pregnancy or maternity, trade union membership or membership in any other legally protected category.
We strive to create an inclusive environment, empower employees and embrace diversity. We encourage everyone to respond.
Jobcode: Reference SBJ-gk9vz4-44-204-94-166-42 in your application.