Anton Kraev
Portfolio
Capital One
● Team leader for mobile platform team. ● Mobile platform is a foundation for Capital One Canada mobile application, used by application team. ● Code reviews. ● Mentoring. ● Architecture of platform modules. ● Roadmap. ● Techinical debt management. ● Automated testing. ● Pipeline configuration. ● Implementing features. Current projects: ● Refactoring UI tests to improve pipeline performance. ● Preparing to introduce Jetpack Compose to replace xml layouts, RxJava, Dagger with Compose UI, ViewModels.
Conceptwave Software
● Responsible for J2EE architecture of the new release of application server. ● Leading the team of developers, providing guidance, support, code review. ● Design and implementation of new configuration web application (GWT, smartclient, castor) in pure Java. ● Porting configuration and logging into J2EE standard. ● Support deployments on Weblogic, Websphere, JBoss (AIX, Solaris). ● Reimplementation of metadata persistence layer with XML (xstream, Java annotations). ● Integration of openid authentication into the server. ● Implemented automated testing framework for designer application (FEST testing framework). ● Overlooking over the architecture of server / designer applications, doing code reviews, mentoring developers. ● Prototyping of designer application as an eclipse plugin with Scala language as main metadata scripting language.
Flutter
● Principal developer of our flagship gaming platform and mobile clients. ● Currently has over 10+ million installs on the android platform (plus country-specific real-money clients). ● 100+ million registered users across all platforms. ● Development of new features. ● Mentoring team members. ● Code reviews. ● Resolving application crashes on customer devices, continuous integration, and overall application architecture. ● Development of a new graphical editor for custom animations used in the game (using cross-platform Flutter, Dart framework, targeting Windows and MacOS). ● Client is a multi-layer cross-platform application (C++, Java, Kotlin, JNI, Objective C, HTML). ● There are 4 layers: - Communication layer. - Cross-platform layer (shared between Windows, MacOS, iOS, Android). - Mobile layer (Android, iOS). - Then individual platform implementation layer (iOS, Android, Windows, MacOS). ● I develop mostly on cross-platform and android layers, but occasionally do some iOS/windows development. ● Android-specific layer uses Kotlin, Java, C++, Android SDK/NDK, ADT, Android Studio, JNI, gradle. ● Android application implements platform-dependent UI and also has WebViews for integration of third-party games. ● JNI is used for communication between Java and C++. ● Application supports android versions 4.x to 10.x (via support library). ● Rich UI supports fragments and is customized for phones/tablets with different screen resolutions/screen density. ● Setting up the development environment and guiding developers. ● Jenkins automated builds, ubuntu virtual machine for development, git source control, automated android UI testing with robotium. ● Integration of 3rd party partner libraries/applications. ● Creation of branded builds/applications for different verticals/vendors.