I am a hobbyist programmer. I like to build small projects and I derive a sense of achievement from building them. I don’t long after rewards or anything of that sort. Simply having a project that works is good enough. There are some things that I hate, some things that I want to tell everyone but they won’t understand, some things that are perhaps, better left to be written in this public letter.
Programming is not all fun and glorious. It is about tough work.
In fact, it is the exact opposite. No one knows just how much work it takes to grind through an entire website. Building even a small website takes easily thousands of lines of code: client-side, server-side. That alone takes forever to implement. We haven’t even talked about the pain we go through to debug the code. To polish the website? To fortify our code against attacks? To entertain your never changing needs? It may not seem much, after all the website may have a simplistic design. But all the more, lots of hard work has gone in to ensure that you get what you want.
People have also come to me and asked if I could teach them programming. I’m more than happy to help, but if you’re not going to put in any work to dive into this endlessly deep sea, I can’t do anything more. You need to read up the documentations, the quick-start guides and tutorials.
What makes me even more angry is that people end up learning programming for all the wrong reasons. Instead of trying to build something to share, their idea of programming is a gateway to profit. I’ll just wait and see how much effort you’ll need to attain fame.
Programming takes a lot of time
We may type furiously on the keyboard. But that doesn’t mean that we will get all the work done in no time. During a hackathon, programmers have 24 hours to come up with an idea, then code it to make it happen. Working in a team of 4 or more, we usually only manage to come up with a prototype – one that is neither complete nor polished. You want anything more than a demo? You want a polished code? You want the code to stand whatever you throw at it? And apparently I’m the only one working on the code this time. If you can understand this, stop bugging me to finish my code. I will, just relax.
Programmers are not Gods. We can only make some things, not all.
People come to me for everything. They throw the words “App”, “Software”, “Program”, “Script” as though it is made already. They give me random ideas, some not even close to feasible, others being a pain in the ass to simply code.
Sure, collectively, we have made also everything you could have thought of. Someone in the world made whatever impressive software you used or you wanted. But that someone wasn’t, isn’t, and likely, will not be me. Just because someone else made it doesn’t mean that I can make it too. If not, I would already have duplicated all the software assets of Google. I cannot make any and every thing you want. I’m not a wizard, conjuring anything you want out of thin air. Even a magician can’t do that. Stop making requests for anything under the Sun.
You need to think through your idea before talking to me.
I come across ideas so bad, yet I feel awful for telling you straight up that your idea is bullshit. I try to be a bit more nuanced by hinting to you that something is very wrong. Some people either simply do not get hints or are so stubborn. In that case, don’t look for me to code for you. For every idea you come up with, we spends weeks making it happen. I am not wasting any of my time on your business endeavours.
I have enough Nigerian princes looking for me to make business deals.
I am not tech support.
“Help, my computer is broken.”
“Well then, go look for a mechanic.”
That would be my typical response. I don’t live to fix things. I may have a lot of knowledge with computers, hardware or software, but I am not THE one you call and look for as though everything that spoils is my problem.
I hate it more when people simply tell me “Hey, fix my computer please”, or “Hey, why is my app not working”. There are more than 2.147 billion (programmers will get this joke) reasons why your computers or apps fail. And I can guarantee almost none of it is caused by me. Stop looking at me as though I spoilt it.
At the very least, could you care more to tell me how it is broken, and what you might have done that broke it?
Google is your best friend, just in case you don’t know. Ask me another stupid question and I’ll Google it for you.
This is basic. Stop treating us as live robots obliging to all your requests.
At the end of the day, I’m just a hobbyist. I don’t make a living out of programming. The only reason I program is because I enjoy building things. Stop forcing shit onto me and expecting me to get them fixed. I enjoy helping out most people because I know that I’ve done something meaningful for them. In fact, it’s only a minority that come to me with demands. Perhaps some day I should just ignore all these people, forever.