Featured as a Top Story on Medium
Featured on Tech in Asia
If anyone's struggling with programming, or just learning something difficult, this post might give you some sort of weird hope.
I can code in a few languages and I have studied computer science, so why when people tell me I'm an awesome developer, do I have the feeling they're wrong? I usually will respond with something like- “I’m not great, I’ve just been sat here doing it for longer… you could do it too.” Funnily enough, those that tell me I’m good are never actually the developers.
A part in Julie Zhuo’s article on “The Imposter Syndrome” resonated with me - the bit where she writes how everyone in her class were discussing how a programming assignment took them just a few hours, and Julie then writes:
Twenty hours. That was how long the assignment took me.
I’m not great at this, you think. Do I really belong here?
That was exactly how it was for me. I'm surprisingly bad at maths and programming never came easy compared to my course mates - I was constantly studying that year with no social life, tormented by
"hello world" and
system.out.println() (the very basics of Java), not to mention bonus Pythagoras questions. I thought I was done with maths at high school, and that programming was meant to be drawing shapes on a screen (not typing into a black and white terminal!).
There were plenty of times when I felt it wasn’t for me, but I just needed to learn it because I loved all the amazing things that coding made possible - from building my own products and games to playing with effects and animations.
In fact, thinking back to my first programming job, I’ll always remember my lead developer telling me how it was good that I didn't care about the code like other opinionated developers. I had no quarms with coding the way I was being told, because I literally did not care. That’s when I realised the back end stuff was not for me, and quit the job to freelance and try my hand at designing and building my own products, where my passion was.
Code was just the medium with which I could create great user experiences- it was never about the actual code. I’m not saying it isn’t important, but I couldn't care less about indentation, how the project is structured, or if we use camel case or not - as long as it allowed me to build something interactive that could engage end users.
Besides, as time goes by you pick up on how to structure the code, but it's more of a necessity than something I would honestly care about. The same goes with all the frameworks out there, it doesn't matter whether it's react, angular, backbone, polymer or anything else that comes out. You don't need to learn them all, just know about them, and choose the one that fits your need.
Even though I studied computer science, I've still found that hard work can only get you so far with coding - eventually you hit a ceiling where natural ability for logic and maths may limit you technically as an engineer, but at least not creatively.
The same principle can probably be applied to all disciplines. Having a degree in something may mean you can do it, but not always that you're the best at it and visa-versa. This may discourage some when it comes to programming, but I'd say anyone can code to a good enough level if they want to learn, and have the reason and motivation to do it.
To be able to come up with an idea, design and sketch it out, and then actually build it into a real product was my reason to learn.