21st April 2018
Everybody loves highly functional and pretty apps. Everybody loves playing beautiful and challenging games. What everybody does not realise or appreciate is the amount of time, love (and money) invested by each developer.
An app or game can take months if not years to develop. The developer (in the case of a solo developer) works for nothing without any guarantee of financial reward for the effort that he or she has put in.
The level of investment in your own skills to be able to solve the technical issues and the design skills required to make the app easy to use and pleasant to look at is significant.
If you are a solo app developer like me, then in order to release an app you will need to wear many different hats during the project:
If you are not able to do all of these things (or willing to learn) then being a solo app developer is not for you. A better choice would be to partner up with others who have the skills that you require.
Having said that, we all have areas of expertise and areas of weakness. Mine is that I am not naturally an artist, so I find creating awesome graphics challenging. I love creating graphics, but it is an area I know I need to improve, and I am working on that.
The good news is that as long as you are willing to learn new skills, then it is fairly easy to improve your basic abilities, especially where you are weaker.
Obviously there is no substitute for expert skills, so if you need help from others to finish a project then by all means do so. Just know that it is perfectly possible to do it all on your own, as long as you are willing to do the work and learn.
So, writing apps is hard. Having said that, it is a hugely rewarding thing to do. Absolutely amazing actually. The feeling when your creation is released for the whole world to see is awesome. Really scary but awesome.
I enjoy all aspects of game development and I love the challenge of solving technical problems and making things work.
When I started writing software, the only sources of technical information were books written about a particular programming language. These books are still available and provide a wealth of knowledge about programming. They would not solve your specific problem, but would give you the skills and tools to solve it yourself. That attitude of solving problems yourself has served me well throughout my career.
Today, a more common approach is to "Google" for a code snippet that will do what you need. Don't get me wrong, this is awesome and I would not want to go back to the dark ages, but the "quick fix" approach to learning is not always the best in the long term.
I believe that a balance of structured learning (from a book, online course, in-work mentor, etc) combined with the ability to get quick code snippets / solutions is the best way. There is still a place in modern software development for old school structured learning, albeit with a modern twist.
I have only been talking about one aspect of app creation, the actual coding of a game / app. Each discipline that is involved creating and app will tell a similar story. The impact of the internet is breathtaking. You can find tutorials and online learning resources about any subject. It is possible to learn anything you need on the internet, but it might not be possible to become an expert in your field without some form of structured learning. The internet can certainly get you quickly beyond the newbie level, which may be all that you need at that particular time.
My advice is to love learning. Absorb all information that comes your way. Take the opportunity to learn new skills, even if you cannot see the relevance at the time. You may be surprised when the knowledge becomes useful to you.
Be open and passionate about self development. Invest time and energy in yourself and ride the wave of change. The world is constantly changing, learning, growing so you should do the same.
Code Wizard. Bringing the magic back into gaming.