Why you should build your own app
... and then let it die
When you start coding without a frame usually what you do is messy, I mean no product road map, your user interface looks like Windows 95 and you might even be coding without any versioning tool because well, you don't give a damn about all this.
When you start coding for a company with a more-or-less organized team these won't do. Usually your product owner will give you the product priorities, a designer will handle the graphic parts and except if you start from scratch the development environment will be already set up. In other words each person is responsible for a specific part of the project.
Here come the troubles

As the product grows you encounter issues we all faced : the product need is not well specified and you have to redo your development several times. The UI designer did not specified which color you should use for a given element and you have to get up and go all the way to his desk to ask him to do his job. Trust me, the list still goes on for quite a bit.
Okay but where are you going with all this ?
It is easy to criticize other's work when you don't get what they are doing. How many times did I hear "you just need to ..." (fill in with your favorite stereotyped sentence) from a product owner about a feature ? The issue is the same : a lack of knowledge.
You can't expect someone to try to understand your work and the obstacles you have to tackle when you are not ready to do it yourself.
The solution ? Be in their shoes !
The idea is to try to do their work to see what their obstacles are. The best way to do this is to build a whole app all by yourself using a real process.
What you will learn by doing this :
- Planning a road map
- See how difficult it is to think about all the use cases
- Learning the user experience basics
- Thinking about user interface consistency
- Setting up a project
- Shipping an app to production
- ... and more
I won't go into the details but I really recommend doing all these things by yourself just to see how difficult each part of a project can be. I can tell you that after that instead of complaining about your colleagues you will be willing to help them ! And the best part is that you will learn a lot in the process, even about your own work, think about how valuable it can be for a junior developer to learn how to ship an app.
(How I did my own app will be covered in depth in a next article)
What if I don't have any idea for an app ?
It doesn't have to be a ground breaking app. If you really don't have a clue, ask yourself what you need, what you lack and do it yourself ! Still nothing ? Ask your friends, your family, there is always someone with a need waiting to be fulfilled.
It might take a while to have something to push to the AppStore but you will learn a lot in the process.
You don't have to worry about your app being successful or even being useful at all, of course the most used the better, or not.
My app is on the AppStore, now what ?
Now is the time to think about what you want your product to be. Did you have a version 2, a version 3 ? Do people use it a lot ? Do you want to keep developing it ?
Depending on your answers what follows might not apply to you but my advice ?
Let it die.
Why ? Simple, if your app is not a great success, well what is the point of investing your time in it ? If it is a success what will surely happen is that users will ask for more and more new features, or bug fixes, or even a new app. You will have to put more time and effort in your product, and if your app is a paid one the pressure on your shoulders will be even greater to make it worth it.
Remember that I made the assumption that you are doing this while working, if in your case time and energy are not an issue, keep working on your app as much as you want !
Now that I have decided to slay my poor app, what are the options ?
You can just leave it on the AppStore to die eventually or you can totally remove it from the store, maybe open-source it ? Personally I prefer removing it from the AppStore entirely, you don't want a buggy app, or one that is not up to date, related to your name.
The idea behind it is keeping the value of what you learned without the burden of maintainance. By open-sourcing it you can still access it, link to it on your LinkedIn and improve your personal branding, given the code you produced is not something you are ashamed of.
Cheers.