Real World Demo Applications

One of the recent projects I started on Github is NT – my own version of Thinkster’s Real World repos. The idea, much like the original idea, is to pick up a project topic and implement it in every language/framework i learn.

As a beginning, I have created the Web API using .Net 5 Preview with MongoDb as the database. The client is being currently developed under following platforms.

  • ReactJs
  • WPF

I also plan to the client implement with VueJs , Flutter/Dart and Xamarin in immediate future. Rest of the frameworks/languages would be added as and when I explore them. I am tempted to simultaneously implement the projects, rather than completing them sequentially due to personal reasons.

I am also making use of supporting frameworks like DocFx for documentations and Github Actions for CI/CD. The deployed documentation (generated with Docfx to begin with) would be deployed in Github Pages.

If you are interested in the project, please do follow it here in my Github.

Leaders and Eye Specialist

How do I define leadership or how would like myself to be seen as a leader in the future. These are some of the questions I often come across. To be honest, it is quite hard to answer it precisely, after all, each ‘act’ of leadership depends on various factors including what the circumstances/situation demands. But if I was to generalize my perspective of leadership, or how I would like to be known as, I might be tempted to say, “I would like to be known as an eye specialist, rather than being a painter”, if I am allowed to answer figuratively.

The essence of the answer is quite simple and is inspired from works of Victor Frankl. A painter attempts to convey his visions of the world via his pictures, which is often interpretation of how he sees it. This is different from role of an eye specialist, whose role is to ensure that we see the world as it is, but with a much clearer and broader field of vision.

If one was to analyse the concept a bit deeper, isn’t that supposed to be what leaders need to be, especially with today’s increasingly competitive and highly skilled workforce ? The skill level and technical awareness of the teams are usually pretty high, and role of leaders has evolved from a taskmaster to being a servant leader. The role of an eye specialist might be that would take the concept of servant leadership a step higher. He aims in bringing more clarity to the team’s perspective on various things, in addition to broadening the field of perspective. The highly qualified cross-functional teams are then self sufficient to make better use of what they sees depending on each individual members proficiency in their trade. This collective, yet expert level contribution, would (in most cases) be far more effective than leaders own vision as he may not be the top ranked expert in each of the skills required for the task. It also would encourage the team members to take ownership of their work, rather than following someone else direction.

This concept has often worked well for me, having had the good fortune of leading teams, most often with team members, who were way ahead of me, both in terms of skill and experience. There are of course situation when you might have to paint the picture yourself, no second thoughts on that, but by donning the role of an eye specialist, you are actually encouraging team members to find more meaning to their work, which is essential to them enjoying their vocation and bringing the best out of them.

Revamping Interview Strategies.

One of the things which bothers me with the current interview process relevant in most companies if the focus on measuring candidate’s capabilities on the basis of his knowledge of particular sub-technology. There might be wrong with this approach, but what if the Candidate is a strong programmer who unfortunately hadn’t got the opportunity to work on the particular technology/framework ?

Programming or analytical skills, according to me, is something which is heart and soul of a software programmer. He might or might not have worked in a particular technology, but that doesn’t mean he cann’t do good when given a chance. After all, none has worked in every technology under sun. What matters is his ability to solve a problem.

Recently I saw an article in Medium and was quite fascinated by the thought. What if ask something very familiar to candidate, but prompting him to think outside the box.

For example, counting the odd numbers in an array of integers or checking if a given day is weekday or weekend is something we would have done when we learn the first steps in programming. What if we ask the candidate to accomplish the same without any form of conditional operators ?

Now that would get his thought process reset. He would have think, which is more important than remembering something and answering. So, revisit your interview strategies and allow the candidate on put on his thinking cap on

Here is my 2 cents on accomplishing the above mentioned questions in C#

public int CountNonConditional(int[] Arr)
     var sum = 0;
     Array.ForEach(Arr, (x) => sum+= x % 2);
     return sum;
public bool IsWeekDayNonConditional(DayOfWeek Day)
     return Convert.ToBoolean(((int)Day % 6));

Private Transport to Personalized Transport

Living in an urban area and planning to take your car out to another corner of town on an evening? What would the first that cross your mind?

