Written on 20 November 2015
So, I get this glorious email
[bla bla] viewed your Stack Overflow Careers profile and sent you a message.
I saw your profile on Stack Overflow Candidate Search and wanted to get in touch with you about some development job opportunities we have here at [bla bla].
You can see our current job ad at http://jobview.monster.ca/Junior-or-Intermediate-Software-Developer!-[bla bla].aspx and your profile suggests that you may be interested in hearing more about the type of development work we do at [bla]. If this is not the case then please let me know and I will be sure not to contact you again.
I'd love to have a chance to chat with you to tell you more about bla (you can also find out more at our SO company page) and to find out a bit more about you.
VP & Director of Engineering, [bla bla]
Obviously, I was delighted. After all these years on SO and around 300(ish) answers about Domain Driven Design, application architecture and design patterns, finally someone considered that I'm a good material for a junior/intermediate dev. After all, as mr VP said, my profile ("SOLID web apps architect") suggests that.
Anyway, I was curious about the ad itself and it was so great that I had to blog about it.
We're looking for both junior and intermediate resources;
Yeah, I don't know if an overhead or a C-level asset is the author. Hey, at least they don't look for Chuck Norris or Neo, like other companies do.
Things we’re looking for in terms of more specific skill-sets and experience:
BS, MS, or PhD in Computer Science or related technical discipline (or equivalent).
I only have a BSc degree in Business Administration (Masters degrees were boring so I've quit - 3 times actually) so I guess I'm part of the "or equivalent".
Extensive programming experience in a language that demands strong OO skills (C# / Java / C++ / etc.)
Ok, I've heard about some of those, but I've never heard of this "etc" language. Nevermind extensive experience. I'm still puzzled though about which language/stack they're actually using. I mean, writing web apps (job is for a cloud solution) in C++ is pretty old-skool, right? Maybe they're using all the languages? I wonder how we do memory management and pointers in that "etc" language.
Experience working with scripting languages like PHP, Ruby, Python or Perl in a web application.
Lol, at least I've heard of those, hey I even did php for some years. But Perl? Really?! I'd get that "etc" language before Perl. A curious thing though, how Ruby and Python aren't part of the OOP list above. I guess they're just some silly scripting languages where strong OOP skills don't matter. But now I'm really confused about their stack. Maybe C# with a dash of Ruby and a pinch on Perl? Or that "etc"?
Several years of software design and development experience, with knowledge of Unix / Linux.
How many is "several"? Enough to qualify for a junior/intermediate? I don't know. Hm... Linux. Oh well, at least they know that asp.net 5 will run very well on it.
Ideally you’ve been coding since you were old enough to read.
Whoa... let me see... I've learnt how to read when I was 7, this means that ideally I'd have close to 30 years coding experience? Not as much as uncle Bob, but well, it's for a junior/intermediate position after all. Oh wait, maybe it's for the younger people, those who've just graduated college. 23 - 7, eh, only 16 years experience for the ideal junior/intermediate candidate.
A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.
You know, someone really needs to be more specific. What does count as solid foundation? Strong competencies? If I implement bubble sort, does this mean I'm competent in writing maintainable code? It reminds me of another very used and useless requirement like "analytical thinking" or "problem solver". Btw, is any company looking for someone who doesn't solve problems and (s)he's clueless about their field? I know they hire those people, but are they actively looking for them?
(Intermediate level) Previous experience with agile development methodologies and unit testing.
Wait a minute.... all those things, like extensive experience and more experience and ideally at least 16 years of programming is just for the junior position? Wow, these people are hardcore! But really, a junior of that level who doesn't know about agile or unit testing (cough)TDD(cough) is not such a great resource, is it?
I'm very curious about a senior/lead or architect position. I guess it's someone with at least 50 years experience in building scalable apps and former senior architect at Facebook/Twitter/Amazon and the founder of that "etc" language.
For the obviously clueless author of the job ad: you need at least a MS (masters - not to be confused with Microsoft) in basic logic and a PhD in common sense. Better yet, go to a real developer to write the job ad. Demanding extensive experience and strong skills for a junior/intermediate position is an oxymoron. Not specifying the actual tech stack (you know the languages, frameworks and platforms used by the company) shows you don't care enough to attract the right people. Because a Ruby developer won't be in a hurry to become an asp.net dev. Good developers are language/tool agnostic but we all have our preferences and things we don't like. For example, you won't see me writing Vb.Net or Ruby.
And yet, you don't have any problem writing this bullshit:
But, for the lucky few—the ones that have talent, the ones who can see beyond fossil fuels—these have the chance to work in an evolved and developer-focused culture.
First, dafuq means "who can see beyond fossil fuels"?! And a culture so "evolved and developer focused" would let a damn developer write the job ad. Who would specify the language/framework used.
I'm pretty certain it was not the VP & Director of Engineering who sent me that email (at least I hope so). Just matching some keywords, the way 95% of 'recruiters' work, shows you simply don't give a fuck. And when you get no answer or an angry email, you complain that there is shortage of good developers and it's oh, so hard to attract talent. It is... when you're oozing laziness. Developers, especially good ones, are pretty smart people with strong analytical skills. They can detect an incompetent recruiter/email/job ad. Unfortunately, most of the job ads are dumb, choke-full of bullshit. Even the decent ones still have some WTFs ("Expert knowledge of RDBMS concepts, Database coding techniques [I suppose it means Sql, I sure hope they don't want someone to code a database] and store [sic] procedures"). And I've read job ads with incomplete sentences and misspelled tech names. The people writing those ads display a total lack of respect and competence, showing how little they care.
Yes, it was a rant and I'm sure that you (a developer reading this post) read and mocked similar job ads. But, if you are one of the overheads (HR) or C-assets (VP/CTO) reading this, show some respect and common sense and try to understand the mindset of a good developer. Hint: ego stroking, big empty words aka bullshit, vague specifications and stupid technical requirements will attract only juniors or mediocre developers who are very passionate about having a job but that's about it. Want to attract great talent? Then think and act like one.