Someone responded to “whiteboard algorithm hazing” and a lot of other programmers followed suit. The term refers to when interviewers make you write code on a whiteboard.
It’s a great piece. Check it out. Not extensive, but super important to let beginners like us know we don’t have to be so fucking intimidated, and scared out of wits, and anxious to death all the time just because we think we aren’t good enough. That’s no way to live.
I don’t think I’d ever be able to pass a whiteboard test simply because coding is a different embodied experience from writing. I’m pretty brilliant at writing, and I can write really well on the whiteboard, but it’s not the exact same animal as coding.
Both writing and coding are thinking processes. We don’t use just our brains to think. Writing helps us to articulate and develop our ideas. At least for me, if I don’t write, I’d be stuck at or near the inception point of an idea. If I start writing it out, even if I have no idea where I’m going with it at all, not even the next step, I develop it into a stronger concept and at a much faster pace too.
Usually, I use both pen and keyboard to do it. I think some studies show that there’s a link between exercising the pen and brain activity, or something. Idk, forgot the details. But anyway, that’s why I call it “embodied”. I think other people have called it “embodied” before me.
Coding is the same, but also different. It has its own fluidity that works under certain conditions. Whiteboard hazing separates the coder from the environment that helps him best, like taking a fish out of water and asking it to swim. Maybe some fish can do it, but it’s not usually helpful. Tabbing between Google, Stack Overflow, Quora, YouTube, Coursera, documentation, and whatever else resource you have is part of the flow.
Plus, community is important to coding. Once you’re in the flow, you access other people’s work, read other people’s solutions, and ask others for help. Inevitably, you contribute too, even if it’s reminding a friend that he/she missed a semi-colon somewhere. IRC channels, forums, Facebook groups, hackerspaces, and friends are super important for that.
Ironically, the geek so stereotyped to be awkward in social circumstances really knows how to build communities and relationships that are vital to problem-solving.
I’m not an experienced coder, but I’d say it’s ok not to have everything at the tip of your fingers.