As a kid, I started out by toying with in-game level editors to create my own maps, campaigns and even mini games. Then as those were no longer enough, I moved on to engines that didn't require programming like RPG Maker and Games Factory. Then, for several years, I moved on from the idea of game development to just consuming them. I hadn't really considered game development as a profession until my first year at a university.
Naturally, I did partially take the noob view into mobile game development, where my friend and I looked at a few games that were popular at the time and we said to ourselves: "We can do better than that." and that's where the ongoing learning process began. Really, it was a several years of trial and error after that point.
Our first commercial game was relatively successful in terms of downloads. Before we removed it from the app stores, it had reached ~210k downloads. We hadn't, however, given any thought to monetisation. The game only featured ads and we had even designed them to blend into the game so that they'd bother the players less, resulting in even worse click rates. As we kept updating the game with "cool new content", we also kinda bloated the game away from its original "lite and cool" to "what do all these buttons do?"
For our second game, we wanted to address the monetisation issue, so we included IAPs. However, this time the game was larger and buggier than before. It was built around having multiple levels and constant updates, which turned out to be too difficult and cumbersome to handle as we hadn't designed the game with expansions properly in mind. To give you guys a little perspective, we are talking about a minigolf game with +100 levels. Each level was sketched on paper and then redrawn in photoshop. The image was then traced in PhysicsEditor to create physics bodies. Finally, any additional obstacles were written in code for every level, including their transitions, etc. So, adding a single new level was a real undertaking and to make things worse, we had hard coded the level select scene to require 18 level courses, making 18 levels the minimum update count or we'd have to rewrite several scenes. So, we learned to plan better in the future.
For our third game, we wanted to take the artistic route and we created something that couldn't be played without a 3 part tutorial. We gave our beta testers the game, all who ignored the tutorial and were then confused by the gameplay. So, we learned that simplicity is great and trying to be too fancy just for the sake of it isn't good.
For our fourth game, we really didn't plan things to the end and we kept on having to rewrite some functions and entire systems on a weekly basis. We actually took this game to the PocketGamer expo in Helsinki several years back and landed a publisher there, however, we didn't read the fine print and our game was locked in an unfavourable contract with them for a long time.
With every past game, as well as every current game, I've had to learn new skills, from basic trigonometry, rudimentary image editing and programming in lua to programming server side as well as managing teams, businesses and projects, as well as economics and legal contracts. Each of our games has yielded some important lesson, some better and costlier than others, but that's life and lessons learned.