I didn't study CS in school. Ten years ago, I studied a mix of liberal arts, CS, philosophy, languages, CS and art. Unsurprisingly, the Ruby syntax bewitched my soul and I've been loving and writing Ruby since I first met it about 4 years ago. I've met several people (I live in SF) who have come from this un-traditional history and some of us have made great insights into great systems that touch all our lives every day.
I want to move out of a BigCo environment to a place where I can have more impact and use Ruby more regularly. But I think CS programmers have a set of shibboleths to weed out those who aren't minted by the same stamp: The Data Structures and Algorithms questions.
While I understand the applicability of the concepts, it seems strange to ask me to write a linked-list implementation or a queueing mechanism: most 4GLs have already optimized that. Why not look at my github or my side project contributions? You want a web programmer, if you need me to write the algorithm I'm going to grab the Knuth opus, copy, past, and truck on to delivering a site that GENERATES REVENUE which is, after all, why we're here, right?
So, it's a shibboleth. Fine. I'm not going to complain about the fact that that's what it is. If presenting these signs is important, then I will present them BUT...what should I know? Is there a canonical book from which your secret brotherhood learned its secret handshakes? Is it better to implement in C or C++ or Java?
In short, what of my recollection of CS101/102 must I re-learn so I can get in the door and wow you with my code?