Sunday, April 23, 2017

RBTLIB v0.3 Update (Part 1)

In RBTLIB - A Client-Side Library for Review Board, I introduced RBTLIB v0.1. I'm working on RBTLIB v0.3. A big change between the first and third revision is the introduction of classes for Review Board resources.

Why this change? RBTLIB v0.3 introduces support for operations using HTTP POST. These require the client to authenticate. This means managing user credentials and the introduction of session support for POST requests.

After some experimentation I discovered that it's possible to query a Review Board instance using the simple implementation up to RBTLIB v0.2. If your Review Board instance supports anonymous access you can write a simple client to query it.

That's important as the original use case for my project was a client to report on reviews entered during a fixed time period -- something that RBTLIB v0.2 does easily. RBTLIB v0.3 exceeds my original requirement and the implementation is more complex as a result.

One more note about RBTLIB v0.2: the resource links getter is set up so that you can't provide URL parameters to the Root resource. This prevents providing parameters to the Root resource in the event that the Review Board Web API is changed to support this.

Monday, April 17, 2017

How To Keep Your Best Programmers

How To Keep Your Best Programmers provides an interesting perspective on why talent stays (or leaves) an organization. It's worth a read, simply because of the wide perspective provided with the references.

In my opinion, the primary reason people leave an organization is that value tends to decrease with time. Erik Dietrich captures this well in a quote that discusses the value apex. (This source for this quote is Up or Out: Solving the IT Turnover Crisis.)  

The value apex is a function of the ability to generate new ideas and the perception of others about those ideas. In simple terms, if your interest wanes good ideas dry up. If you get pigeon holed no one will listen anyway. It is a question of managing diminishing returns. 

The interesting question arises following realization you've joined an organization where value convergence is the norm. That organization is dead. It just doesn't know it yet. The obvious symptom of value convergence is an organization where nothing is written down. People seek to create the perception of value by putting themselves in positions of power by virtue of the knowledge they hoard.

My take on the meritocracy inversion is that IT organization should be flat. This avoids seniority based heirarchies and permits the creation of a system of renumeration based upon merit and the solutions produced. A flat organization fleshes out the senior loafers and the capable junior people.