Summary
Overview
Work History
Education
Skills
Recentprojects
Personal Information
Coretechnicalskills
Languages
Timeline
Hi, I’m

Ivan Croitor

Chișinău
Ivan Croitor

Summary

Experienced Android developer with a strong background in working with various Android components, frameworks, and APIs. Committed to delivering high-quality solutions and adhering to industry best practices to maximize business value. Began career by developing Android games, gaining expertise in Socket communication, REST APIs, XML and JSON protocols, Canvas, and OpenGL drawing. Continuously enhances technical skills by mastering Design Patterns, Architecture (MVC, MVP, MVVM, MVI), Clean Code principles, and TDD practices. Demonstrates a passion for knowledge sharing and process improvement as a mentor in the Endava Internship program. Currently oversees the Internship program at Endava, collaborating with individuals from Development, QA, and Application Support teams. Successfully transitioned from a backup role to Team Lead, managing a team of 10 people and serving as a Direct Manager for a group of 30 Developers across different streams.

Overview

13
years of professional experience

Work History

World-wide known provider of Audio-Video communication devices

Senior Developer and Lead
05.2021 - Current

Job overview

  • Participate in defining the HL design for new solutions
  • Modify existing solutions to extend their functionality
  • Direct communication with the client, and the client's team
  • Discuss with the client the business requirements
  • Ensure team effectiveness is at the desired level
  • Review code changes
  • Programming languages: JAVA, Kotlin, Angular, C, C++, Bash
  • Technologies: Mockk and JUnit for unit tests, Coroutines, RxJava 2, AIDL, Retrofit, Compose
  • Development tools: Android Studio, Visual Studio Code

Worldwide Credit Card Network and Payment Solutions

Development/Design Lead
11.2019 - 05.2021

Job overview

  • Participate in the HL architecture design of the solution
  • Elaborate detailed diagrams of the components described in HL architecture design
  • Supervision of the entire development process
  • Setting up the PR review rules, CI/CD pipeline security, and quality gates
  • Discuss with the client the business requirements
  • Ensure team effectiveness is at the desired level
  • Review code changes
  • Ensure strict security and performance KPIs are achieved
  • Programming languages: Kotlin
  • Technologies: Mockk and JUnit for unit tests, Coroutines for asynchronous/non-blocking executions
  • Development tools: Android Studio

Endava

Development/Design Lead
01.2019 - 11.2019

Job overview

  • Take key decisions and implement application architecture;
  • Control the entire development process;
  • Discuss with the client the requirements for new features;
  • Keep under control the decisions each of the stream devs takes;
  • Ensure team effectiveness is at the desired level
  • Programming languages: Java, Kotlin
  • Technologies: Retrofit as wrapper for HTTP client, OkHttp as HTTP client, Realm as storage solution, Dagger 2 for dependency Injection, Mockito and JUnit for unit tests, RxJava for reactive programming, Coroutines, Koin
  • Development tools: Android Studio

An airline company from South America

Development/Design Lead
07.2017 - 01.2019

Job overview

  • Making key decisions and implementing application architecture;
  • Discuss with the client and come up with proper solutions that will satisfy both the client and customers;
  • Prepare Jenkins scripts to automate build distribution;
  • Control the entire development process;
  • Discuss with the client the requirements for new features;
  • Keep under control the decisions each of the stream devs takes;
  • Ensure team effectiveness is at the desired level
  • Programming languages: Java
  • Technologies: Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, Realm as a storage solution, Dagger 2 for dependency Injection, Mockito and JUnit for unit tests, RxJava for reactive programming
  • Development tools: Android Studio

An airline company from South America

Senior Android Developer
01.2017 - 07.2017

Job overview

  • Making key decisions and implementing application architecture;
  • Discuss with the client and come up with proper solutions that will satisfy both the client and customers;
  • Prepare Jenkins scripts to automate build distribution;
  • Create UI layer for the mobile phone application according to provided design and following Android Design Guidelines;
  • Create a Business Layer for interaction with the backend;
  • Implement data storage for non-sensitive data on mobile phones
  • Programming languages: Java
  • Technologies: Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, Realm as a storage solution, Dagger 2 for dependency Injection, Mockito and JUnit for unit tests, RxJava for reactive programming
  • Development tools: Android Studio

