Search This Blog

Sunday, May 8, 2011

Hire focused people and not necessarily talented ones



Its a well established truth that a good employee can create fortunes for company and a bad employee can create nightmares if not checked in time. So, how does a good employee differentiates from a bad one. This question is very important for a startup as they have fewer resources to work on and cannot afford to experiment with people. Working on a startup and seeing it grow from couple of people to a healthy 50 person sum is quite a good experience to state it. Reading a blog on Why The New Guy Can’t Code by Jon Evans made me wonder if a proven programmer is all what company needs. So, how can fresher get opportunity until they have proven themselves worthy. This may not be possible for all as academics rarely allow extra time to focus on new technologies. Also, an independent programmer rarely works in a company. So, I seriously doubted its truth and feel tempted to write some of my own thoughts on hiring process.

A Common reason for frustration
In my one and half year experience in Nepalese software industry, I have seen various hiring techniques being applied. I have seen people getting hired that included both talented and less talented ones. Also, I have seen several people getting rejected that included 'dull' as well as talented people. But, my serious concern comes when I see people in work thats where is the real judgment about hiring process. Are we hiring right people? I see some people desperately at work. I also see some trying to pass time while delegating things as much as possible to other members on team. Its hard for management to know about each persons ability and contribution. This results in a biased review and thus creates frustration among employees. This simply lays foundation for a company's downfall.

Developing a software is nothing but writing a solution to a given problem. Solving a problem involves careful analysis on the part of problem solver. Experience may play role in it and so does talent. But, for me they are minimal. I have seen new technologies evolving with each based on a complete new principle. So, if you have vast knowledge of previous technology, it may not necessarily mean that it helps you to learn new technology. Suppose you are a Spring expert (configuration) and previously worked on a project involving it and now you are expected to work on a Rails project which is based on a completely different principle (convention) which you don't know and need to learn like any new fresher do. So, your experience rarely matters in Rails learning. You will need to have a new look at the problem as your knowledge might not help but rather create hindrance in learning (your faith on Spring will not easily let you accept benefits of convention over configuration). So, one has to forget previous knowledge and try acting like a new born baby which continuously focuses on new world, trying to learn as much as possible without the unnecessary pride of previous work.

Solving new problem requires being as focussed as
children without unnecessary pride of previous work
All one needs in order to work in a real project is a sense of learning without inertia. For this, one must have a constant focus. This does not require that the person has demonstrated exceptional skill in previous projects which we call talent or experience. Their current focus must be constant which easily gets reflected from person current actions, words and thought. Such person takes pride in work and does not thinks any extra work as load. A focused person easily learns any new technology and can be easily assimilated into any kind of project. Such person does not need to write list of language or skills in their Resume(i don't mean it, Just trying to add weight on my opinion).  A talented person may have demonstrated skills in previous technologies but if s/he lacks focus then its very hard for him/her to work. Such persons are bound to neglect work and try limiting responsibilities. I have seen many 'talented' guys (those who have done exceptionally well previously) wasting time chatting with girls or play game or even smoke all day just to wait when the clock ticks 6:00 pm and same goes for girls (though they are rare species in development world) too. Some even stay late night virtually doing nothing but just trying to show off their work for easy review. Such people are real nightmares of company and are bound to destroy company's fortune and must be fired.

Harsh reality of corporate world: Focussed employee enjoy
only work while others in team enjoy raise, early home, praise
Now lets go back to hiring phase where everything is new. There may be a long list of people to choose from. For people on hiring section, I advise taking problem solving ability as important factors over what the person has achieved or known in the past. The experience may not be a useful factor but rather his/her perception towards them. Every fresher may have some experience that may not necessarily be programming. But take their view towards them into account. How focused they were while doing it, how they tried applying new methods in it including electing right method for their problem and how they failed and how they consoled themselves over continually striving for it and finally how they achieved the goal. It may not be a programming problem but as odd as managing annual fest in college. But, this same ability to view things will be helpful later on when tackling real world programming problems in company. This ability towards problem solving is real treasure of any person which must be respected and grown by the company. This requires companies giving some time to work with them where person gets sometime for learning and show their focus on work which is more important than what is in their resume. Perhaps, the way of hiring as described in How Effective Are Technical Interviews? as a conclusion will help.  

Share/Bookmark
Comments
2 Comments

2 comments:

amit said...

read you blog..i absolutely agree with you i think its the main problem in most of the compaies.. not just only in Nepal.. however i would like to contradict one thing...ya a experience people in spring may have hard time in rail projects...but still once he starts getting in rails then we can see the difference between beginner and experience...things like code quality, problem solving capability etc etc .. comes with the experience [ofcourse provided that that experience person is a focused person not a kaam choor ;-)]

Sumit Shrestha said...

hehe... you are right.. i am not opposing talented or experienced people but those who think themselves boss after having done something is past and neglecting current situations... technology is evolving thing and one who remains in touch with it should gain