My journey with computers began with Street Fighter II. I was captivated the moment I saw moving characters on a CRT monitor. How was something like this even possible? Years later, Grand Theft Auto III completely blew my mind. From that point on, computers became more than machines to me it felt like I could talk to them.
Before university, I wrote my first program in C the classic "Hello, World!" followed by printing my name with stars. I slowly started learning data types and structures, but I kept wondering: how were massive, complex software systems and games built from this?
During my studies in Software Engineering, I found both hardware and software courses deeply engaging. Calculating CPU cycles in Computer Architecture lectures, writing MIPS assembly code using the MIPS Assembler and Runtime Simulator unforgettable moments in my learning experience. I found great satisfaction in exploring parallel programming with C, building foundational algorithms like merge sort and quicksort from scratch, working with binary search trees, and crafting finite state machines. These hands-on experiences were some of the most rewarding parts of my learning journey.
Toward the end of university, I became interested in mobile app development and started building native Android applications on my own. Fortunately, I began with Android Studio rather than Eclipse, using Java and XML. It felt exciting to carry my work in my pocket and show my apps on my custom-ROM-flashed phone to friends.
As someone passionate about boxing, I developed my first mobile app a tool to track and play back boxing combinations for training. I published it on the Google Play Store just before the COVID-19 pandemic. It was initially a personal project, but it ended up helping others train more effectively too.
I started my professional career expecting to work on native Android development, but was introduced to React Native instead. It was a challenging transition, but adapting to a different paradigm helped me grow. Since then, I’ve built numerous mobile applications using Swift, UIKit, Kotlin, Jetpack Compose, SwiftUI, and more.
I don't define myself strictly as a mobile developer. To me, software engineering is a craft. Learning a new language, framework, or tool is never the hard part, the key is persistence, curiosity, and applying knowledge in real-world scenarios that deliver real value to people.