Statistics
Visits: 105082
Page Visits: 139154
Active visitors (monthly): 5364
Feed Count: 45
Most visited page: Adding value as a technical analyst
Archive : Jul 2010

Advice to big managers

We had a workshop of experts in the coolest place (tavern) in town. And we came with the following recommendations to all software companies operating out of India. For the benefit of the larger community, I am posting this here.

Career progression for developers

  1. Get rid of performance rating systems for developers
  2. Link pay-hike to promotions and inflation-rate and not performance
  3. Give behavioral feedbacks to developers on a continuous basis and record them for future reference
  4. Promotions should be based on required competencies and behavioral skills for a position
  5. Create special positions for knowledge experts – Technical, Domain, Process, Management for which behavioral skills are not important

How to treat employees

  1. Knowledge should be accumulated and shared across the organization
  2. Cool people are as important as hard-working people (Cool = convenient/balanced/Aware, Hard-working=Getting it done irrespective of obstacles)
  3. Do not give a share-holder attitude to technical employees
  4. Motivate employees by giving a fair pay and an interesting work environment
  5. Get trust-worthy employees, and if trust is breached, be prepared to fire
  6. Have flexible working hours or pay for overtime
  7. Identify talent or special skills with each individual and exploit it
  8. Set clear expectations on what is expected out of an employee

Working culture

  1. Be flexible with documentation and reporting
  2. Use transparent communication to make decisions
  3. Get buy-in from concerned people including developers for the decisions taken
  4. Allow complete freedom over what process will be followed, and follow it rigorously
  5. Have a clear strategy for measurement and analysis and use the right techniques
  6. Identify risks and issues and make handling risks as the most important part of execution
  7. Monitor and record product (not project) risks and issues in a place where it is easy to retrieve and confidential
  8. Any initiative should be justified with adequate benefit analysis

The role of senior management

  1. Eliminate bureaucracy or inaction or referring to company policies
  2. Create a learnable organization where employees can quickly learn something either in a structured or unstructured way
  3. The organization’s objective is more important than managing the perception or career
  4. Managers should enforce the desired process and culture in an organization
  5. Do some of the above cultural changes in the organization using experts
Permalink | 3 Comments | Leave your comment
 
Commented by Sam at 17-Aug-2010 09:56 AM
Hi sir, thanks for posting useful info. I am from india. I am learning .net Can u tel me which is high paying job in: web app, win app. ? also better job security? assume performance: upto the mark/good. Thanks in advance. Pls post to samuel431.net@hotmail.com
Commented by Mitendra at 20-Oct-2010 11:49 PM
Hey Vijay, Interesting points. All are so true and practicle. Dint know about this aspect of yours while you were with ABB. Keep it up. - Mitendra
Commented by Vijay at 24-Oct-2010 03:27 PM

Thanks Mitendra.

Lambda Expressions

A little known gem in C# is the lambda expression. Lambda expression is used to define function delegates. A function delegate is defined as:

public delegate TResult Func<T, TResult>(T arg);

In the above code, Func is a delegate which has a templated argument T and returns TResult.

Lambda expressions are used to define function delegates. For eg, the following code defines a Func delegate as lambda expression. Here, n >0 is a function that returns true if the integer n is positive.

Func<int, bool> Positive = n => n > 0;

Lambda expressions are used a lot in ASP.NET MVC.

Permalink | No Comments | Leave your comment