Where do I Park my car!!!

Quite honestly that’s what many of us think while taking out car these days. The urban landscape has changed so much over the recent years that even the parking space provided by malls are flooding.  Entering this scenario are two different, yet connected concepts which could change the way people look at transportation. 

The recent surge in investment and interest in the area of autonomous cars are surely gathering momentum. Players like Tesla and Alphabet are not leaving any stones unturned in their quest to rule the autonomous car market. Alphabet recently hired Tesla’s former head of hardware engineering to lead Waymo’s initiatives. It wouldn’t far when fully automated cars ply the public roads.

On other side of the coin are the initiatives by Companies such as Uber promoting online taxi service that never quite rests, on other words require a parking lot. They ply 24×7,literally living on road. Their large fleet of cars allows them to attend customer call within minutes.

Now if we were to step back a bit and wonder why many depend on personal transport over public transport, there are many possibilities we could think of.

First, the ability to reach doorstep of your destination, and second, need for private space which public transport doesn’t provide. Taxis and services like Uber provide solution to the former, but falls short ever so slightly on the latter. The stranger in this scenario would be the driver himself.

This is where autonomous cars can join in provide you a completely personalized transportation service. In fact, Uber on its part has already started investing on autonomous cars.

May be people might still want to use their private cars, but it does open up possibilities of a tomorrow that relies on driver-less personalized public transportation that doesn’t require your to scratch your head over parking.

360 Degree Evaluation

360 Degree Feedback/Review System is a much abused term in many companies these days. While many Organizations and Managers effectively use the ‘jargon’ on a day to day basis, it makes me wonder how many actually perform a complete 360 Degree Review System, particularly in Performance Appraisals.

Ideally, an effective 360 Degree Review System should include 6 major parties

  1. Senior Management
  2. Immediate Supervisor
  3. Peers
  4. Subordinates.
  5. Clients
  6. Self.

Together, this 6 parties provide a complete 360 Degree view of an employees performance. It is quite disheartening to see some of the companies that boosts of a 360 Degree Performance Review System, often, conveniently forgets some of the major links in the chain, including Peers and Subordinates, and while some might even forget taking Immediate Supervisors feedbacks. What it leads to is some of the better traits of employees gets unnoticed.

Instead, if the companies were to focus on all the 6 parties, there is whole lot they could achieve. There are certain traits or skills which is more visible to certain groups more than others and that’s what makes the 360 Degree Evaluation such an effective practice if done well.

For example, Peers are in better position than anyone else to access a coworker’s skills such as team work and communication. They also probably know more about the person’s knowledge due to day to day interaction at work. In fact, studies reveal that peers are more often than not excellent predictors of future performances.

On other hand, the immediate supervisor would be an effective observer for accessing a wide range of skills including Job Knowledge, Approach to work and Quality of work. This might not be as effectively observable for members of Senior Management, whose vision would be more on metrics such as On Time Delivery Index and Quality Metrics.

Similarly, a subordinate would be in the best position to review a supervisor’s leadership and mentoring skills. Most often than not, it is the supervisor’s management skills (or lack of it) which makes the team member either an active participator or pushes him to resign.

Studies also reveal that there is a direct relation between on for how long the reviewers know the person and the rating they give. It has been observed that if the reviewer knows the employee for 1-3 years, the probability of the rating is being more accurate is high. Whereas, the chances of favoritism or personal affection influencing the review increasing as the years go by. On other hand, a person whom the reviewer knows for less than an year would not be in a position to understand the skills correctly. In short, the reviewer should have known the employee long enough to go past first impression and not long enough to generalize favorably.

One of the points held against 360 Degree Evaluation is how the employee could manipulate the feedbacks and conflicting opinions creating doubts on the accuracy. However, if practiced well, a confidential 360 Degree Evaluation program with weighted rating according to role played by the reviewer in the cycle would work much better than any other system. The key to success lies to in the companies approaching the method as a tool for positive feedback, rather than an instrument to criticize the employee.

Remove Debug / Binaries from GitHub

I am pretty new to GitHub platform and one of the first mistakes I did earlier on was to commit (unknowingly) the Debug Folders and all its binaries. It was later on i found ways to add ‘gitignore’ files, but no matter what i did, the debug files continued to be reflected in the change list.

