One of the most crippling things you can do as a programmer is to try and build an app. Especially an ambitious one. Apps are like buildings. They look cool from the outside and sometimes even quite straightforward to construct, but they require planning, plumbing, foundations, electricity and about 10,000 more things you probably never even thought of.
Not too say you should never build an app. Maybe you have the necessary experience, the right team or the determination and grit of a young pitbull. Or maybe you just want to taste failure so you can learn from it. That's all fine. But disappointment can also really hit your morale in the most unfortunate of places.
So should we build nothing? Of course not. But why not try to go for something more elusive. Something that doesn't require a huge checklist. Something that isn't held hostage by high expectations of how things should work. I promise you, you will still learn how to code. You will still face challenges. And you will still have something to share with the world.
Free your mind
Free yourself from the app meta. Because even if you keep it simple. Even if you limit 'the features', and even if you have the 20/20 vision. When you start with an app; marketing, money & expectations always come creeping up on you like the hungry little predators they are.
You start thinking about the end user, the market, business models, and how you're going to connect Stripe. You worry about performance and scaling. You dream about how your app is going to become that one side project that happened to earn you a lot of money. You end up scheming, while you should be coding.
And the rest will follow
Instead... let's make art. Let's make little games. Let's make interactive stories. Let's make weird stuff. Let's make graphics. Let's make things that surprise yourself and everyone who'll use or see it.
It's okay to build things that seem completely unnecessary. Projects that do little else than make you smile. It's completely fine if you're navigation doesn't make sense. Or if you're project breaks all the patterns that rule our web. Because that work may end up to be the work that inspires me, you and everyone else on this website the most.
So when you just want to code. When you just want to experiment. When you just want to build. Don't always go for an app. Go for something weird. Delight us. And delight yourself!
If you made something cool, I'd love to see it: @ma5ly
Top comments (12)
This is awesome. I absolutely agree with you. Building an app does help learning to code, but there is so much that gets in the way. Making something small and fun will help one learn and possibly provide joy for others. Thereβs nothing wrong with that.
Agreed -- codepen.io and glitch.com both are great homes for making fun little artsy code blocks.
Definitely! It's always great (and humbling) to see what the people there come up with.
That is so true, and I've noticed that in my own doing. It's so much more rewarding to create something that you can be proud of. And I, speaking of myself as a developer, start to create these grand ideas of applications and think that I someday will change the world with them (I hope I someday do)
However, I think it is good to try out things that are out of your reach. Even if it's a failure, you can always return to that same idea and try to build it again. And if you've been coding there between the attempts, you will get much closer on the second or the third attempt.
One personal example I have, is when I tried to build my own blog. I think I restarted building it with 1 year intervals, each time removing the old one and creating a new improved version. I was so excited when I finally got out something, after failing those previous two times!
I like to think of coding as some form of art (literature?).
That isn't easy at all. Thinking that way challenges your mind to always look for better ways to make code a joy to read and work with.
This way of thinking has led me to study things like state management, bem, functional programming all while asking myself how to better communicate with the code's readers.
Building an app doesn't always result in worrying about marketing, scaling, connecting to Stripe, making money, or any of the thousand other distractions that can creep in if you're not careful.
I made Blue Alphant, and then refactored it for speed and simplicity in updating and re-released it as Azure Alphant. I built it for myself, but made it publicly available in case someone else finds it useful. It's free, so I make no money off of it, and I have no plans to violate Unicode's licensing and charge for it later on. I'll fix coding errors as I find them, add search back in if a simple scripting solution becomes possible, and update it when Unicode updates.
Being able to use the app has saved me a great deal of time in the long run, and even though it's not a Stripe transaction, I'd say I've earned enough to make the project worthwhile.
The best part? If I do eventually make money from my side project, it will be from making art to sell to any typophile users who wish to support me. The trick is in creating a thing you want to create and always keep the monetary stuff and the marketing as nothing more than an afterthought - if you make money or become popular, fine, but if you don't, it's still not really an issue. (This also helps in cases like caregiving for the elderly when it's a case of legally mandated obligation, 24/7, for no pay. Sometimes you just have to accept that misery and servitude are the only things we are guaranteed in life and to just push on through it if we mean to survive.) Mindset is everything.
Sure, I spent over 2 decades getting turned down for jobs involving art, over 1 decade getting turned down for jobs writing code, and have ended up making most of my money from both the technical and 'business' sides of operating multi-million dollar military equipment, directly supervising my own Soldiers and Troops during peacetime and wartime operations, and stocking shelves and cleaning toilets in grocery stores for minimum wage. But that might be what's taught me that doing what you love and making money for survival purposes are entirely different things and, at least in my life, rarely or never overlap.
I'm going on ten years, and I have yet to build an "app". Plenty of small desktop utilities, a game or two, and a plethora of libraries, but no apps. I feel no need to, and may well go my entire career without once touching mobile.
Agreed, at a certain point every app is just a mix of CRUD functionality and API calls. It's much more fun to make cool little interactive pieces
Yes! It's good to learn CRUD and have a firm grip on building such functionality, but there's so much more to learn and make.
Thanks Thomas! This is really encouraging
I really needed to read something like this. Thank you!
Wicked article thanks for posting! That's a great idea to make art out of code and probably something that not every developer will have in their portfolio.