a) I don't think Google is a place for me in terms of age and society.
b) I don't come from a CS background, am self taught but have over 12 years of professional experience behind me - I know what I am doing but can't rant of algorithms off the top of my head.
I don't come from a CS background, am self taught but have over 12 years of professional experience behind me - I know what I am doing but can't rant of algorithms off the top of my head.
During an interview when I couldn't answer a question about CS theory I drew on something I learned as an English major: the analogy. I said:
"Imagine that you aren't a tech company hiring a developer. You are a band hiring a lead guitarist. Do you want someone who studied music theory who can wax poetic about diminished arpeggios and phrygian scales? Or do you want Jimi Hendrix, who is self-taught and doesn't read music, but who can rock out with a Stratocaster and a Marshall Stack?"
I've used that one twice, and I've gotten the job both times. It also helps when you can pass all of the written tests. At my last job I outscored all of the CS majors on all of the tests they gave me!
I absolutely love that analogy, especially as an amateur self-taught guitarist + programmer. I'd still not be too inclined to apply anywhere with a heavy CS slant, even though all the theoretical stuff interests me a lot.
I'd still not be too inclined to apply anywhere with a heavy CS slant, even though all the theoretical stuff interests me a lot.
I'm with you there...I don't think I'd fit in at a hardcore engineering shop like ITA where you'd have to live and breathe algorithms. But at places where you're just building and maintaining straightforward web apps, you don't need to be able to give a lecture on computer theory, you just need to know how to code, and how certain practices affect security, scalability, performance, or maintainability. These are the places where you'll find CS guys who like to talk a big game, but the codebase is messy and full of hacks. In my experience, the CS guys at these places spent all of their time learning theory and how to architect on whiteboards at school, but they never learned how to write good code. This is where I shine, because when the lights go down and the crowd goes silent, no one cares about how many chords you know, or whether you can play a harmonic minor scale...they just want to know if you can hit notes.
That's a great analogy - but when the actual test relies on CS theory it becomes a problem - otherwise I haven't had any issues with jobs in the past (not that I haven't been rejected before, I just haven't had any issues landing a job in a reasonable amount of time).
You're describing the difference between theory and practice. It's one thing to ask an interviewee to write a bubble sort on the spot, quite another to explore the purpose of implementing a bubble sort in a given scenario. In other words, why would a test rely on CS theory rather than an ability to derive a solution regardless of orthodoxy?
Google hired me with 10 years professional software development experience and no CS degree. Google hired my friend with similar years of experience and no high school diploma.
Did they ask a lot of questions about algorithms and data structures in your interview? While they may not require a CS degree (it would actually be surprising to me if they did), they certainly have a reputation for wanting people with a strong CS background, regardless of where they acquired that background. Is this reputation inaccurate from what you've seen?
Many of the questions required knowledge of basic algorithms and data structures. This is all stuff that I picked up from reading a book used in a CS101 class. The questions did not cover any advanced topics (operating systems, compilers, cryptography, databases, machine learning, ...).
a) I don't think Google is a place for me in terms of age and society.
b) I don't come from a CS background, am self taught but have over 12 years of professional experience behind me - I know what I am doing but can't rant of algorithms off the top of my head.