The book, “The Professional” by Subroto Bagchi, which I read recently is the inspiration for this article. His simple concept of identifying two key traits/qualities of the professional – ability to work unsupervised and ability to certify the completion of one’s work – really struck me! While I recommend everyone to read this book, I would like to summarize these two traits in this short article.Ability to Work Unsupervised
Being in the IT domain, we are all knowledge workers. We are bound to carry out our responsibilities in a professional manner. Handling the task without out any supervision may include different levels as per the nature of the task.
In most of the instances, the task scenario will be:
- The definition of the goals and clarity of the tasks needs to be performed.
- The process should be followed.
- The knowledge/skill needed may not be clearly bounded.
Wherein, a successful professional handles it efficiently.
- They identify the elements in detail.
- Agree/convince these elements with their managers/supervisors.
- Work towards the goal.
Whether the manager is around (Supervised) or not (Unsupervised), technical suaveness alone is not good enough in IT industry. Even if technical knowledge is a key ingredient in the recipe for success, working unsupervised, accomplishing the goals and objectives, and communicating the status become equally important. I want to expand this concept to include “communicating the dependencies on others” to accomplish one’s tasks. It does not matter whether the supervisor asks for it or not. This dependency communication includes communication with colleagues as well as clients.
Ability to Certify the Completion of One’s Work
How do I know when I am done? This is the hardest challenge we have in our industry. Upfront agreement with the client (whoever is the client – can be your team lead, your manager, your peer or our end client) on what we are going to deliver, reduces the risk of any confusion later on. This agreement must include when, how, and what benchmarks/measurements to use to demonstrate that something is complete.
If I am producing a document, it should contain all that I set out to do; it should be in a suitable format, without grammatical errors etc. If I am writing code, it should be tested and must be functional; working should be evidenced (at the lowest level, what is called as unit testing). If the client’s expectation is that the code is to be deployed in a particular environment, then our work is not complete till we do the development, unit-test, functional-test, packaging and deployment, and a quick sniff test in the expected environment. All of these steps should be clearly communicated to the client on-time in clear terms. Only then we can certify that our work as complete.