Job Posts that Don’t Suck!

Ok, as promised, this is the post with solutions.  Job posts should get a prospective candidate excited about a possible gig.  Don’t lose top talent the second you post, don’t freak out people and load it up with a “we’re hiring so we just have to throw bait out for all you sucker programmers” type of attitude.

Here’s one group that just starts off right from the beginning.  Hackruiter, a group of hackers that recruit for startups.

Here’s another site that does it right, Stack Overflow Careers.  It puts onus on the hiring company to put up or shut up about whether its a good development shop or not.  With the Joel test criteria a prospective employee gets to find out very important things about a company.  The following job poster scored a perfect 12 out of 12.  It’s most likely one of the best shops around to work at!  This is a prime example of a dev shop that has their act together.

An Example of a Well Put Together Software Shop!
An Example of a Well Put Together Software Shop!

Let’s take a look at the actual job post, I’m assuming YouNoodle doesn’t mind if I help spread the good word by using their job posting as an example.

YouNoodle Posting
YouNoodle Posting

The post starts off with a simple, unassuming title.  This is good.  If you see rock star, or something of that sort, these days I’d be worried since it is an overplayed title.  EVERY company wants rocks stars.  However, a rock star is rare, no need to try to be one.  Most rock stars don’t try, they just are.  But I digress, the title starts off as simply, “Front End Software Engineer“.  (I’ve linked the posting, but no telling how long it will actually be live, so to mitigate I’ve posted an image of the posting to the right hand side – click it for a full size image that is more readable)

After the title the startup jumps right into wooing the prospective hire.

YouNoodle is looking for an engineer to join our tiny but ambitious product team. YouNoodle is a fun and entrepreneurial startup in downtown San Francisco. Our office is on the corner of South Park, close to Twitter and many other cool startups.

We are looking for a software engineer with solid web product experience, ideally someone who has worked in other web startups and/or hacked together websites in college. You will start off on our current PHP/MySQL setup, but you will eventually work with us on a new product in a new framework.

We are one of the most well-connected startups in the Bay Area, and with us, you will make your name in the startup world. Our office space is fun and chill, the vibe is ambitious but relaxed, and you will largely be setting your own goals.

Right from the start they talk about their fun and entrepreneurial environment in downtown San Francisco.  They obviously care about their work environment as they’re downtown, not in some lame suburb off in the middle of nowhere.  This is very important to a good company.  A good company cares about where their employees will work.  They care about the environment and whether it is awesome or in some dank dark corner of the universe.  YouNoodle obviously has insight into things.  They dive shortly after that into what they’re looking for and the awesome technology that the prospective employee would get to use.  Notice it isn’t a demand, it is a description of what fun it is.  This is software, the tech industry doesn’t need to demand, it’s a fun business to work in and companies should get a clue about that!  Don’t bore prospects, woo and excite them!  You’ll have the best before you know it.

The next thing that YouNoodle jumps into is “Extra Credit“.  They did a great job in not using the same lame “required experience” nonsense.  Nobody ever has the exact experience, it’s all about finding the developer that can contribute and get up to speed on the technology.  It’s merely extra credit for a developer to have some or most of the skills.

Extra credit:
– Other web frameworks (Ruby on Rails, Python/Django, etc)
– Mobile or Facebook app skills
– JQuery
– AWS systems experience
– Graphic design skills
– Product or project management experience

Now just to assure everyone, I have no vested interest in YouNoodle.  I literally just found out about them by looking on Joel Spolsky’s Job site to find examples of companies that put together good job postings.  I know and trust Joel’s Sites and he gets it.  I don’t always agree with the guy, but he’s definitely got his act together, and the companies that the site allows to post generally have their act together.  YouNoodle is no exception in that regard, they do indeed have their act together – at least in attracting and hiring!

So why can’t other companies and recruiters get their act together and excite people about what the job is?  I’m not sure what they can do, but they do need to check out these sites and learn from the best.  There is ZERO reason a job description should be demanding or insulting to the prospective employee.  There is no reason for the posting to paint a dire picture.  Sure the project may be in trouble, but get the postings right at least.  Talk to the candidates about that when things are put together.

But then of course if the project is in really bad shape, I hope developers also start learning how to read the crappy job descriptions and create an even greater shortage for those efforts.  Maybe the market can straighten out those poorly lead projects then – it created the awesomeness that is the tech sector in the first place and I’m sure it can straighten it out again!

Cheers, to better posts and more truth and better effort in the whole hiring process!

I’m Not Looking, But These Job Posts Just Suck

BEWARE:  This is the beginning of a rant.  If you’re temperamental it might piss you off.  You’ve been warned, prepare to have a bit of rant with reality thrown on top for good measure.

I’m not looking for another gig.  I’m extremely happy with what I’m doing right now.  The Russell Team I’m working with absolutely rocks!  On our worst days we kick ass and on our best we kick ass, take names, and build lots of software with value for the company and users.  We produce software, with reasonable timelines, timelines that we have input into, with good business proponents, solid technology, quality code, and generally sound process.  All this with strong overtones of Scrum influence ala from the Agile Manifesto.  People on the team actually KNOW and have READ the Agile Manifesto – which is AWESOME!!!!  🙂

