This is a guest post from Andrew. Andrew is a 15 year old app developer from Utah. Find out what Andrew has already learned as an app developer, the hidden mentality of coders, and why he is so pumped on app development and making some extra cash.
Get inspired to go out guns blazing and conquer something big this week!
App developers don’t need to think outside the box, they need to think in a whole different dimension.
In the virtual world we define physics, time, rules, and everything else.
I managed to build my first mobile application, Zero Gravity, with under $500.
App development takes hard work, dedication, persistence, patience, and a lot of time. The completion of a mobile application alone is a huge success, and revenue is an added bonus.
I have built hundreds of simple command line programs, a calculator, a coin clicker game, a couple websites, an RPG for Steam (not quite finished yet), Zero Gravity for Android devices, and Zero Gravity soon to come on IOS devices.
I love software engineering, listening to music, playing the guitar, longboarding, snowboarding, going to the gym, and playing lacrosse.
I’m 15 years old.
High school can be a bit of a challenge when it comes to finishing up applications. At one point, I had a lot of chemistry homework so I built a calculator in the Visual Studio IDE to help me. Although this was definitely not the most efficient way to get my homework done, I had a great experience building that calculator. I still use it to this day.
An important concept for development is to fulfill the needs of the public
Don’t copy someone else’s work or ideas, and don’t just build a knockoff. Programs that we create control our universe from nearly every perspective. These limitless possibilities motivate me to build something new, powerful, and exciting.
Some see development as hours behind a computer writing boring code. There are so many things you can do, you should never get bored. What appeals to me is the fact that I can build anything that I can think of. You can escape into another dimension, losing yourself in your own world. You can’t do that in real life.
Everyone has something to learn. Some professional, or even amateur developers sometimes have the attitude of, “Those that think they know everything annoy those of us that do.” If you have truly mastered a language, expand your skillset to other languages, softwares, and technologies.
I have a lot to learn myself. I have taught myself a majority of the things that I know about development. I currently am learning from a couple books, the Sololearn Android applications, Bluecloud Solutions, Pluralsight, digital-tutors, stackoverflow and www.google.com (my good friend).
The road from concept to completion of Zero Gravity has been long and arduous. I have learned many things from my app development experience that will allow my future applications to excel.
The best way to learn is by experience
I have learned building the game is just the beginning. After the game is complete, the real challenge is incorporating leaderboards, in-app purchases, and platform specifics. The challenge in these is that you didn’t write all of the code, so you begin with little idea of where to start. It requires constant learning.
I got into app development through Unity. Before beginning to use Unity, I had been building an RPG for Steam. I learned C# through a college textbook, and through the process I wrote dozens of command line applications specific to what I was learning.
Despite writing tons of previous applications, I have learned the most during my experience developing for the mobile platforms. Command line applications helped me to learn the language, syntax, and play around with different application structures.
A great rule that I try to follow is:
[tweet_box design=”default”]“Never write the same code twice.” [/tweet_box]
If I find myself rewriting code that I have already written, I immediately rethink my strategy.
I have found that there are many ways to make the application function. I am now working on finding the fastest and most efficient way to make applications function. Planning hierarchies and refactoring can help quite a bit. If reusability is important for the application, refactoring the code to perfect it can be beneficial. There are also times when refactoring is impractical.
Development for IOS has been a challenge. I had to set up a virtual machine with Mac OS X Mountain Lion on Oracle VM VirtualBox, fiddle with obsolete Xcode errors, and I am still not quite finished with it.
I am doing cross-platform with Apple and Android due to the vast amount of users on each. I have an Android phone, and I absolutely love Android.
Android’s user experience far surpasses that of Apple/IOS
Android development was seamless, fairly simple, and it just makes sense. Android holds a majority of the smartphone market, so if you do not develop for Android as of now, you are missing out on possible revenue.
My goal for this summer is to work at an entry level jobs for 15 year olds, probably at a software company, to see the real business world as well as to aide my own business through my experience.
I would like to earn enough money to go to college in a couple of years.
I will continue developing mobile applications for the Android and IOS platforms, creating more powerful applications than ever before, and continue to grow EDGE to become a successful development team.
I am currently working on my second mobile application, and Zero Gravity is waiting in review for IOS. I have also considered starting a web service portion of EDGE to develop websites for clients.
This marks the beginning of my career in the field of technology.