Full Sail University – graduation date: November 21, 2017
Why I Develop
In November 2015, I took my oldest daughter to the emergency room where she was diagnosed with Type 1 Diabetes. It’s a devastating diagnosis, and a difficult disease to manage, but my first inclination was to see if there was an app for that. There was. That well-designed iPhone app that my daughter, my wife, and I were able to use on multiple devices to stay synced and maintain accountability for her condition made managing her disease a breeze. That experience showed me how powerful a mobile app developer could be in crafting quality apps that make life better.
What I Did Before Development
I wasn’t always a developer, at least not in the technical sense, but I always had a thing for technology. When I was a kid, I wanted to be an inventor and I loved Star Trek. I used to build tricorders out of cardboard, eventually progressing to to styrene plastic and etching my own circuit boards. But by the time I graduated high school, I was taught that creativity didn’t pay the bills, so I decided to grow up and join the Navy.
The Military Life
In the Navy, I learned Russian, was stationed in Hawaii, worked at the National Security Agency, had the opportunity to work as a Diplomatic Russian Military Interpreter in D.C., and conducted nuclear weapons inspections all over Russia and the United States, and I even got to sit in the cockpit of a B-2 Bomber! But after 13 years of no creative expression in my work, the cubicle life and traveling literally all over the world, the stress caught up with me and I was miserable, and I knew I needed a change. So I left the Navy.
How I Found Balance
During my most stressful times, I found myself relaxing by learning as much as I could about website development, personal branding, graphic design, filmography, animation, and eventually mobile app development by using sites like Treehouse and Lynda.com. I could literally sit for 18 hours a day learning this stuff and still have energy – thanks to coffee! Now, how could I just make this my day job?!
How I learned to Develop
Back in 2008, I earned a Bachelor of Science degree in Interdisciplinary Studies from New York Institute of Technology. I had concentrations in Math/Physics, Computer Science, and Behavioral Science. It was in that degree where I was initially exposed to the wonderful world of software development and Object-Oriented Programming. The first language I was exposed to was C++ and I initially found it very confusing (primarily due to the way it was presented in the textbook). That experience sparked my interest in all things software development and I began my full-fledged journey by learning on Treehouse and Lynda.com.
Transitioning to Professional Software Development
When I separated from the Navy, I had to make a decision: do I stay in my original career field, continuing to work in politics, international diplomacy, and technical interpretation or do I make my career the one thing I found myself immersed in during my stressful moments in life? Let’s just say, it wasn’t a difficult decision to make.
Realizing that there were gaps in my knowledge base for software development, I decided to further my education. In March 2016, I enrolled at Full Sail University to learn how to develop the right way. Full Sail is unique in that the first half of the degree program is dedicated to learning the disciplines of Computer Science, Data Structures, Information Architecture, Interaction Design (IxD), and User Experience Design (UX) before entering into the second half of the degree program: iOS and Android app development.
C# Programming / .NET Framework
C#, the successor to C and C++ and the primary development language for the Windows .NET Framework and the Unity Game Engine, is a powerful strict type Object-Oriented Programming language. It is useful for creating Windows applications, universal mobile applications, and VR/AR development.
Swift 3 Programming / iOS Development
Swift is the programming language for everything Apple. Equipped with the power of Xcode, powerful applications can be developed. Conducting Unit Tests keeps code reliable. Integrating code libraries keeps applications modular and manageable.
Java Programming / Android Development
Java is the primary programming language for Android app development. Using Android Studio, testing code, implementing Android specific design patterns, and targeting multiple Android APIs in a single build is streamlined.
User Interface (UI) Design
By adhering to the Human Interface Guidelines (HIG) for Apple and Android, applications follow the best practices. By designing interfaces which incorporate contrast, alignment, repetition, and proximity, interfaces become intuitive and appealing.
Interaction Design (IxD)
Color theory, reducing cognitive load, embracing Persuasive Design, adding affordances, calls-to-action, implementing navigational patterns, conducting User Tests, interviews, and implementing Agile Development practices, applications become an enjoyable experience that is begging to be used over and over again.
Mobile apps have power to influence decisions, give context to our daily lives, and even alter our experience in a positive and meaningful way. I saw it in managing my daughter’s medical condition and I see it in the apps I create.