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.


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.


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.


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.


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.

Job Search Newsletters

I subscribe to two job search email newsletters, and recommend both of them highly.

To subscribe to the Dice Advisor newsletter, you need to create an account, then go to the Dashboard -> Settings page and check the box under Email Notifications.

To subscribe to the Ladders’ Career Coach newsletter, create an account then go to your Your Account Settings page and set the switch next to the Career Coach newsletter, and any others you may want.

I hope you find these as informative as I do!

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.

Leaders of Learning Class

I love learning, and it can be even more enlightening to learn about learning.

An excellent example of learning about learning is the HarvardX class Leaders of Learning, offered through edX.org. Although it quickly became apparent that the class was intended for educators, I decided to complete it anyway.

My final grade was 99% and I earned an Honor Code Certificate (pdf) for successfully passing it.

Modes of Learning

The class closely examined four modes of learning, based on the various combinations of these two independent qualities:

Collective or Individual
We can learn either in a group or alone
Hierarchical or Distributed
We can learn in either a formal environment, where the reward is a grade, perhaps leading to a degree of some sort, or in an informal environment, where the only reward is the additional knowledge

There are certainly other ways to look at learning, and at first these terms can seem a bit foreign. But this is how we analyzed the act of learning, and how education is changing, in this class.

Analyzing Four Ways to Learn

Because these qualities are independent, we can view the various combinations of them as quadrants in a table:

Collective Individual
Hierarchical Hierarchical-Collective learning often takes place in a classroom in a public school or at an accredited college or university Hierarchical-Individual learning takes place when a more knowledgeable person teaches a student one-on-one, for example, when tutoring
Distributed Distributed-Collective learning is the learning children might experience in a playground, when learning a sport, or what adults experience at meetups and conferences Distributed-Individual learning takes place when we read a book, on our own, to gain the knowledge therein and nothing more

The class began with a self-assessment. On the initial assessment, I scored much higher in the Distributed-Individual quadrant (73%) than I did in the others (20-30%).

The assessment was accurate because, since graduating from college, I have been mostly keeping up-to-date with technical advancements on my own, specifically by reading O’Reilly books.

Venturing into Other Quadrants

The class encouraged self-awareness and flexibility in crossing into other quadrants.

The class was intended for educators, and stressed that these four quadrants represent the playing field. With the internet changing everything, it’s important to know what your strengths and options are.

As a life-long learner, it’s also easy to see that flexibility on my part can lead to new and improved learning opportunities and experiences. In fact, this class was one of the things that encouraged me to start going to meetups and taking more MOOCs.

My First MOOC

The first Massively Open Online Class(MOOC) I took was The Science of Everyday Thinking, offered by The University of Queensland, Austrialia through edX.org.

I completed the class with a score of 84%, earning an Honor Code Certificate (pdf).

Constant Negativity

I grew up with a lot of negativity, and the echoes of those words continue to haunt me. I know that I am not alone in my struggle with these recurring thoughts, and work every day to fight them off, yet they persist.

This, my constant curiosity, and an enduring interest in psychology, led to my interest in this class. The time I spent in it was well rewarded.

Thinking and Our Biases

The class presented a wealth of information from a variety of people, but repeatedly referenced the book Thinking Fast and Slow by Daniel Kahneman. The result of decades of work, his book earned several awards, and the instructors referred to “System 1” (fast, subconscious) and “System 2” (slow, calculating) thinking throughout the class.

The class also discussed some of the unconscious many cognitive biases that affect our decisions, if we are not careful and take the time to think slowly. A complete list of these can be a bit overwhelming; it would be a mistake to let this fact deter you from learning about them, and how they can limit us from fulfilling our potential.

A Great Start!

The class was a great start to taking more, both at edX and at Coursera. As I later learned in the Leaders of Learning class I took at HarvardX, the internet is changing how we learn, opening up grand opportunities for all of us!

How I Learned Joomla

Having had enough of PHP-Nuke, it was time to look for a new CMS for my GROJA program.

This time I picked Joomla, mainly because at the time I was running gentoo on my servers, and Joomla was in portage, making updates easier. My experience with PHP Nuke taught me that keeping web site software up-to-date is key to running secure sites.

This time I was able to find a few books. They were enough to get me started, and I was able to fill in the gaps by using the documentation at api.joomla.org, and delving into the source code as necessary.

I wrote several extensions for SeeOurMinds.Com. The source for most of them is still available on my github account.

The extensions work with Joomla 1.X; I have not upgraded them to the current version of Joomla, and at this point am unsure whether it is worthwhile to do so. They were very useful to me as training exercises, and they remain valuable as support for SeeOurMinds.Com.

Rather than upgrade these extensions, I am currently considering creating yet another version of my GROJA program. The original version, written to run natively on the PC, was very interactive, so I am thinking that I can do something similar, or perhaps even better, if I rewrite as much as possible of it in JavaScript.

