Software Engineer, Platform Services Abstraction
Role details
Job location
Tech stack
Job description
- Crafting unified APIs that implement features of various target platforms in a single, unified and testable way
- Contributing the implementations of these APIs to the Unity codebase, including unit tests
- Advocate for the unification of disparate platform implementations into simple abstractions across Unity
- Deliver a stable quality product that the team is proud of by exemplifying robust API design methodologies along with high-quality C# and C++ coding practices
- Refactoring existing code to be more efficient and maintainable, responding to user feedback and solving user issues with the codebase
Requirements
A successful developer in this role will be a one who has the desire to investigate and understand how similar features are implemented across various platforms, then use that knowledge to design unified APIs that can be used across platforms. This will require deep cooperation with teammates as well as the willingness to build relationships with technical teams across Unity. We strive for an environment in which the best ideas win by encouraging and respecting the input of all team members, taking into account different communication styles and experiences., * Knowledge of native development on at least one platform, preferable console, with adaptability to add more platforms to your expertise
- Empathy for the unique challenges game developers face building and maintaining rich experiences over multiple platforms
- Experience contributing to cross-team projects from initiation to completion
- Experience in C# and developing Unity-based games and extending the Unity editor
- Experience working with a small to medium size team
You might also have
- Knowledge of writing native plugins for Unity and/or experience with API design and asynchronous coding paradigms
- Experienced in development for multiple game consoles, mobile or desktop platforms and shipping cross-platform titles that also use platform-specific features when appropriate
- Long term code ownership mentality by being diligent with documentation on thought processes, decisions made and code API, This position requires the incumbent to have a sufficient knowledge of English to have professional verbal and written exchanges in this language since the performance of the duties related to this position requires frequent and regular communication with colleagues and partners located worldwide and whose common language is English.