We're looking for a super tech coder with experience of Unity and C# to assist with the development of the core framework layer of Avakin Life. With more than five million monthly players, this is a great opportunity to work on a highly rated mobile title.
- Work in an interdisciplinary team of artists, designers and engineers to design, prototype and implement new real-time engine, core technology and graphics features
- Proactively help to improve the existing technology used to build our games, whilst minimising technical debt and maintenance risks.
- Identify technical and developmental risks/obstacles and find solutions to overcome them
- Work within the constraints of our existing proprietary technology and develop new technology when necessary
- Promote and adhere to best-practice with regards to code quality and performance
- Assist with performance profiling and optimisation of your own and others code to fit platform constraints
- Collaborate with the Leads to plan and schedule tasks
- Keep up to date with the latest advances in engine and general programming techniques in the games and wider technology industries
- Help mentor and support more junior members of the team
- Collaborate with our QA teams to identify and fix bugs in a timely manner
- Write system documentation and test cases for assigned systems
- 5+ years programming experience developing games or similar products
- Strong practical experience of C# and C++
- Experience developing with modern game engines, such as Unity or Unreal.
- Experience of commonly used real-time 3D graphics techniques and mathematics
- Experience of writing reliable networking code, and knowledge of UDP/TCP and HTTP/WebSockets.
- Experience of working within and optimising for tight CPU, GPU and memory budgets
- Good working knowledge of commonly used algorithms and techniques
- Experience writing and debugging multi-threaded code
- Self-starter who is comfortable taking ownership of a feature or task
- Excellent communication skills; you must be comfortable collaborating with colleagues from non-programing disciplines such as art and design
- Experience of the full development life cycle from design through to shipping
- A pragmatic, robust approach to solving technical and non-technical problems
- Ability and desire to learn and master new and unfamiliar technologies and code
- In depth knowledge of Unity with at least one shipped product using it
- Experience of developing game engine code.
- Experience of developing software for Android and/or iOS
- Experience of working on online and networked multi-player games
- Experience of using CPU, memory and power profiling tools to inform optimisation work
- Experience writing and optimising shaders, especially for lighting and animation
- Experience in a Continuous Delivery environment, working on a live product
- Bachelor’s degree in Computer Science or related discipline