Personal Developer Page

Welcome to my personal developer website


 

About me

I am an Android developer whose journey began long before the emergence of the OS Android platform. In 2010, at the age of 14, I became interested in games for mobile phones written in the Java 2 Micro Edition (J2ME) language. Without a computer at that time, I studied the development process by reading forums.

In 2012, I got a new phone, Nokia 3720 classic, and on the aNNiMON.com forum, I learned that it was possible to write code directly from a mobile phone. This became the starting point of my development path, and I am grateful to the forum's author, Victor Melnik, for the opportunity to fulfill my dream.

From 2011 to 2012, I also tried creating websites using builders and explored free hosting to dive into web development, as J2ME seemed challenging to me initially. In mid-2012, I finally launched my first "Hello World" on J2ME, and this achievement inspired me.

By 2013, I mastered language tools and systems such as Canvas, Thread, Player, Data, Sprite, Tile, and delved into OOP principles. I was also drawn to the idea of decompiling programs and studied reverse engineering. Happiness knew no bounds when I managed to get the source code of an application from a forum member, embed my banner with music, and send him the updated .JAR file.

In 2014, my phone broke, but then I acquired an HP laptop. This opened up a new world of development under OS Windows and Linux.

Thanks to my passion for computer games, especially Minecraft, I decided to write my own modifications. However, not knowing how to program in Java SE, I began my journey by learning the language and creating applications for OS Windows. In the early days of learning the language, I tried creating my own applications for the OS Windows platform while concurrently mastering development principles for that platform. Previous experience in J2ME development helped me adapt more quickly.

The C++ language that intrigued me also compelled me to learn it and write my own game using the GLUT library for rendering OpenGL graphics. During this period, I followed a developer's YouTube channel, who mastered five programming languages, and his creativity inspired me. Deciding to contact him for assistance, I became part of his community and participated in streams where we created a 3D editor in Pascal in the Lazarus environment, as well as in four other languages, including C++ and Java SE.

This experience inspired me to create my own 3D graphics parser, and in 2017, a community member invited me to join his startup. This was the moment when I first immersed myself in the world of Android development, creating an application for this platform.

In the startup, I faced new challenges such as architectural design, working with networks, and creating the server-side of the application. This experience became a valuable stage in my professional growth.

Throughout my career, I successfully completed assigned tasks and constantly deepened my knowledge. Working with Google Maps, including retrieving data from the map, working with markers, and configuring navigation routes, became part of my experience. Additionally, for over a year, I participated in developing a game for Android using the LibGDX framework. In the project, my responsibilities included architectural design, building the interface, working with data structures and network requests, as well as developing REST API on the server and client sides, using Retrofit 2 and AsyncTask. Unfortunately, the project lost funding and was closed.

Since May 2020, I continued working in the field of Android development as a freelancer. In December 2021, I decided to seek a position in a company, aiming to deepen my skills and gain new, exciting experiences working in a team.

In December 2021, I joined "Soft Jet" as an Android developer. The first two months were an internship, but already in the second week, I immersed myself in the project, collaborating with a colleague. After 3 months, I remained the sole developer on the project, responsible for its development and support.

During my work, I not only handled layout and business logic for new features but also actively updated the project's architectural solutions. We transitioned from kotlinx.synthetics to Android View Binding and, due to the codebase growth, made changes in DI: from Toothpick to Dagger 2 + Hilt. This included updating the code and rethinking architectural decisions for efficient application operation.

Additionally, I worked on integrating MapBox, where a feature related to developing an algorithm for retrieving data via REST API stood out. There was a need to determine a rectangular search area on the map the size of the device screen in square units. This presented a challenge due to the Earth's shape, and it was necessary to consider the user's camera position on the screen with the map.

During work on the company's project, I improved the architecture, reducing code coupling and rewriting a significant part of the data layer. Over time, I transitioned from a monolithic approach to a modular one, isolating features and successfully integrating Jetpack Compose into the project. This transition also significantly sped up the application's build process.

My role in the project expanded, and since 2023, I also perform project manager duties. This step is based on my two years of experience in the company, where I was recognized as the best employee twice. My effective communication with customers and team members has attracted attention and made me a leader in the team.

Thus, my professional journey covers not only the technical aspects of development but also successful project management, contributing to growth and development as both a developer and a leader.

In this description, I touched on only a small part of my experience, as a detailed description and listing of the entire technology stack I worked with would turn into a small book. Below are the technologies I am proficient in, and this concludes my story about myself.


Skills

Android Jetpack, OOP, REST, Firebase, Jetpack Compose, Room, Dagger 2, Clean Architecture, Coroutines, SDK, Android, Project Management, Git, Yandex Tracker, Planfix, Figma, SWAGGER, REST API, Toothpick, Retrofit, Project Audit, Native Development, Kotlin, Java, JSON, Admob, SQL, JIRA, LibGDX, Spring Boot, XML, MySQL.

Do you have any questions?


Write to me in Telegram and I will try to answer your questions