a company that offers business-to-business and business-to-client loyalty, rewards, and benefits to insurance solutions

Android Team/Design lead
07.2016 - 01.2017

Job overview

  • Take key decisions and implement application architecture;
  • Discuss with the client and come up with proper solutions that will satisfy both the client and customers;
  • Prepare Jenkins scripts to automate build distribution;
  • Create UI layer for the mobile phone application according to the provided design and following Android Design Guidelines;
  • Create a Business Layer for interaction with the backend;
  • Implement data storage for non-sensitive data on mobile devices
  • Programming languages: Java
  • Technologies: Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, Realm as a storage solution, Dagger 2 for dependency Injection, Mockito and Spek for unit tests, RxJava for reactive programming
  • Development tools: Android Studio

A North European business that offers banking and payment solutions for their customers

Android Team/Design lead
09.2015 - 07.2016

Job overview

  • Take key decisions and implement application architecture;
  • Discuss with the client and come up with proper solutions that will satisfy both the client and customers;
  • Prepare Jenkins scripts to automate build distribution;
  • Create UI layer for the mobile phone application according to the provided design and following Android Design Guidelines;
  • Create a Business Layer for interaction with the backend;
  • Implement data storage for non-sensitive data on mobile phones
  • Programming languages: Java
  • Technologies: Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, SQLite from Zetetic for encrypted data storage, RoboGuice for dependency Injection, Robolectric, Mockito, and JUnit for unit tests
  • Development tools: Android Studio

A British business that offers payment solutions for everyone from consumers and financial services companies to retailers, utilities, media, e-commerce, gaming, and government clients

Android Developer
06.2015 - 09.2015

Job overview

  • Create UI layer for the mobile phone application according to provided design and following Android Design Guidelines;
  • Create a Business Layer for interaction with the backend;
  • Implement data storage for non-sensitive data on mobile phones
  • Programming languages: Java
  • Technologies: Retrofit as a wrapper for HTTP client, OkHttp as an HTTP client, Realm for data storage, RoboGuice for dependency Injection, Robolectric, Mockito, and JUnit for unit tests
  • Development tools: Android Studio

Android Developer
04.2015 - 06.2015

Job overview

  • Change build system from Maven to Gradle;
  • Move project from Eclipse IDE format to Android Studio format;
  • Implement some change requests;
  • Fixed some bugs;
  • Adapt rest calls to use Retrofit
  • Programming languages: Java
  • Technologies: Retrofit as a wrapper for HTTP client
  • Development tools: Android Studio

Endava

Android Developer
12.2014 - 04.2015

Job overview

  • Create UI for tablets with animations
  • Create architecture so we can reuse the same functionality on tablets and phones
  • All dynamic data views were replaced with RecyclerView
  • Programming languages: Java
  • Technologies: Volley as HTTP client
  • Development tools: Android Studio

Endava

Android Developer
11.2014 - 12.2014

Job overview

  • Adapt application UI flow to native Android UI Flow;
  • Refactor all Business Layer;
  • Refactor rest interaction and data synchronization;
  • Add new features to Android views
  • Programming languages: Java
  • Technologies: Volley as HTTP client
  • Development tools: Android Studio

Endava

Android Developer
10.2014 - 11.2014

Job overview

  • Write some custom JSON deserializers;
  • Add new features to Android views;
  • Implement Push Notification reminder
  • Programming languages: Java
  • Technologies: Dependency Injection using Roboguice, Unit Testing using Robolectric
  • Development tools: Android Studio

CTB-Soft S.R.L

Software Developer
06.2014 - 10.2014

Job overview

  • Develop entire client application;
  • Provide solutions for better interaction between application and server API;
  • Load images asynchronously and minimize data transfer;
  • Layout adaptation for tablets and phones;
  • Implement Push Notification reminder
  • Programming languages: Java, Android SDK
  • Technologies: DiskLRU cache for image caching, STOMP messaging
  • Testing and Development tools: Junit for some parts of code
  • Operating systems: Android OS >= 4.0

Photolamus LLC

Software Developer
08.2013 - 06.2014

