Category Archives: Team Management

Yin and Yang in organization

Have you heard about terms called Yin and Yan? In Chinese philosophy, yin and yang describe two halves that together complete wholeness. “Yin” & “Yang” is the concept of duality forming a whole. We encounter examples of Yin and Yang every day. As examples: night (Yin) and day (Yang), female (Yin) and male (Yang).

From the organization perspective, Yin can be aligned to the softer side of the organization. It means:-
• How leadership is communicating with employees, and enabling employees to communicate with each other.
• How your organization is taking care of the employees.
• How your organization understands employees problem, and offer help in resolving them.
• How managers and leadership recognize employee efforts and reward them.
• How organization identifies employee skills, strength and enables them to be more competent.

Yang can be aligned to execution side of the organization. It means:-
• How you can align organizational goals with employee day to day work and help them perform better.
• How you can priorities employees day to day work to help the organization achieve its long-term mission and vision.
• How you can enable managers to understand and manage their team members in a better way.
• How you can enable employees to work as better team members and
• How you can bring the sense of purpose to employees in the organization.

Focusing on “Yin” will enable your workforce get clarity on leadership thought process and style of working. Leader who focused on the “Yin” were manage to transform their organization. HCL is one of the largest IT/ITES service provides from India. At one stage HCL was struggling was missing required revenue targets. Then Vineet Nayar, CEO of organization shifted focus from customers to employees. He started connecting with employees at various levels, started listing to their ideas and problem, enabled and pushed senior leadership to listen to their tem member. From a time where HCL was lagging behind from competitors in 2000 to 2005, Vineet transformed HCL with a 35% growth in revenue per employee and a sector-leading 25% compound annual growth rate (CAGR) through the 2008 to 2010 recession.

Focusing on “Yang” will help your organization achieve required operational excellence. Your employees should have crystal clear agenda on “items to work on” when they are coming to office in the morning. They should know how their day to day work impacts organization at larger. And as leader, you have to enable your execution managers to facilitate this agenda to your workforce. And make manager accountable for lack or delay in execution. The minute your employee don’t see impact of their work or your managers see lack to willingness in leadership to enable them to facilitate execution, they will leave.
Now sit for a while and think is your organization “Yin” or “Yang” focused? Or you are struggling to find which side of Chinese philosophy you are taking care right now. Let’ analyze this in more detail by plot a graph with “Yin” and “Yang”:-

 

pic for blog

As an organization, if you focus more on “Yin” and less on “Yang”, you end up creating a workforce which is motivated but directionless. If you focus more on “Yang” and less on “Yin”, you end up creating a workforce who knows what and how to execute but are not motivated enough for the same. Taking care of “Yin” and “Yang” can help the leadership of organization achieve wholeness in employee engagement.

Are you a good or bad programmer?

This is the mail I have shared internally with product engineers working on the product.  But later though of sharing it with larger audience.

Hey Team,

Though we are working hard on product and trying to meet timelines, I thought of sharing what are expected from you guys as product engineers in Qilo/Qlique. But rather then verbally telling you every day what needs to be done, I thought of sharing it with you through this mail.

Why its required:- because we should not do same mistakes which we had done in last 45 days.

Attributes of Good Programmer

1)      Their first priority is to understand what needs to be done from business perspective. And try to visualize and understand all business cases before starting with coding.

2)      They declare variable names, function name, file name which are meaning full. They avoid declaring variable with name “i” or ”j”.

3)      They prefer code re-usability.

4)      They write optimized code. Every server side API written should give results in less than 1 second. Every UI page should be rendered in max 3 seconds.

5)      They Unit test code properly before confirming to manager that functionality is done from their side.

6)      They are focused on writing code which other programmer can understand.

7)      They communicate and discuss with fellow programmers before updating their code.

8)      They are always focused on learning new ways of writing better code. They read a lot on software architectures, blogs of successful programmers. They remember which code of their was written poorly or needs improvement and do required improvements.

9)      When functionality/code they have worked on is NOT working, they do NOT blame fellow team-mates or say it’s working on my local environment.

10)   They are always focused on how they can improve their productivity. Which tools can help them in achieving that or at what time of day they are productive? Remember, coding need a lot of focus.

Attributes of Bad Programmer

  1. They write code which needs rework again and again to achieve the desired functionality.
  2. They DO NOT unit test the code properly.
  3. They write code which takes minutes to load UI page or API to respond.
  4. They don’t think while writing code that what will happen when my code will be used by 10 thousand, 1 lakh or 5 lakh people.
  5. They write same lines of code in every file. I mean they duplicate code.
  6. They keep thinking about how to achieving the functionality rather than just getting their hand dirty with coding.
  7. They expect some 100 page document on required before starting with coding. Waterfall model days of development are over. Product needs to be shipped fast to customers.
  8. They are not good team players. By this I mean they don’t talk before editing code of fellow programmers. They avoid talking to manager about the problems they face. They want to solve all complex problems on their own rather then discussing and taking help from fellow team-mate.
  9. They give estimates on new feature or enhancement without properly understanding how it will be achieved or in what shape current code is.
  10. They become arrogant and egoistic once they master one skill/programming language. They start believing that organization or company is running because of code they have written. They stop learning.

Cheers,