No more challenge?
Almost exactly one year ago I started the development of my first “bigger” Android app. It was the first time I had to plan process, design views, develop features and deploy production versions on google play. It was crazy. Four months later I suspended it because I started a new, bigger project. I was bored. I was working for 80h a week on one thing so I wanted to have something I can switch to. The idea of MyWins app wasn’t something I was completely sold on. But I was sold on new challenges and fast practical learning process. And I thought that I milked MyWins project. I started the second app and then I slowly walked away from MyWins.
The real challenge
Leaving the app in the middle of the process was wrong. Later I realized that most of the hardest and most annoying problems come a little bit later. Bad architecture that doesn’t allow you to grow your app and huge dependency problems. Or even overcoming Samsung OS.
Recently I planned to retrospect MyWins to see my progress. I wanted to refactor it. I sat down to it today and expected crazy junk code. And yeah, language is still Java, architecture is still a little bit messed up MVP(Model View Presenter architecture). But so what?
I think that the first app should be used to learn material design, android framework, life cycle. Also publishing it on google play, designing views. Not RxJava, Kotlin, Dagger and MVI architecture.
How creating the first app should look like
MyWins is actually not as bad as I thought. It’s an MVP(minimum viable product). I think that probably it’s better to create a project with all the knowledge you have first. As a developer, not only programmer. Without any patterns and fancy lines of code. That’s the way to understand the real need for those patterns and architectures that I used to copy and paste because of folks that said that it’s the right way.
I think that we overestimate what we can do in one month. But we hugely underestimate what can be done in one year. A total newbie can develop a small app in 12 months. I think that it gives the ultimate edge over 9/10 junior developers which never put an app in google play.