I learned an important lesson a few months ago, and thought I’d share. Don’t get too cocky.
For the longest time I considered myself a good programmer. In university, I would wait till the last minute to finish my computer science projects as I already knew how to do them, and when working on other projects I’d generally spend 99% of my time researching new things, and only 1% of my time actually doing them. I got cocky.
In my head, I was able to justify my actions: “I already know this stuff. No reason why I should bother starting early because it’s a piece of cake.” I remember sitting in the lab at 2am in the morning the day before my project was due hacking away–thinking of all the other “normal” people in my class who were working on the project the entire week. “What fools!” I thought.
Unfortunately, while being cocky is sometimes a positive force, more often then not it blows up in your face. I realized this several months ago when trying to design a simple web page for work. I’ve never been a real designer. I’ve always considered myself a strictly “back-end” developer. Most of my work and fun comes from coding the low-level components. Years ago, when I first started working on web-type stuff, I dismissed HTML and CSS as beginner’s toys: “They aren’t real programming languages. They’re only for displaying data. Any monkey can make a template.” When I began working on my template for work, I realized how wrong I was.
It’s easy to criticize and dismiss things that look “easy” without ever really working on them to accomplish something. In my case, trying to build this simple template for work turned out to be one of the most frustrating experiences in my life. I spent far over 100 hours writing a template for the site, and it was one of the ugliest things imaginable. What made it worse, of course, is that I knew what I wanted it to look like, but because of my lack of care for the technology, I couldn’t build what I wanted.
This month I’m actually going back and starting fresh again with HTML and CSS. I decided to take them seriously this time around, and really learn it properly. My goal is to eventually re-write the work template I failed at a few months ago, and become good enough to build designs for myself, and not rely on outside help.
I think that being humble is a great quality to have. While being cocky can sometimes give you the confidence to do something, being humble gives you the mindset to continue doing things, and get progressively better at them over time.
Regardless of how awesome you are, don’t let it get to your head.