How I Learned PHP Nuke

Seeing potential in the PHP4 version of my groja.com site, a friend suggested I try integrating it with PHP-Nuke.

The PHP-Nuke site claims it is “The First CMS.” I am not sure about that, but it was my first CMS.

There were no books available at that time, so I learned it by reading the online docs, and digging into the source code when needed.

It turned out that PHP Nuke was not secure. About the time I got my site running, my friend’s site was hacked.

Looking at its page in the Wikipedia , it appears that this is still the case. Like the PHP4 version of my GROJA program, this version is no longer online.

Having learned XHTML, PHP, and now PHP Nuke, it became obvious that I was not yet done with learning.

How I Learned PHP

When I decided to learn PHP, I started the way I had always started learning a new programming language, since graduating from school: I bought a book, from a brick-and-mortar bookstore. That’s what we did in the old days, back in 2001.

The book I bought was the first edition of PHP-Fast-Easy-Web-Development by Julie C. Meloni, published by Prima Tech. The book covers PHP 4 and was extremely basic for someone like me, who already knew several other languages.

I quickly learned that php.net was a much better source of information for the language. This marked a fairly big shift in my way of learning new programming languages.Watch movie online The Transporter Refueled (2015)

I used PHP 4 to write the second version of my GROJA program. This was the first online version of it, and it was available at groja.com.

That version did not incorporate a Content Management System (CMS), and is no longer online. The link above now mirrors the new site, at SeeOurMinds.Com; sorry for any confusion!

WordPress Visual Quickstart Guide

The book I used to get started with WordPress – which is what this site is running on – is WordPress: Visual Quickstart Guide, by Jessica Neuman Beck and Matt Beck.

I bought a hard copy of the Second Edition at Tattered Cover a year or two ago, browsing after making another purchase there.  Now I see the Third Edition is already out, and a pdf of the Second Edition is available online for free.

This demonstrates why it has become problematic to buy hard copies of technical books: things change too quickly!  Since getting into tablets has led to an interest in e-books, I have learned that O’Reilly — my favorite publisher of technical books – often offers them at a discount, DRM-free, and in several different formats.  I’ve been a tablet-owner for less than a year, but already have over twenty of their titles!Watch Brothers (2015) Full Movie Online Streaming Online and Download

It should come as no surprise to learn that a Nexus 7 or Kindle Fire HD weighs considerably less than 15 books.  Plus they have news, email, facebook, and weather apps!

So it is more than just a “book;” in my mind this particular title represents the end of an era.  However even though I’ve become a big fan of e-books, it’s nice to have something that I can read without a computer.

My Four Joomla! Books

I have four hard-copy books about Joomla!  They are all obsolete!

Combined they weigh in at about 5.4 lbs.!  About as much as four 8.9″ Kindle Fire HDs.

Here is the list, in the order in which I bought them:

  1. Joomla! a User’s Guide Building a Successful Joomla! Powered Website (Prentice Hall), by Barrie North
  2. Learning Joomla! 1.5 Extension Development (Pact Publishing), by Joseph LeBlanc
  3. Mastering Joomla! 1.5 Extension and Framework Development (Pact Publishing), by James Kennard
  4. Using Joomla! Building Powerful and Efficient Websites (O’Reilly), by Ron Severdia and Kenneth Crowder

Would you care to guess which one is the best?  Actually that is not really a fair question.

It’s not fair because, the first and last books describe how to use Joomla!, while the second and third – the two published by Pact – describe how to write Joomla! extensions how to reduce weight quickly.  Comparing one type with the other is much like comparing apples to cars.

Breaking it down, the first and last are about the same.  The only reason I bought the last one was because it was an O’Reilly book, and in general those are very high quality – I have learned a lot from O’Reilly books!  I was hoping it would cover some of the extension development, but it is true to its name, “Using….”  It has more detail, though, so I put it before Barrie’s book.

Regarding the two Pact books, the third one listed is much better than the second one.  For one thing, Learning Joomla! 1.5 has only 161 pages, while Mastering Joomla! 1.5 is 470 pages long.  In addition to going into much more depth, the Mastering book also covers the Joomla! Model View Controller (MVC) API, which I did not find to be very intuitive.  In contrast, the Learning book shows how to write extensions the 1.1 way, with only very little coverage of the MVC API.  Frankly, I found it to be disappointing.

So I rank the books as follows:

  1. Mastering Joomla! 1.5 Extension and Framework Development (Pact Publishing), by James Kennard
  2. Using Joomla! Building Powerful and Efficient Websites (O’Reilly), by Ron Severdia and Kenneth Crowder
  3. Joomla! a User’s Guide Building a Successful Joomla! Powered Website (Prentice Hall), by Barrie North
  4. Learning Joomla! 1.5 Extension Development (Pact Publishing), by Joseph LeBlanc

Even though they are obsolete!