Coding for Mobile Apps
By: Pete Bekos
Hi! My name is Pete Bekos, and I am a Lead Mobile Developer at AeroPay. From a young age, I have always been curious about how things work. This curiosity extended to video games, a hobby I shared with my friends, and our collective interest led me to discover that games are crafted through coding. I was inspired by friends who were exploring computer science and decided to enroll in an introductory coding course during high school.
Being able to learn alongside my friends made coding more engaging, and through my high school years, I completed three coding courses, eventually developing a game in an independent study course. Completing this game reinforced my passion for coding and propelled me into pursuing a Computer Science degree at the University of Illinois at Chicago.
In the final stretch of my college journey, I secured an internship with a startup focused on Android app development. Despite the initial challenges, I was able to cultivate a familiarity with Java during my internship and ease into the new role. This experience not only solidified my interest in app development but also paved the way for my career in the field.
My primary focus in my role is developing mobile applications, though I’ve also ventured into web development. My portfolio includes a diverse range of applications, from shopping and chat apps to data management and financial tools. My expertise lies in front-end development, which involves crafting the user interface — the aspects of an app that users interact with, like buttons and screen transitions. This contrasts with backend development, which deals with the server-side code not executed on the user’s device.
My career journey has introduced me to different organizational models. Initially, I worked at an agency specializing in retail applications. Agencies typically create products for clients, taking charge of updates and new feature implementations. I later transitioned to a product company that operates an online marketplace for used music gear. Unlike agencies, product companies maintain an in-house development team for their projects. This shift allowed me to concentrate on a single project rather than navigating multiple ones. Despite the differences between agencies and product companies, each has provided valuable experiences and learnings.
In my role, I use the following tools:
- Android Studio
- Kotlin
- Java
- XML
- XCode
- Swift
- JavaScript
Coding is the foundation for creating applications, and my primary focus is on developing the interface that bridges the gap between the user and the server, where all the critical data resides. A significant part of my work includes crafting animations and transitions, adding a layer of visual appeal and interactivity to the apps. These elements are not just about aesthetics; they make the apps more engaging and intuitive, ensuring that users find them enjoyable and straightforward to navigate.
For those new to coding, I suggest starting with small, manageable projects. A simple “Hello World” can be surprisingly enlightening, especially since setting up a development environment can be challenging in itself. This approach helps maintain focus on achievable goals, preventing the overwhelm that can come from attempting complex tasks too soon.
“Integrating coding with personal interests can also make learning more engaging. I encourage new coders to take a hobby and develop a tool or feature that complements it.”
Alternatively, diving into an existing project on platforms like GitHub and experimenting with modifications can offer insight into larger, more complex systems. Many coders, including some I know, have found their footing by tweaking existing codebases.
Embracing modern tools can further enrich your learning journey. Engaging with ChatGPT, for example, can provide a hands-on way to explore new programming languages or frameworks. While the output might need refinement, it often serves as a solid foundation to build upon. Additionally, mastering data formats like JSON and utilizing open APIs for various applications, from weather data to humor, can significantly enhance your projects. Tools like Postman are indispensable in this context, allowing you to experiment with network calls and API integrations without the overhead of a full project setup.
“What I love most about my job is being able to solve problems. There’s a deep sense of accomplishment in devising new functionalities for software or troubleshooting issues within existing features.”
Outside of work, my passion for electronic music offers a creative counterbalance to the logical rigor of coding. Crafting music, especially in collaboration with friends, provides a refreshing and relaxing escape. My approach to organizing music projects, often likened to programming by my friends, highlights how skills from one area of life can enrich another. This crossover is appreciated at work too, where my knack for blending artistic flair with technical skills enhances animations and UI elements. Beyond music, I relish the tranquility and challenge of nature through hiking and camping, the joys of culinary exploration and enjoyment, the vitality brought by biking and exercise, and the immersive worlds of gaming.