About
Ivan Fateev
Hello! My name is Ivan Fateev. I’m a software engineer with more than 10 years of experience.
I’m passionate about doing my job. I like making people’s job easier by organizing processes, communication and culture.
I believe that soft skills are no less important than professional ones. And they help me solve much more problems than I would solve just with technical approach.
During my career I had opportunity to work in different areas which include:
- Web site development
- iOS development
- Android development
- Game development
- Backend development
- FinTech.
I believe you can say that I’m generalist. But it doesn’t mean I don’t have proficiency in skills. I’m specialist but in several areas.
Thus my skill set is pretty wide. You can find my self assessment list below.
Some of the skills I didn’t use quite a while, but I assessed them at the peak, since I can get them up to date quickly.
If you want to reach me out
My preferred way of communication on professional matters is LinkedIn or email. For personal questions I prefer Telegram.
CV
Deputy CTO – WhaleKit (My.Games) Oct 2022 - Present time
Responsibilities:
- Speed up teams development
- Hands on help with architecture design and implementation
- Key architecture and tech decisions
Head of Mobile Development – ANNA Money Sept 2018 - Jul 2022
Responsibilities:
- Speed up mobile app development
- Improve collaboration and communication between departments
- Ensure the app is of a good quality
- Hands on help with architecture design and implementation
- Hands on help with key changes on Android platform
Achievements:
- Set up a performance review process
- Developed and integrated a Design system for the app
- Set up a quality control processes
- Developed smooth CI/CD pipeline for mobile apps
Technical Evangelist – Microsoft May 2017 - Sept 2018
Responsibilities:
- Help partners to build cloud solutions or migrate existing solutions to Azure cloud
- Consult partners on best architecture solutions
- Try and evaluate new technologies, cloud services, products etc.
- Build open source solutions that are helpful for partners
- Review and optimize partner’s cloud architecture in terms of performance and consumption
- Help & guide partners in building multi-tenant architectureResponsibilities: - Help partners to build cloud solutions or migrate existing solutions to Azure cloud - Consult partners on best architecture solutions - Try and evaluate new technologies, cloud services, products etc. - Build open source solutions that are helpful for partners - Review and optimize partner’s cloud architecture in terms of performance and consumption - Help & guide partners in building multi-tenant architecture
Lead Software Development Engineer – Glu Mobile June 2015 - May 2017
Responsibilities:
- Sprint and Roadmap planning with project manager
- Organizing & managing team of 3 developers
- Communication and aligning between studio’s units
- System architecture design (client & server)
- Ensuring that team follows the best code practices & code review
- R&D of new technologies & practices
- Support of a build server and other DevOps solutions
- Game logic & UI implementation
- Partial backend development (business logic mostly)
Achievements:
- Done a lot of optimizations which dramatically improved performance. Some screens loading was reduced from 30 seconds (in worst cases), to 1s. Runtime memory consumption was optimized by 100 Mb, which allowed to tun the game even on low-end devices.
- Introduced new architecture solutions for client-server communications which improved overall stability of the game
- Successfully leaded huge refactorings and improved overall architecture of the project
- Developed team’s CVS and DevOps practices guidelines which improved the speed of development by 20%
App Store: Contract Killer: Sniper You are a master assassin, hired to infiltrate secure locations and eliminate high-profile targets. Perform lethal strikes and follow your only rule: Honor The Contract.You are a master assassin, hired to infiltrate secure locations and eliminate high-profile targets. Perform lethal strikes and follow your only rule: Honor The Contract.
Team Leader, Game Developer – Game Insight Jul 2013 - Jun 2015
Responsibilities:
- Managing team of 3 devs
- Interviewing of candidates
- Researching and choosing a new technologies
- Setup and support of a build server
- Develop coding standards for a team
- Code review
- Crossplatform C++ framework development
- Game logic implementation
- Design whole system architecture
- Toolset development
- Network communication development (cURL for REST service, boost::asio for sockets)
- Resource manager development (multithreaded loading/unloading, package loading)
- Particles integration
- Render optimization
- Integrating social networks
Project: 2D builder + match3 game using Unity 3D Primary language: C#
Achievements:
- Developed AI for automatic testing game for bugs and for level balance
- I’ve set up continious integration solution based on buildbot and Unity3D command line
- Developed network layer
Developed extensible framework for field-based mechanics, including features:
- Command pattern
- Elements positioning
- Generic types, abstract mechanics which includes basic handlers and features for any mechanics implementation
Developed implementation of match3 mechanics based on framework mentioned above, which includes following features:
- Full featured level editor extension for unity
- Protections system (cells that are blocked by some objects, teleports, cloneable objects)
- Boosts system (objects affecting the field. e.g. bombs, lightnings, etc.)
- Gems and protections appearance themes (including particle effects and animator) based on configuration scriptable objects
- Probability system, level goals system: gather gems, drop crystal, reach the score, destroy protections
- Gravity system: gems are affected by gravity and flowing diagonally around protections
Project: Crossplatform 2D match3 game Smiley Boom Primary Language: C++ Libraries: STL, Boost, libcurl
Achievements:
- Almost the whole project has been developed by me, from ground up Targeted platforms: iOS, Android
Responsibilities:
- Managing team of 3 devs
- Interviewing of candidates
- Researching and choosing a new technologies
- Setup and support of a build server
- Develop coding standards for a team
- Code review
- Crossplatform C++ framework development
- Game logic implementation
- Design whole system architecture
- Toolset development
- Network communication development (cURL for REST service, boost::asio for sockets) - Resource manager development (multithreaded loading/unloading, package loading)
- Particles integration
- Render optimization
- Integrating social networks
iOS Game developer – Ailove Oct 2012 - June 2013
Project: Slotomania-like game
Worked on both server-side and client-side. Project has been frozen.
Technologies: Objective C, Cocoa, Cocos2d, Box2d, OpenGL ES 2.0, Core Data, C++, cocos2d-x PHP, Symfony2Game development. Developed a slotomania-like game. Both server-side and client-side. Project has been frozen. Technologies: Objective C, Cocoa, Cocos2d, Box2d, OpenGL ES 2.0, Core Data, C++, cocos2d-x PHP, Symfony2
Web developer – Ailove Aug 2011 - Sep 2012
Full stack web sites development: PHP, JQuery, Symfony2, Doctrine2, SonataAdminBundle, PostgreSQL, MySQL, Social Networks Apps, Social Networks IntegrationFull stack web sites development: PHP, JQuery, Symfony2, Doctrine2, SonataAdminBundle, PostgreSQL, MySQL, Social Networks Apps, Social Networks Integration
Developer – ТТЭК им. А.Г. Рогова Feb 2006 - Jul 2011
Projects:
- Remote education system. Language: PHP
- Intranet portal. Stack: HTML, CSS, PHP, MySQL, JavaScript, JQuery
- Managing user permissions, automatization of common processes, support of network infrastructure, administration of servers under linux, windows, including web, ftp, DB, mail services, workstations
- Internal desktop apps. Stack: С++ and Qt