Webcasts

O’Reilly Webcast: DevOps Hiring

“DevOps Hiring” is the title of both a webcast and an e-book, presented by O’Reilly.

O’Reilly offers both of them free of charge, and Dave Zwieback is the author and presenter. Although they both cover similar material and are clearly intended audience is recruiters and hiring managers, I recommend both of them very highly for all types of tech workers.

DevOps Hiring Versus Hiring DevOps

The discussions here are not only about hiring DevOps people for DevOps roles, but also about applying DevOps principles to the hiring process. Specifically, Dave refers to the core DevOps principles of Culture, Automation, Measurement, and Sharing (CAMS).

He explains why he thinks the existing recruiting process is broken, and claims that sending candidates messages on Linked in is not just ineffective, but really not better than sending spam.

Silos

Dave’s “Tale of Silos” describes how recruiters, hiring managers, and candidates each have different motivations. This puts them at odds, with each group in its own “dysfunctional silo“.

Applying the principles of CAMS to this situation means breaking down these silos and identifying a goal that all parties share. He asserts that this common goal is a culture of engagement: working with highly engaged people.

Culture of Engagement

He asserts that engagement is key to retaining people at a company, and making teams and organizations productive, but that in reality only about 30% of the U.S. workforce is actually engaged.

Rather than concentrating on correcting weaknesses, good companies emphasize strengths. In this sort of culture, someone cares about the employees, and the employees do what they love and are best at every day.

He suggests using a tool such as the StrengthsFinder to align people’s strengths with the work that needs to get done.

Automation

How can we automate finding candidates? Dave suggests looking for “dark pools” of candidates on Facebook or Twitter may be more effective than using LinkedIn, because both have more users. He also suggests using some of the new services such as TalentBin, Entello, and Gild.

Some things should not be automated. For example, taking time to personalize emails, and encouraging employees to network at meetups and conferences are very effective methods of identifying candidates for long-term employment.

Measuring

Dave suggests that the standard techniques of measuring response rates and the number of candidates “in the pipeline” are straightforward, but not all that useful.

It is better to look at more relevant measures of how long the candidates stay, their engagement and productivity, and the increased profit and customer satisfaction that result, because these are better indicators of success.

Sharing

Even though it is counter-intuitive and rare, Dave suggests sharing candidates. This indicates that the company does indeed care about the employee’s long-term interest, and builds relationships that can lead to reciprocation.

“What If I Told You…”

I completely agree with Dave that the hiring process is a “minefield of biases,” that can cause perfectly good candidates to be rejected for reasons that have absolutely nothing to do with whether they can perform the job.

As an ex-smoker who gets nervous during interviews, one of my pet peeves is when I hear of job seekers beeing rejected for fidgeting during an interview, even though this has nothing to do with getting the job done. Additionally, because it is illegal to acknowledge biases based on demographics — things like gender, race, age, and sexual preference — candidates who have talent but do not conform to preconceived notions of normality face rejection without ever know what they are doing “wrong.”

Whiteboarding and Learning

Having a candidate get up in front of a group of people and use a whiteboard to design a solution is one popular interview technique. This can be very stressful for candidates, which is fine if the position entails a lot of stress. However, if something like this is not part of the job, you may be eliminating candidates based on irrelevant criteria.

Another thing to be cognizant of is that companies tend to base their decisions on past performance, when they are hiring for performance in the future. Dave suggests hiring people with a demonstrated ability to learn new things.

The Importance of Engagement

One of the most important indicators of a successful hire is the employee’s engagement. And one of the biggest factors determining their level of engagement is a supportive workplace.

I have seen it happen, and just as Dave says, expecting a new hire to sink or swim in a new position based solely on their own efforts is a “recipe for disaster.” This is not by any means surprising, but it sure is good to hear someone actually say it.

O’Reilly Webcast: Maintainability

From time to time O’Reilly.Com offers technical webcasts. Like their books, they are consistently excellent.

Recently I viewed one about building maintainable software, by Rob van der Leek and Zeljko Obrenovic. In it, they acknowledge that doing so is difficult. Everyone must buy in to the goal and maintainability be built in to the source code from the start this website.

Eight Guidelines

In the webcast, Rob and Zeljko present eight best practices for writing maintainable programs. The guidelines, which follow, are measurable and make sense.

  1. Limit length of code units to 15 lines of code
  2. Limit the number of branch points per code unit to 4
  3. Limit the number of parameters for each code unit to 4
  4. Prevent duplication of blocks of code that contain 7 or more lines
  5. Limit the size of modules to 400 lines of code
  6. Try to have 6 to 12 components of approximately equal size
  7. Avoid cyclic dependencies
  8. Keep the code base to 200,000 lines of code or fewer

Experience and Discipline

In conclusion, they state that

“It takes a lot of discipline and experience if you want to write consistently maintainable code.

As someone with a bit of experience, I agree most heartily.