Game audio is a field that often gets overlooked. Even in most reviews, you normally read just a couple of lines about it, if it’s even covered. Yet, it’s almost as important (if not more, at times) as graphics, and Sony Computer Entertainment seems to want to improve its offering on PS4.
A career opportunity ad seeking an Audio Software Engineer for the San Mateo studio reveals more details:
This engineer will develop new audio technologies to create new experiences for the PlayStation 4 – they will help create the next generation of game audio.
Advanced knowledge of audio, signal processing, acoustics, psychoacoustics and electronics is highly desired. Deep familiarity with audio production processes for music, film or video post-production or games is required. Imagination is essential. An ability to learn what is needed and get things done promptly is required.
The candidate is expected to demonstrate self-motivation, manage their own programming schedules and contribute to the development of new theories and methods. They should have a minimum of three years of experience with C and C++ programming. Knowledge of relevant technologies in consumer electronics and the computer game industry is an advantage. An ability to quickly understand large unfamiliar code bases is required.
Principle Responsibilities and Duties:
- Supporting integration of PlayStation technologies into 3rd party tools
- Researching and prototyping new audio technologies
- Developing novel signal processing algorithms
- Implementing audio signal processing algorithms
- Numerical programming
- Systems level programming and debugging
Quite interesting is the mention of Psychoacoustics, which is the science studying the psychological response to sound.
On top of this, a second ad, seeking a Sr. Software Engineer – R&D is less specific, but seems to indicate work going on at a system level, especially in the field of multithreading and development tools:
The senior level engineer is an individual contributor that has gained the knowledge and coding skills that allow him to look at the broader aspect of software development. At this level, the senior engineer can implement entire engineering projects; make decisions around features, design,architecture and implementation. The senior engineer will take an active part in planning and time allocation within the team and assist his manager in the overall technical planning for the project. Senior engineers can mentor more junior engineers and may safe-guard the code-base through code reviews and approval processes to ensure that architecture and coding standards are being followed.
This person possesses expert knowledge in relevant technologies such as graphics rendering, tool chains, SDK development, platform abstraction. In addition, the individual contributor within the team will provide analysis and resolutions for difficult technical challenges.
Principal Duties and Responsibilities:
- Serve as a key contributor in complex and critical technologies related to software languages/systems.
- Research changes in existing software tools and technologies and contribute to the development of new theories and methods.
- Coordinate with project teams and user communities across organizational lines to provide feedback and promote relationships.
- Develop within broadly defined policies and practices creative technical design specifications and engineering plans to resolve complex problems with efficient and reusable code.
- Make recommendations regarding the overall system architecture and choices of technology.
- Review, analyze and plan for current and future technical risks.
- Contribute in technical requirements, quality assurance such as coding standards and guidelines for the team.
- Mentor one or more junior developers within technical aspects.
- Integrate needed technical components if necessary.
- Create technical specifications, architecture diagrams,charts and design flows.
- Self-study and participate in conferences to stay up to date with latest technology standards and coding techniques.
- Excellent C and C++ programming skills
- Cross-platform software development
- Multi-threaded architectures, SIMD and related codingtechniques
- Experience with and understanding of POSIX-style OS primitives (threads, mutexes, semaphores, etc.)
- Good communication skills.
- Ability to identify and analyze problems
- Pays attention to details.
Multithreading optimization (indicated by the two bolded required skills) is becoming a focus point for hardware manufacturers, with Microsoft working on it with DirectX 12 as well.
It seems that the chosen candidate for this job will have a heavy influence on platform-wide evolution. Interestingly, there’s also a mention of cross-platform software development, possibly indicating that we’ll see more interaction between Sony’s platforms in the future.
That said, it’ll definitely be interesting to see what Sony will be able to accomplish in the audio field, especially considering that there are games with a solid emotional weight like Uncharted 4: a Thief’s End coming this year.