Repetition in youth.
That song was awesome! Play it again. Rewind-stop-play-rewind-stop-play-forward-play, call the radio station for a request, press repeat. These actions are all part of my memory as a youth. Back in the days when I spent a fair amount of my income on cassette tapes and CDs. It was that song. It was my favorite song. It was our special song. It represented something of value in mood, a feeling, a lyric, or a sound. Whatever the case when I found it, I wanted to do it again. Play it again and again.
Repetition in business.
The year has changed. My daily routines have changed. My friends have changed. But one thing that is still there is an attraction to repeat what works in business. Play it again! When a project or implementation goes well we talk about “lessons learned”. Sure we record the bad, but we also record what went right. Then we try to do it again. We want to replicate the secret formula for the same good results.
But software projects are all different. The requirements change. The people may change. The customer may change. Repeating success is not as easy as hitting rewind-stop-play. We could different results holding all but one of those variables the same.
Magic in the interpretation.
Two musicians will play the same song differently. It’s their interpretation, their emphasis, and their feeling. Software programming can be the same way. Two different programmers will create distinctly different programs that accomplish the same goal. The results may be visible in the UI or noticed by different workflows and program speed. It’s all part of their interpretation and skill.
Programmers “play it again” when they establish repeatable processes and procedures. It’s the software development life cycle (SDLC). Strictness to process is encouraged, but the real magic happens when the programmer is allowed to interpret , feel, and create on the edges.
So yes, play it again in business and software development. But play with feeling. Play from the heart. Find that unique rhythm. Create a one of a kind. Stop-rewind-play.
“We are recruiting him as an athlete” is a statement that football fans often read. It means the football coach wants a player on the team not because he is skilled at any-one position, but because he is talented enough to play a variety of positions. This type of athlete has a core base of athleticism that makes it possible for him to be successful at a variety of positions. But what the coach may not know,until after assessing a player more thoroughly, is if the player has the head knowledge to play a specific position. Do they understand the role within the team? Do they understand how to make reads on the opposing team’s formation? Do they understand where to go on the field and when?
The athlete in academia.
When I entered Georgia Tech as a freshman computer science student I remember an academic advisor telling my mother and I that they intended to teach the fundamental concepts of programming and not any particular language or technology. The school was treating all of the students as what I’ll call “technology athletes”. The academic recruiting process was built around the admissions requirements of the school. The College of Computing course of study was not geared to make specialists in one particular language or technology platform. The curriculum was more setup to teach computing concepts that were common to all technology specializations so that these same concepts could be used to apply to solutions form a variety of business problems. The advisor told us that learning a specific skill, such as a programming language, was really only possible if you understood the underlying principles and concepts of programming.
The athlete in business.
Over 20 years removed from that experience and now leading a technology group, I see the wisdom in the advisor’s statements. Programmers, analysts, and networking engineers are successful when they can adapt and translate their core skills to a variety of technology platforms. If they understand how a specific technology solves business problems, they can apply those skills to other technologies.
An organization most values technology employees that have the capacity to learn the inner workings of the business. It’s things like production process flows, order to cash processes, and customer pricing models. Technical skills and knowledge can be added by attending a class or reading a book. Then practice and apply. But business skills and knowledge of a business process are added through experience. I’m not degrading the value of the technology skills because they are most often the prerequisite to getting a job.
Learning the technology is often the easy part.
Some would argue that we live in a world of specialists. Particularly in the technology world we may hire a specialist to work a contract for a period of time. “Guns for hire” is an expression I hear. But I believe that the team members with the longest reaching value to the organization are those that acquire the institutional knowledge and then apply that to a variety of technologies. They are the technology athletes and they “make a play” when it’s 3rd and 10 and you need a way to make the first down. It’s the technology athletes that have flexibility and longevity in their career. They know their role on the technology team and understand the business. They are worth recruiting.
Everyday programmers go to work to create new shiny custom pieces of work that have the bling and entertainment value to satisfy consumer’s digital appetites. The objective is to turn the bling into dollars. In some circles I’ve heard it referred to as creating the “sexy stuff” while playing with the latest and greatest programming tools and techniques.
There are also programmers that go to work everyday to solve problems for what I call the plumbing and work flow areas of the business. This is the non-sexy stuff. Yet it’s the essential stuff. This is the programming that automates business process, eliminates manual workflow, and connects disparate systems so they can trade information.
Some of these programmers work on computing platforms with computing languages originally developed over 30 years ago. These are the programmers that wade through years-and-years worth of business rules and customizations to determine how to put in another piece of logic. They don’t work with fancy GUIs or create mobile applications. You’re more likely to see them moving and transforming orders, invoices, reports, and purchase orders from one place to another.
Did someone say that working on the programming that moves millions of transactions through a system and across systems is boring and outdated? There’ s no bling I’ll admit. But there is cha-ching. It’s the work of turning bits and bytes into pennies and dollars.
The next time you see a programmer that does this for your business tell them thank-you. If you are that programmer then smile and give yourself a pat on the back.