So now that I’ve got that declaration out of the way I want to write a very serious rant to managers who have never read the manifesto and claim they use an “Agile Process” or “agile” or whatever.  This is a statement and rant to those companies that go recruiting for top tier people (and rarely get them) with horribly written job descriptions and practices.  So let’s get started, and the developers out there, let me know if you are annoyed by these practices too!  I’d love to get an ear full form anyone from any side of this equation.

If you use an Agile influenced process (notice I said influenced, because really there is no such thing as an Agile Process – it’s an ideal, kind of like freedom and liberty) nobody should be reading or printing things like;

  • Agile = Agile Principles U Agile Best Practice
    Agile = Agile Principles U Agile Best Practice

    This project is being run using agile methodology.< Really? Which one? That isn’t very descriptive. It’s kind of like me saying, “I like to eat food, the cooked kind, sometimes, cuz it’s good!”  Yeah, really! Dear oh dear. Translation: “I went to a management conference and somebody said that I HAVE to use agile methodologies or I’d be a failure.”

  • Yeah, It's In There Somewhere, The Piece That Will Bind the Meaning of this Description Request!!
    Yeah, It’s In There Somewhere, The Piece That Will Bind the Meaning of this Description Request!!

    “Good understanding of software design and concepts and patterns.” <  First things first, there are way to many ands in that sentence. Second, Which design, concept, and patterns?  Microsoft’s, Computer Science, or Agile Manifesto related concepts. This again is a very vague statement.  Kind of like stating, “We want someone to write software that can write software”. For real!  😮

  • “Experience using Visual Studio 2008 and the .NET Framework V4 with experience using Framework 3.5 with SQL Server.” WTF?!?!  Ok, you state you’re using the “agile process” but the first thing this does is prove you’ve probably broken the first manifesto point, people over tools. You’ve just declared tools, and in addition to that the tools are correlated incorrectly. Using SQL Server has ZERO to do with what .NET Framework you’re using. Using .NET 4 is almost identical to 3.5.  Declaring the version really isn’t necessary.  In addition, declaring a framework version with SQL Server would lead any decent developer to think that the project is already messed up since the tools description is correlating .NET 3.5 to SQL Server – which should make absolutely no difference.  Zero, Zilch, Nada!!!
  • “Familirarity with the basics of WPF, Silverlight, WCF, and Azure.” <- So every application in the universe is getting built?  This just adds to the confusion already generated by the oddball descriptions above. At this point a GOOD software developer would either stop reading and ignore the posting or be so curious as to why its screwed up they’d contact the recruiter or posting company. I know some developers that have literally contacted a company to ask, “what is being stated” in a job description.
  • “Awareness of Microsoft TSQL and database design principles.” <- Again, ok, but you already said SQL Server.  Maybe you mean some magical mystical unicorn generating SQL Server in that previous request and this is for just the SQL in the magical mystical unicorn SQL Service generating Unicorn TSQL Microsft TSQL Database Widget! Yeah, that’s it.
  • “Demonstrated ability to follow through with all tasks, promises, and committments.” <- Ok, I’ll admit, some places probably need to post this.  But when I see this, I’m putting my money on the idea the management probably sucks, and not a little bit but a whole lot. The other possibility is that the hiring staff have no idea how to communicate or infer if a person has basic abilities A company demanding the basic fealty of honesty and integrity in their employees in the job description something is SERIOUSLY wrong already.
  • Bad Communication Happening
    Bad Communication Happening

    “Ability to communicate and work effectively within priorities” <- Ok, with that previous demand of fealty and competence, this request right after is a HUGE read flag screaming that communication is most like NOT good in the environment the job is in.

  • Yeah, Do It, Do it RIGHT NOW!!!
    Yeah, Do It, Do it RIGHT NOW!!!

    “Ability to work under tight timelines in a fast-paced environment” <- Again, this completely throws out any concept of maintained velocity, a good agile understanding, or any hope that someone actually read or understands the Agile Manifesto and Principles. It also provides the hint that maybe, with a high likely hood, management is grasping at straws trying to keep things going in the right direction.

I wouldn’t be very likely to respond to this job entry if I was looking. Matter of fact I’d warn people (kind of like I’m doing with this blog entry). In my next entry I’ll provide some actual GOOD job descriptions and things that I would look for, if I were looking (which I’m not, as I’ve pointed out).

Frustrated...   looks like it.
Frustrated… looks like it.

…and don’t get confused, I’m not being a prima donna or demanding blue M & Ms only. I’m merely asking that people get their shit together and treat their prospective employees with some honesty and integrity also. Hiring practices leave a LOT to be desired in the world of the tech industry. They’re horribly inefficient from both perspectives.  It is hard to find people and hard to find good gigs that one can truly be happy with. I honestly feel though that getting this straightened out, if it is to be straightened out, is a better understanding on the hiring side and on maintaining a healthy, functional, and productive work environment.

Stay tuned, and I’ll have the “much closer to ideal” job posting ideas up here in the near future.  For now, I’m done ranting about this.