Skip navigation

Monthly Archives: August 2012

1. Get into the habit of writing out code by hand. It doesn’t have to be good code- it might not even have to be code at all. Psuedocode, flow diagrams, even pictures are a good start. Get in the habit of designing the structure of your program in your head; conceptualizing programs (or even just a class, or a function) will allow you to better understand what you’re trying to accomplish, and really force you to ask yourself tough questions: does this logic make sense? Is there a better way? How do I do this again? For the latter, writing code out frees you from the tyranny of convenience: it forces you to remember basic concepts, making you less reliant on Stack Overflow or simply Googling for the answer. Not that convenience is inherently bad, but you want to maintain your own independent knowledge and ability. Try things out before you look for the right answer. It’s equivalent to learning a foreign language by immersion. It forces you to remember the syntax

Being able to write out code is especially helpful for CS courses with exams that ask you to program. If you’ve practiced scribbling out code, not only will be better able to recall concepts, you’ve also gained the ability to start writing statements without an IDE’s autofill doing that for you. (That is also why a text editor, particularly a command line Linux one, is preferable for some programmers. In fact, coding in Vim without internet on or documentation to check is pretty much the same thing as writing code out by hand, minus a bit of portability.) Start writing out code a lot on your own, and the blank page with only a function prototype at the top won’t look nearly as daunting anymore. Don’t be embarrassed on ashamed

Whether GitHub will really make tech interviews obsolete or not, a programmer needs to be able to think programmatically without a computer.

2. Never, ever, be afraid of looking something up for fear of looking foolish.

It’s not a very long one, but it’s one worth remembering: you’ve probably read enough. All too often, it’s too easy getting caught up on obsessing over documentation and tutorials and best practices and “the right way to do it.” Humans lived before the internet, before mass literacy, before cave paintings even. Not well, maybe, but they still found ways to advance without learning everything from someone else. So likewise, we could too, without getting caught up in a deluge of material that just keep telling you what to do, without you actually starting something and learning from your own experimentation, practice, trial and error, and just general experience. And if there’s something keeping you back, at least there’s a few basic steps you can take. No-brainers, really. The sort of tips that actually nudge you in the right direction, instead of similarly enslaving you to “more stuff you have to learn instead of actually doing the right thing.”

Now, if you’ll excuse me, I’ll be doing something this weekend, lest these inspirationally snappy “get off your butt and go do something” posts become the same thing they warn against- more reading material that one consumes and learns from instead of actually applying.