Programming, or coding, is marketed as the skill you need to build the next big thing. Although it can be true, we can say the same about fishing. By learning how to catch fish, you get to put food on the table. You can also become the dedicated fisherman company in a small town, raking in millions of dollars.
The big companies of today look like places that nurture programmers to create big things. So the beginner programmer sees it just like that, as the final destination. When they learn to code, they want to think of a big idea, to either swoop the world on its feet, or get acquired by Apple or Google. If this is the final destination then where is the place for small problems programming solves?
Since I left my last job, I've been on an unofficial code freeze. Not that I don't code anymore, I still spend the evening typing code. But I am not building the next game changing app. Everyday, I solve little problems I have.
I create a text parser to extract the relevant part of my internet bill for back up. I create a scraper to get the content of websites I like that don't have an RSS feed. I build a remote app that works just for my TV because lost my remote. Small feats and great source of learning.
As a programmer, every time I meet someone new and mention my line of work, they have an idea to pitch. They assume programmers are just seating, twiddling their fingers waiting for the next big idea to get started. Maybe it is true for some, but never for an experience programmer. There is always something to work on, and the something is rarely a game changing idea.
Gmail was just a small project to organize Usenet messages.
I wrote the first version of Gmail in one day. It was not very impressive. All I did was stuff my own email into the Google Groups (Usenet) indexing engine.
Facebook was to connect students from a single school.
Whatsapp was simply an instant messaging client.
All those became game changers eventually but they have small humble beginnings. So if you happen to be the developer twiddling your fingers, waiting for someone to come rescue you from a bleak mind, stop waiting.
Create a todo list app. Or a text parser. Or a file info extractor. Anything really. Solve the small everyday problems you have, just the small ones. These are the things that later are perceived as big ideas. All the while, you were just trying to create a small game and accidentally created a masterpiece.
Even Metal Gear was a small insignificant game at some point.