On the trap I set for myself
Bedding the best.
I'm starting this post in response to something I read on Coding Horror (Link). The advice in that post isn't particularly new or jaw-dropping; it is however, thought provoking. In fact, it pushed me to evaluate my situation and come to terms with how to proceed onward and upwards.
What: I want to become a much better developer than I am today.
How: By mastering algorithms and data structures typical of Google and the like.
Google, Microsoft, “insert any favorite-celebrity-crush company here” invariably are setting the standard for defining what it takes to be a Jedi master developer the same way Hollywood is setting the standard for what it takes to be a panty-dropping stud. While these cool-kid-companies on the block, this time say, GitHub are sending party invitations to baby genius developers who have a strong code portfolios, 5k viewership blogs, and media presence up the wazoo; the rest of us can sit here writing love-sick letters and plucking flower petals wondering if Amazon will finally ask me to prom, or if Apple noticed that I did my hair today.
At least for those aspiring towards Hollywood, the magic of make-up, masks, and mirrors can fix what our broke-folks genes lack, but where’s the bedazzle wand for developers who started late in the game (like three-years-into-finishing-my-degree late), graduated with a degree other than CompSci, and incurred wall-street-bailout debt getting said sister degree like myself?
I would love to give you an answer, but I'm not quite there yet. There are too many facets that contribute to becoming successful aside from having raw, unadulterated talent or hard work for there to be a cure-all answer. Still, I oil myself up, throw on my gloves, get ready for the fight, and suddenly that nagging voice breaks me down.
“You’ll never be good enough.” Trap 1.
“How dare you rest and celebrate the small wins when you’re still so far from your goal?” Trap 2.
I hate that silly voice in my head, but it still gets to me. I begin to compare my coding progress with developers who shoot brilliance out of their fingertips when they write code. Trap 3.
I imagine the startup stars recruiting developers who can write algorithms implementations in their sleep, crank out engaging essays/articles, and possess a meaty portfolio on GitHub straight out of college. It’s discouraging. How can I keep up with all the new technologies when I have a full-time job? Trap 4, 5, infinity.
With that said, having this mentality has allowed me to push forward and greatly improve my skills over a short period of time. The sense of urgency, the fear of being unworthy, and the joys of struggling with difficult concepts are all part of why I've been working as hard as I can to perfect my coding ability. But can I ever be good enough for my own standards? Are these expectations fair? Probably not, but the world does not make allowances for our shortcomings. Standards are standards, and if I were a startup boss, I wouldn't want to hire anyone but the best people my money could buy. As a developer then, instead of deflating like a blow-up doll after a frat party, I should take my own abuse with stride.
I've wanted to start writing again for a long time coming.
I've wanted to proudly add my code to GitHub ever since I heard about it.
I've wanted to feel comfortable implementing various algorithms by hand.
Why didn't I?
I thought I needed a thought-provoking article to start a blog.
I thought I needed to be an expert in something to put my code out there for everyone to see.
I thought I needed to understand every single (relevant) explanation in “Introduction to Algorithms” to even think about applying to “insert suave and sexy tech company here.”
And then, I did.
My first post is about not having much to say, but saying it was definitely a start.
My first “official” repository on GitHub is for a Rails tutorial and why not?
My first straight-from-memory algorithm I can write is Insertion Sort, check.
Once I was done doing all those things I thought about doing, I was simply glad to have done them. And, many, many blog posts, git commits, and handwritten code on a whiteboard later, I will set a standard.
Just because the standards are high doesn't mean you should surrender yourself into that good night. Remember, you can’t win if you don’t play. That cute girl at the bar isn't going to take herself to your house and fall into bed with you by accident: go talk to her.
Look out, “insert Sports-Illustrated-swimsuit-model-winner company here” one day you will go home with me. For sure.
Co-author/Editor: Samantha Huynh