Job overview

  • Develop the entire client application;
  • Develop a helping library for Asynchronous image downloading and caching;
  • Develop a helping library for interaction with Play Market and Amazon market IAB APIs;
  • Develop a helping library for crop feature;
  • Layout adaptation for both phones and tablets
  • Programming languages: Java
  • Technologies: DiskLRU cache for image caching
  • Testing and Development tools: Junit for some parts of code
  • Operating systems: Android OS >= 2.3

CTB-Soft S.R.L

Software Developer
06.2013 - 08.2013

Job overview

  • Develop the entire application;
  • Develop a manager that will download a big file and will resume it if the download is not finished, if the same file is going to be downloaded
  • Programming languages: Java
  • Applications and database servers: SQLLite
  • Operating systems: Android OS >= 2.2

Reznic Sofware S.R.L.

Software Developer
09.2012 - 05.2013

Job overview

  • Develop game UI and animation engine;
  • Minimise lags on slow devices;
  • Develop entire module of network connectivity;
  • Develop a module that changed skins of characters
  • Programming languages: C#
  • Technologies: OpenGL with Unity 3d
  • Operating systems: Android OS >= 2.3

Reznic Sofware S.R.L.

Software Developer
01.2012 - 09.2012

Job overview

  • Develop game UI and animation engine;
  • Minimise lags on slow devices
  • Programming languages: Java, Android SDK
  • Technologies: OpenGL with libgdx
  • Operating systems: Android OS >= 2.1

Software Developer
06.2011 - 01.2012

Job overview

  • Develop the entire game client;
  • Minimise lags on slow devices
  • Programming languages: Java, Android SDK
  • Technologies: Canvas drawing
  • Testing and Development tools: Junit for some parts of the code
  • Operating systems: Android OS >= 2.2

Education

Technical University of Moldova

Bachelor degree from System and Computer Engineering
01.2011

Skills

  • Java
  • Kotlin
  • Android SDK
  • Flutter
  • Dart
  • Unity3D
  • C#
  • JUnit
  • PostgreSQL
  • SQLLite
  • Realm
  • Eclipse
  • Android Studio
  • Netbeans
  • Subversion
  • Maven
  • Gradle
  • Jenkins
  • Git
  • Bitbucket
  • GitHub
  • GitLab
  • Figma
  • Zeplin
  • JIRA
  • Confluence
  • Design-Patterns
  • MVC
  • MVP
  • MVVM
  • Agile SCRUM
  • Kanban
  • Unit Testing
  • Continuous Integration

