Product company
We are looking for a C# Engineer for a leading mobile gaming company and monetization platform with over 35 million monthly active users across a portfolio of games titles to work on cross-platform solutions.
Tasks:
- Develop new cross-platform infrastructure client libraries for internal game studios;
- Maintenance and support of existing libraries and products;
- Investigate and fix weird rare crashes, and application freezes;
- Review the code of your colleagues;
- Cover your code with unit tests;
- Find weak spots in the design of the app, and implement improvements, so that your fellow developers will make fewer mistakes during development;
- Listen to suggestions from your team on how different aspects of the feature development could be improved and find and implement your solutions.
You will use C# as your main programming language to develop new and support existing libraries that use in Xamarin and Unity-based games.
Requirements:
- You understand and can apply software architecture principles (OOP principles, SOLID, KISS, DRY, IoC/DI, design pattern);
- You have good experience with .NET and C#;
- You have strong knowledge of asynchronous programming;
- You have knowledge of data structures and algorithms;
- You have experience connecting applications to multiple APIs (http/https, sockets);
- You have experience with Test Driven Development (TDD) as it pertains to unit testing (xUnit, NUnit, Moq, Automock);
- You have an interest in improving the product you work on;
- You can communicate your ideas to other members of the team and accept constructive criticism.
Nice to have:
- Experience with Xamarin mobile development or knowledge of the specifics of the iOS or Android platform;
- Experience with UWP development;
- Experience with Unity development.