DaedTech

Stories about Software

By

Employers: Put Your Money where Your Mouth Is

Editorial Note: Since writing this post a couple of years ago, Dave has created a site in pursuit of his goal.  He also interviewed me for it.

I had an interesting exchange on Twitter a couple of days ago with Dave Schinkel. Here’s the most salient tweet:

Both local to this area, we were discussing how it’s hard to find a shop that would describe itself as craftsmanship-centric outside of, perhaps, downtown Chicago. Mostly you’ll find a lot of get ‘er dun kind of approaches where management holds its nose and measures productivity in what amounts to raw output. The folks that rise to the top in such shops are what Michael O Church describes as “Brawlers”:

First I will focus on the Brawlers (also known as “rock stars” or “ninjas”). They write hideous code, and they brag about their long hours and their ability to program fast. There’s no art in what they do. They have only a superficial comprehension of the craft. They can’t be bothered to teach others what they are doing, and don’t have enough insight that would make them passable at it anyway. What they bring is a superhuman dedication to showing off, slogging through painful tasks, and kludging their way to something that works just enough to support a demo. They have no patience for the martial art of programming, and fight using brute strength.

Brawlers tend, in fact, to be a cut above the typical “5:01″ corporate programmers. Combine that with their evident will to be alpha males and you get something that looks like a great programmer to the stereotypical business douche. Brawlers tend to burn themselves out by 30, they’re almost always men, and they share the “deadlines is deadlines” mentality of over-eager 22-year-old investment banking “analysts”. There is no art in what they do, and what they build is brittle, but they can do it fast and they’re impressive to people who don’t understand programming.

(I highly suggest reading his whole post, by the way.)

If you’ve put in enough tours in the corporate programming theater, you’ve probably seen this in action. You watch a shop promote people for making huge code messes and then “saving the day” with a series of 70 hour weeks spent cramming mountains of bugs into the proverbial closet and hoping that they don’t blow the door off its hinges before Mom is done inspecting the room for cleanliness. After their promotion, they start ordering their underlings to stuff more things into the closet. The game is to get promoted before anyone figures out that you’ve deposited a ticking time-bomb into the code base and then blame the explosion on The New Guy or The Guy that Just Left.

SuperFastTyping

Not all shops are like that, however, and going in search of one that isn’t is rewarding when you find one. If you find one. After all, it’s really not easy to find them. I’ve talked about this before in the context of interview processes incenting employers and candidates to put on artificially good faces. That is, no shop is going to say, “yeah, we have a bunch of Brawlers working here that never saw a global variable they didn’t like — our code is a nightmare.” Instead, they say, “We have a fast-paced environment filled with smart, A-players who set the bar high for delivering on commitments.” Instead of “snarled legacy mess” its “ASP MVC Latest a Plus because we have green-field, migration plans!” In fact, there’s such intense demand for software developers that employers probably have more incentive than candidates to hand out rose colored goggles for interviews.

And those goggles bring me back to what Dave said: “I’m building a list of companies doing TDD in Chicago.” My first thought on reading that was “holy crap, give me that list in case I ever decide to look for W2 employment again!” It’s not that I’m particularly zealous about a software development approach, but that list is solid gold if only for the fact that it’s a list of companies extremely unlikely to be populated by brawlers and expert beginners.

If you follow the rest of the twitter exchange, you’ll see where my thinking went next. I said something along the lines of “there oughtta be a thing that does that — like Glassdoor for clean code.” In my head, I had a vision of an inverted form of Stack Overflow Careers. In essence, as a developer, you could go in and browse tags and see what practices shops followed and what languages and frameworks they used. But then I thought a little further on the matter and realized this would be subject to the same kind of gaming that’s plagued the industry forever — the equivalent of some company’s “social media guru” logging into Glassdoor and posting a bunch of fake positive reviews. “Oh yeah, we’re all about test driving development and we’re literally the most agile company ever, and we do design patterns and stuff.” And, on the flip side, you might simply get disgruntled former employees maligning the company.

So that brings me to the culmination of my thought process on the matter (at least up until this point). I’m wondering what the feasibility might be of an organization (let’s call them “Craft Auditors”) running a site similar in concept to what I’ve described, but not based on self-reported, anonymous information from former employees. What if, instead, companies invited Craft Auditors in to observe their shop, process, code, etc (with appropriate NDAs and everything signed and all that) and list their attributes. I see this as purely opt-in, so if the shop claimed to be following Scrum and they were, in fact, following Scrum, that would be listed. If Craftsmanship Auditors observed that their code was a snarled mass of global state and eventing feedback loops, they simply wouldn’t say anything about that. Shops would stake their claims to what they wanted applicants to see, and Craft Auditors would list for them the ones they actually lived up to.