Recentprojects

  • Senior Developer and Lead, Audio-Video communication device Android OS, World-wide known provider of Audio-Video communication devices, 05/01/21, Ongoing, Participate in defining the HL design for new solutions., Modify existing solutions to extend their functionality., Direct communication with the client, and the client's team., Discuss with the client the business requirements., Ensure team effectiveness is at the desired level., Review code changes., JAVA, Kotlin, Angular, C, C++, Bash, Mockk and JUnit for unit tests, Coroutines, RxJava 2, AIDL, Retrofit, Compose, Android Studio, Visual Studio Code
  • Development/Design Lead, Credit Card Network Payment SDK, Worldwide Credit Card Network and Payment Solutions, 11/01/19, 05/01/21, Participate in the HL architecture design of the solution., Elaborate detailed diagrams of the components described in HL architecture design., Supervision of the entire development process., Setting up the PR review rules, CI/CD pipeline security, and quality gates., Discuss with the client the business requirements., Ensure team effectiveness is at the desired level., Review code changes., Ensure strict security and performance KPIs are achieved., Kotlin, Mockk and JUnit for unit tests, Coroutines for asynchronous/non-blocking executions., Android Studio
  • Development/Design Lead, Internal applications, Endava, 01/01/19, 11/01/19, Take key decisions and implement application architecture., Control the entire development process., Discuss with the client the requirements for new features., Keep under control the decisions each of the stream devs takes., Ensure team effectiveness is at the desired level., Java, Kotlin, Retrofit as wrapper for HTTP client, OkHttp as HTTP client, Realm as storage solution, Dagger 2 for dependency Injection, Mockito and JUnit for unit tests, RxJava for reactive programming, Coroutines, Koin, Android Studio
  • Development/Design Lead, Airline services application, An airline company from South America, 07/01/17, 01/01/19, Making key decisions and implementing application architecture., Discuss with the client and come up with proper solutions that will satisfy both the client and customers., Prepare Jenkins scripts to automate build distribution., Control the entire development process., Discuss with the client the requirements for new features., Keep under control the decisions each of the stream dev takes., Ensure team effectiveness is at the desired level., Java, Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, Realm as a storage solution, Dagger 2 for dependency Injection, Mockito and JUnit for unit tests, RxJava for reactive programming, Android Studio
  • Senior Android Developer, Airline services application, An airline company from South America, 01/01/17, 07/01/17, Making key decisions and implementing application architecture., Discuss with the client and come up with proper solutions that will satisfy both the client and customers., Prepare Jenkins scripts to automate build distribution., Create UI layer for the mobile phone application according to provided design and following Android Design Guidelines., Create a Business Layer for interaction with the backend., Implement data storage for non-sensitive data on mobile phones., Java, Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, Realm as a storage solution, Dagger 2 for dependency Injection, Mockito and JUnit for unit tests, RxJava for reactive programming, Android Studio
  • Android Team/Design lead, Application used to search and access Airport Lounges, A company that offers business-to-business and business-to-client loyalty, rewards, and benefits to insurance solutions, 07/01/16, 01/01/17, Take key decisions and implement application architecture., Discuss with the client and come up with proper solutions that will satisfy both the client and customers., Prepare Jenkins scripts to automate build distribution., Create UI layer for the mobile phone application according to the provided design and following Android Design Guidelines., Create a Business Layer for interaction with the backend., Implement data storage for non-sensitive data on mobile devices., Java, Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, Realm as a storage solution, Dagger 2 for dependency Injection, Mockito and Spek for unit tests, RxJava for reactive programming, Android Studio
  • Android Team/Design lead, Application used to manage, and view all the transactions from a bank account, A North European business that offers banking and payment solutions for their customers, 09/01/15, 07/01/16, Take key decisions and implement application architecture., Discuss with the client and come up with proper solutions that will satisfy both the client and customers., Prepare Jenkins scripts to automate build distribution., Create UI layer for the mobile phone application according to the provided design and following Android Design Guidelines., Create a Business Layer for interaction with the backend., Implement data storage for non-sensitive data on mobile phones., Java, Retrofit as a wrapper for HTTP client, OkHttp as HTTP client, SQLite from Zetetic for encrypted data storage, RoboGuice for dependency Injection, Robolectric, Mockito, JUnit for unit tests, Android Studio
  • Android Developer, Application used to pay utility bills, A British business that offers payment solutions for everyone from consumers and financial services companies to retailers, utilities, media, e-commerce, gaming, and government clients, 06/01/15, 09/01/15, Create UI layer for the mobile phone application according to provided design and following Android Design Guidelines., Create a Business Layer for interaction with the backend., Implement data storage for non-sensitive data on mobile phones., Java, Retrofit as a wrapper for HTTP client, OkHttp as an HTTP client, Realm for data storage, RoboGuice for dependency Injection, Robolectric, Mockito, JUnit for unit tests, Android Studio
  • Android Developer, Mobile Application for Post Company, 04/01/15, 06/01/15, Change build system from Maven to Gradle., Move project from Eclipse IDE format to Android Studio format., Implement some change requests., Fixed some bugs., Adapt rest calls to use Retrofit., Java, Retrofit as a wrapper for HTTP client, Android Studio
  • Android Developer, Endava Mobile Application, Endava internal project, 12/01/14, 04/01/15, Create UI for tablets with animations., Create architecture so we can reuse the same functionality on tablets and phones., All dynamic data views were replaced with RecyclerView., Java, Volley as HTTP client., Android Studio
  • Android Developer, Hyntly Mobile Application, Endava internal project, 11/01/14, 12/01/14, Adapt application UI flow to native Android UI Flow., Refactor all Business Layer., Refactor rest interaction and data synchronization., Add new features to Android views., Java, Volley as HTTP client., Android Studio
  • Android Developer, AGILITY Mobile Application, Endava internal project, 10/01/14, 11/01/14, Write some custom JSON deserializers., Add new features to Android views., Implement Push Notification reminder., Java, Dependency Injection using Roboguice, Unit Testing using Robolectric, Android Studio
  • Software Developer, Social trade platform app, CTB-Soft S.R.L, 06/01/14, 10/01/14, Develop entire client application., Provide solutions for better interaction between application and server API., Load images asynchronously and minimize data transfer., Layout adaptation for tablets and phones., Implement Push Notification reminder., Java, Android SDK, DiskLRU cache for image caching, STOMP messaging, Junit for some parts of code, Android OS >= 4.0
  • Software Developer, Photolamus project, Photolamus LLC, 08/01/13, 06/01/14, Develop the entire client application., Develop a helping library for Asynchronous image downloading and caching., Develop a helping library for interaction with Play Market and Amazon market IAB APIs., Develop a helping library for crop feature., Layout adaptation for both phones and tablets., Java, DiskLRU cache for image caching, Junit for some parts of code, Android OS >= 2.3
  • Software Developer, Classical Music for Mommies, CTB-Soft S.R.L, 06/01/13, 08/01/13, Develop the entire application., Develop a manager that will download a big file and will resume it if the download is not finished, if the same file is going to be downloaded., Java, SQLLite, Android OS >= 2.2
  • Software Developer, RPS Online, Reznic Sofware S.R.L., 09/01/12, 05/01/13, Develop game UI and animation engine., Minimise lags on slow devices., Develop entire module of network connectivity., Develop a module that changed skins of characters., C#, OpenGL with Unity 3d, Android OS >= 2.3
  • Software Developer, Greedy Burplings and Greedy Burplings Expansion, Reznic Sofware S.R.L., 01/01/12, 09/01/12, Develop game UI and animation engine., Minimise lags on slow devices., Java, Android SDK, OpenGL with libgdx, Android OS >= 2.1
  • Software Developer, Yahtzy Online, Reznic Software S.R.L, 06/01/11, 01/01/12, Develop the entire game client., Minimise lags on slow devices., Java, Android SDK, Canvas drawing, Junit for some parts of the code, Android OS >= 2.2

