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.
Purpose of Role
- To assist with the development of the Core / Framework layer of our app, this layer includes:
- Network Transport layer
- Asset Loading and Management
- Unit Testing
- Improvements towards downloading and caching assets, to minimize memory overhead and increase speed.
- Improve Telemetry and Profiling ability within the app.
- Progress the C++ side of the game framework, this includes content pipeline for GF assets, runtime importers for GF assets, potential LUA client integration, etc.
- Moving ShopItems to an Embedded DB.
- Assist with building generalized web services in the client that simplifies game play level code.
- Assist with the movement towards Unit Test support in the Core / Framework layer of the app.
- Client-side of smartfox re-write / protocol correction - though this maybe should be another role, perhaps need ‘General Core Tech’ and ‘Client Networking’
- 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
- 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.
- Good working knowledge of commonly used algorithms and techniques
- 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
- Experience of developing software for Android and/or iOS
- Experience of developing game engine code.
- Experience of using CPU, memory and power profiling tools to inform optimisation work
- Experience in a Continuous Delivery environment, working on a live product
- Experience writing and debugging multi-threaded code
- Bachelor’s degree in Computer Science or related discipline