The use case I’m imaging here is simple. While I don’t ever anticipate conducing another “cold job search,” if I were going to, it’d be nice to go somewhere and say, “show me all the shops within 30 miles of Chicago that practice TDD as the norm, keep up with the latest development tools, and give developers creative autonomy without them being micromanaged.” Imagine if I tried to conduct that search today. I’d get a slew of false positives, perhaps only to be discovered during an interview or even after starting. And, what’s more, I’d only come up against the organizations for which recruiters were actively chumming the waters when maybe what I’d prefer would be “I see that none of those shops is hiring, so I’ll just wait until one is.”

Anyway, that’s the idea, and I have no time to write the site. So, maybe someone reading will. Maybe you’ll take it and run with it. Maybe you’ll overcome its half-baked nature and polish it to a shine. Maybe you’ll figure out how not to have it sound eerily like some kind of bureaucratic standards organization. Or, maybe not. But it never hurts to ask. And, if you build it, I’ll use it, endorse it, and recommend it.

15 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Dave
9 years ago

I’ll be working on building that site/resource and actually planned on it for a while now :). For now, please visit https://twitter.com/WeDoTDD

Erik Dietrich
9 years ago
Reply to  Dave

Awesome! Good idea.

Dave
8 years ago
Reply to  Erik Dietrich

The Quest has Officially started. Starting to Interview companies doing TDD! Look forward to posting them as I get them.

Andrzej Rehmann
Andrzej Rehmann
9 years ago

I wonder if asian companies are more likely to use TDD and pair programming then western companies. Its quality and efficiency, Japanese should understand it well, I think.

Erik Dietrich
9 years ago

That’s an interesting thought. It seems to have some definite relationship with the lean movement, that focused on not planning/building more than was necessary, focusing on small batches, and hitting the big red stop button if defects were discovered. It would be interesting to know if specifically Japanese software shops were more likely to adopt these practices.

Dave
9 years ago

Craftsmanship and practices like Test Driven Development is also huge in London, , Germany, France BTW for those of you new to movement. (https://twitter.com/londonswcraft, https://twitter.com/SoCraTes_UK etc.)

There are twitter sites specific to those Craftsmanship guilds in those countries all started by the craftsmanship movement in around 2008 by Uncle Bob, 8th Light and a handful of other “forefather” figures at the time.

That’s when the SCNA conference http://scna.softwarecraftsmanship.org/ was born and that’s where you’ll find a lot of great talks about Craftsmanship from people like Sandro Mancusco (https://vimeo.com/80839608, https://www.youtube.com/watch?v=-czaKO_8jc4)

Dave Bush
9 years ago

I want that list for CT

Erik Dietrich
9 years ago
Reply to  Dave Bush

Exactly. I think any discerning techie would love a list like this, which is why I’d love to see an outfit/site that lets you have the exact list that you want.

Dave
8 years ago
Reply to  Dave Bush

The list is coming my friend :). As soon as I have the site up, I will post a comment here.

Erik Dietrich
8 years ago
Reply to  Dave

Looking forward to it. Given that I’m actually doing some stuff in and around matching devs with employers these days, I’m more intrigued than ever.

Anthony Ruffino
9 years ago

I used to only have to program back-end Java systems that would be called by the Windows Scheduler. When I jumped into .NET MVC about 3 years ago, I think I might have been a “brawler”. I think/hope I am finally over it now that I understand the framework (and the web for that matter) orders of magnitude better than when I started. In my defense, my employers knew the score and just wanted the job done. That being said, I really do feel sorry for whoever opens up a few of my closets next.

Erik Dietrich
9 years ago

I doubt you were a Brawler in the sense that Michael seems to define it. That seems more about personality and careerism than about anything else. What you describe just sounds like doing the best you can with techs that are new to you 🙂

Dave
8 years ago

Well…..

After 7 months of hard work (full time without pay :() I’m proud to announce the Soft launch of WeDoTDD.com – A list of companies practicing TDD!!!Just as promised. More companies to be added to it soon and ongoing into infinity!!!

Feedback welcome. You can provide feedback here: wedotdd.slack.com
You can follow us at twitter.comWeDoTDD

dave falkner
dave falkner
7 years ago

I feel like I get quite a bit of value from glassdooor, although I find it better to read individual reviews and interpret them for what they seem worth, than just stack ranking based on star reviews. So a craftsmanship-focused glassdoor seems like a possibly worthwhile idea.

Also, what about a revised/modernized Joel 12 Step-style test? Also susceptible to fudging/dishonesty but it could at least serve as a conversation starting point.

Erik Dietrich
7 years ago
Reply to  dave falkner

I definitely agree that you can mine good nuggets of info from Glassdoor by reading individual reviews. I think pure sour grapes tends to be relatively easy to spot at the review level.

I actually had a different idea since, though it’d be sort of hard to implement. It’d be interesting if you could take samples of a prospective employee’s code and a prospective company’s and do a static analysis on them for compatibility.