Personal Information

Title: Senior Android Consultant

Coretechnicalskills

Java, Kotlin, Android SDK, Flutter, Dart, Unity3D, C#, JUnit, PostgreSQL, SQLLite, Realm, Eclipse, Android Studio, Netbeans, Subversion, Maven, Gradle, Jenkins, Git (Bitbucket, GitHub, GitLab), Figma, Zeplin, JIRA, Confluence, Design-Patterns, MVC, MVP, MVVM, Agile SCRUM/Kanban, Unit Testing, Continuous Integration (Jenkins, CircleCI)

Languages

Romanian
Bilingual or Proficient (C2)
Russian
Bilingual or Proficient (C2)
English
Advanced (C1)

Timeline

Senior Developer and Lead

World-wide known provider of Audio-Video communication devices
05.2021 - Current

Development/Design Lead

Worldwide Credit Card Network and Payment Solutions
11.2019 - 05.2021

Development/Design Lead

Endava
01.2019 - 11.2019

Development/Design Lead

An airline company from South America
07.2017 - 01.2019

Senior Android Developer

An airline company from South America
01.2017 - 07.2017

Android Team/Design lead

a company that offers business-to-business and business-to-client loyalty, rewards, and benefits to insurance solutions
07.2016 - 01.2017

Android Team/Design lead

A North European business that offers banking and payment solutions for their customers
09.2015 - 07.2016

Android Developer

A British business that offers payment solutions for everyone from consumers and financial services companies to retailers, utilities, media, e-commerce, gaming, and government clients
06.2015 - 09.2015

Android Developer

04.2015 - 06.2015

Android Developer

Endava
12.2014 - 04.2015

Android Developer

Endava
11.2014 - 12.2014

Android Developer

Endava
10.2014 - 11.2014

Software Developer

CTB-Soft S.R.L
06.2014 - 10.2014

Software Developer

Photolamus LLC
08.2013 - 06.2014

Software Developer

CTB-Soft S.R.L
06.2013 - 08.2013

Software Developer

Reznic Sofware S.R.L.
09.2012 - 05.2013

Software Developer

Reznic Sofware S.R.L.
01.2012 - 09.2012

Software Developer

06.2011 - 01.2012

Technical University of Moldova

Bachelor degree from System and Computer Engineering
Ivan Croitor