Do you have a folder on your machine that is filled with unfinished projects? Be honest. I know you do. I have dozens of unfinished projects. Each of these projects started its life as an exciting idea, an idea I absolutely needed to execute on.
When a fresh, exciting idea enters the mind of a software developer, it is hard to resist the madness. These projects often start with a few days or weeks of hard work, very little planning, no business plan, and only a vague idea of what the final result will look like.
These unplanned projects are great. I love working on them. The sad part is that they almost always end up collecting digital dust, joining dozens of other unfinished projects. Building is easy. Shipping is hard.
Build & Ship
Real artists ship. — Steve Jobs
Steve Jobs famously said that real artists ship their creations. It is easy to come up with a compelling idea, spend a few days or weeks building the product, and shelve it, elegantly wrapping it in a promise to finish it when you have more time.
It is easy, but, more importantly, it is safe. It is safer because few people are willing to show the world what they created. They fear the opinions of others. They fear people are going to judge their product and, even worse, its creator.
Show What You Can
When you are applying for a job, showing that you have relevant experience is often essential. Not too long ago, several years of experience were mandatory for a job as a software developer. Nowadays, employers are looking more and more at the portfolio of potential candidates. This is especially true in software development.
People new to software development or graduates looking for their first job may find it challenging to prove that they have experience developing software. The truth is that they often don’t have the necessary experience.
How do you solve this problem? How do you break this vicious circle? Don't wait for that first job or project to start gaining experience. Show potential clients or your future employer that you have experience crafting software. It has never been easier to get started with software development. What is stopping you from creating?
Stay Ahead
While it is fine to learn as you go, it will certainly help you if you know the basics of the most common tasks of software development. Building and launching a software product is quite an involved process. It doesn't stop the moment you have successfully built and deployed your first iOS application on your iPhone or iPad.
Have you thought about beta testing, launch images, application icons, and localization? If you can show your future employer that you have thought of, built, and shipped a software project that is polished and carefully maintained, you are almost certainly what they are looking for. An interview is almost guaranteed.
Rinse & Repeat
Apple's App Store is filled with abandoned applications. Frequent application updates are a sign to your customers that you are building something you care about. And customers will automatically feel that you also care about them.
It isn’t necessary to include a major feature in every update you ship. Improving your application’s stability by fixing bugs is just as important as focusing on features.
Localization is another aspect that is easily overlooked. Did you know that Japan is one of the most lucrative markets for mobile applications? Consider working with a translator to translate your application to Japanese. It won't cost you much and you will learn a lot from the experience.
Build That Application
I encourage you to start building and, more importantly, to start shipping. Your first application doesn't need to be perfect. What's important is to get it in the hands of your customers. Create something useful for others. Refine what you have created and listen to your customers. What is stopping you? What are you waiting for? Gain experience by building and shipping.