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;
“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.”
“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 commitments.” <- 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.
“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.
“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).
…and don’t get confused, I’m not being a premodonna 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.
(Cross-posted @ Composite Code)