Saturday 4 July 2020

Blog Post #117: Pair programming through a pair of numbers!

In IT parlance, paired programming has gained more traction over the last few years and has proved useful on many occasions as it has some of the following benefits

- Each individual has an eye on the code written by the other all the time
- Each individual acts a gate for the other as far as quality checks is concerned
- For the program to succeed, both need to deliver and hence there is always the focus to get things right
- Need for an independent peer review is reduced given there is always an additional pair of eye looking into this during development

Here's an analogy using numbers on how number pairs exhibit similar pattern/characteristics!

Let's look at the number pair 169 and 196 (programmers/developers in IT parlance) and see what we immediately observe and what is not so apparent

- 169 and 196 are both perfect squares of numbers adjacent to each other - 13 and 14. Imagine 13 and 14 as interns/trainees who mature as an experienced programmer in few years (their perfect squares!)

- Though 169 is odd and 196 is even, they both are anagrams of each other and like 2 programmers pairing with each other they bring in different skillsets but exhibit few things in common!

- Now let's assume the programmers add a new skill to their repertoire as they gain more experience. Drawing analogy to numbers, let's insert the number 3 in both 169 and 196 as follows - 1369 and 1936.  The resultant number is a larger 4 digit number (more experienced programmer) and more importantly retains the fundamental characteristic - Yes... Both of them are still perfect squares of 37 and 44 respectively

- We saw 13 and 14 were the square-roots or "intern equivalent" of 169 and 196. 13 + 14 would give us 27 or 3 ^ 3. Similarly the more experienced 37 and 44 (square-root of 1369 and 1936) add up to 81 or 3 ^ 4

-  On similar lines, inserting 2 and juggling around with the digits of 169 and 196, gives us few other perfect squares and cubes - 1296, 2916, 9216, 9261! This indicates that the more skill that the programmers acquire the more versatile they become

- When we concatenate 169 and 961, we would get a palindrome no doubt which is 169961 but more interestingly 169961 is a product of 11 and 15451 which are both palindromes. The more solid the programmer pair is the greater they can achieve by breaking down the work in smaller parts

Last but not the least - a 12 month cycle is typically when every individual is evaluated for performance in their org but nothing works better than two or more individuals coming together and deliver towards an organizational goal! Here you go..

169 + 196 results in 365 which is one full year in terms of number of days and with an addition of number 1 (which is also a perfect square) it becomes a leap year - Empower and enable the programmers so that they combine and deliver as per the larger organization goal and with that little additional help/push even exceptions can be handled (See number 1 as the manager/boss who removes impediment by adding value)