The solution was though easy one, I had to run the following command to clear the Git Cache, and then stage-commit again. That cleans up all the mess.

git rm -r . --cached

Carrot and Stick – An Avoidable Curse

“You need to put pressure on the team members, keep them on edge of their seat. Only then they will deliver to their full potential” 

I was startled to hear those words from my Supervisor. It was in complete contradiction to the school of thoughts I believed in. Coming from a senior member in the side, it was quite hard to believe that such old habits hadn’t died a natural death.

I have been a huge fan of “The Drive” by Daniel Pink and the discussion I would like to unfold in this article is inspired by the same.

Carrot and Stick, or the philosophy my Supervisor believed in revolves around a simple theory – as an employee, if you worked extremely hard, you get bonus or incentives, otherwise, there is a pink slip waiting for you at the desk the next day. It is a good concept in theory and works pretty well for problems that are mechanical or algorithmic in nature and require to accomplish a predefined number of steps to resolve it. However, the moment the tasks turn into one that require cognitive skills, creativity and decision making, Carrot and Stick falls flat on face.

Consider the example of a Pizza Delivery boy. If his manager were to give him incentives based on the number of Pizza he is able to deliver, it would definitely push him to do better. Or for a Call Center Support, the incentives pr pressure associated with ‘Number of Calls’ can be a driving factor. Such kind of external motivation factors can work in this scenario as there is hardly any creativity involved to crush.

But if the same external motivation is applied to an artist, over a period of time, carrot and sticks could achieve exactly opposite. The external factors would drive the artist to think of his canvas as a task rather than a chance to showcase his mastery, thereby pushing him to shortcuts, compromises on quality of his work and making his passion mundane.  His intrinsic motivation would decline over time, diminishing his creativity and quality.

This applies to field of Software Development as well, which to me, is a craft rather than an algorithmic job. If the focus is on quantity than on quality, it wouldn’t need Nostradamus to predict where the Software is heading to. Unwanted pressure and avoidable performance measurement metrics could lead to Employee frustrations , low performance and eventual high attrition rates.

One might ask – Can intrinsic motivation make such a huge impact ? One of the finest example of people working for passion is Wikipedia. Way back in late nineties, Microsoft started the initiative of bring up the digital encyclopedia. They had engaged the best of minds, specialists from all the domains but the initiative couldn’t get anywhere near the success which a group of unrelated, unpaid volunteers managed to do with Wikipedia. What drove them was their passion for mastering their skills without someone chaining their intrinsic technical eagerness.

That doesn’t mean monetary benefits aren’t important, especially in an organization. If the employee isn’t paid well, his focus would be on unfairness of the situation rather the task he is supposed to accomplish. But once we are passed that threshold, it is the intrinsic motivation that has to encouraged.

Quite sadly, that is something which some organizations and managers do not still appreciate or acknowledge. However, if they were to still stick to old schools of thoughts, it might not be far, before they find themselves in their own “well dug” graves. It is high time the managers discard pursuit for statically measuring performance and considering factors such as “facetime” as the de-facto measurement of commitment and productivity. Such metrics along with approaches like Carrot and Sticks could only breed employee frustrations and low performances.

Instead, they should focus on fostering 3 important factors,Autonomy, Mastery and Purpose, which could bring the best out of the employees by instilling confidence and responsibility in them. It makes them feel valued, take ownership of their work and encourages them to perform better.

The role of Scrum Master in a Scrum is many ways the ideal leadership methodology in today’s high pressure competitive world. As a Manager, it is your responsibility to hire the best for job, but once your hire them, trust them completely. From that point, your duty is to server as the “servant leader” of the group, removing the impediments (technical,non-technical) that the team faces, and ensure that they are in right spirits when at their desk, so that they would deliver the best for you. 

Hello world!

Hello Readers.

A short intro of myself. Am writing codes for bread since 2005, focusing mainly on .Net and related tecahnologies. I have some experience into process side of development, being in the Process Group for CMMI appraisals and know a bit about the nuisances of Process Areas up to Level 3.

My primary hobby is Photography.