Wednesday, August 31, 2011

Hiring decisions and HRM for Software Developers

           There was a time when hiring was thought to be so simple task unlike today. But actually it is really a simple thing. If you think in such simple way. When I was younger, I thought that a good guy can learn new things with his honest hard work while a person who is not honest with some thing , is not useful no matter how much he is intelligent. But with the increasing demand of variety of IT professional skills that a layman can't adopt in a day or two. So at the time when many people are looking for jobs, at the same time HR managers are also looking for human resources but it is difficult to find right person.  I am actually talking about IT industry.
     
          Due to above reasons, many of our HR managers and company owners have to take tough decisions. And I would like to mention that many of HR managers and company owners are not IT people. However it is important to note that there are still even after understanding all these things , we still faces many difficulties while finding and managing human resources specially when it comes to remotely managing your resources. Yes it is not all about just finding good people, it is also about managing them correctly. One of the problem is the fast job switching of good developers. But, good developers/employees are not only responsible for their fast job switching. There are many management's decisions that actually make their job switching happen. Due to some wrong attitude of some owners, most of employees don't trust their employers now. So overall, the work of HR managers specially in IT industry have become more tough.

         I was some time ago (not much time ago) managing remote developers, and then in some projects, I have to face really tough situation when developers were not doing their work properly. And at the end, I paid to developers for their incomplete work and due to delay in work delivery , it became also financially a bit bad time, however as I am also a developer so I quickly jumped into development of that work and solely did the rest of work to avoid losing a good client and worse situation. Overall that situation and some of solutions can be seen here: http://programmers.stackexchange.com/questions/97660/what-recommendations-can-you-give-in-managing-a-team-of-remote-software-engineers

         So the solution, I got from these replies is that every skill person who is good at work and office isn't essentially fit for remote work also because in that situation there is also a skill required that is "time management" and it is important as other skills are.

         So what about deciding if a candidate is a good match to be hired or not? If we will try to become over smart or greedy then obviously that will be bad for hiring decisions. No doubt, we all want people who can make our team better than before but at the same time never think that all other people should be best as you are, because there are many people who can perform well but can't be smarter than you. And it is because for judging this in interview, you are asking him the things that you know, may be there are also things that he know and you don't but unknown to you because you are interviewer not him.

     However as I once read from blog(s) of Joel and/or I think Jeff (both stackoverflow CEO and CTO respectively) , that you shouldn't hire the people that you say may be he is good for us. You should only hire people, about which you say yes, this is good fit for us. Because if miss some good person then may you don't go one step up but if you will hire some wrong person then most probably due to consumption of resources as well as most important thing, time of your important people can be wasted on that wrong person so in that case you can obviously go one or more step down.

     That was all about hiring decisions but if you are interested in interviewing techniques, then these some blog posts are interesting: http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html
However I would also like to add some thing that I learn after reading from Joel's blog post, is that during interview you should ask him questions in normal way like you assign tasks, because if developer can't understand things easily then it can be problematic to clarify things while doing actual job.

  So these are just some of my opinions about hiring decisions and HRM for software developers on the base of some of my knowledge and experience. I would also like to hear your words, so you can tell your opinions in comments to this article.

thanks for reading and giving your time.

Monday, August 29, 2011

Core technologies and technologies like FB. apps, FBML e.t.c.

In the name of ALLAH

Salaam and hi guys,
          When I first time worked on Facebook application development in FBML and FBJS environment, I really missed JQuery effects like show, hide, toggle and other JQuery plugins. But now I was glad to know that there is FBJS animation library which helped me a lot to work on Facebook with simple FBJS.  FBJS Animation library does not give some hide, show like functions but it gives me the way to do CSS tweening. I can manipulate it to anything that I can do with CSS tweening. If I was publishing this article some months back, I was going to write a small tutorial on it.  But after some months of learning that , it is ended. I mean now no FBJS is in demand. In fact, now FBML that was hot some time a ago is now depreciated.

    There were some people who spent much of there time on learning FBML, FBJS and such things but now those skills are not required. Even now in months or weeks or may be in days, FB APIs are changing , many things are depreciating fast and many of functions don't work as they are expected to. If a developer start developing an app., he came to know that one API and working way was old so he started with new SDK e.t.c.  and with new methods. So if after a month or two, he again start another app. then while using that new SDK he came to know that , it is now old SDK and some of methods he is using are now depreciating and now for finding new methods he have to again search the whole documentation and while doing this many time  when he tried to find way to do some thing in one page of documentation, he came to another page and learn that this is again depreciated or older SDKs method while he is using newer. So a developer is so confuse in whole this badly documented APIs and SDKs of Facebook. :( .

    Overall , the agencies who work on FB. apps., some time can have a good market because it is ever changing and a sort of unique skills that not every agencies can have as it is changing so fast. But I want to raise a point here, Is this good and favorable for developers also? There were many of developers who worked for a long time on FBML and FBJS and faced the above problems. And just imagine wasn't it a bad news for them that "FBML and FBJS skills are now not in demand any more. Now iframe based apps. are required".  So should developers still work on such technologies and should rely on them? I think learning and working on such technologies are always fine but one shouldn't rely on these skills and shouldn't take it as a technology on which (s)he can rely, as these things are changing in weeks and months.

  There is also a group of people who think that nothing in IT is evergreen , even full fledged technologies  and programming languages are not permanent. Every things is being replaced. One should only know how to learn. I think learning skills are more important but if you will learn more about Core Concepts and Core Technologies then you can even learn more better.
         If you know how to write a server or client without using any  high level lib. then it will make one's concept better and after once doing that he will be able to write server in any language better and will be able to use any lib. If one can develop a CMS in simple PHP then he will be better able to understand other's CMS and other's written Frameworks also with better understanding.
         So that's why I prefer to start young developers with Core level things some times (depends upon situation and developers), as it is also good for them. There are many web developers who start working from Joomla or WP or FB. apps. or some sort of design intergration but I recommend them to also look into Core things that how these things work, because in fact (after ALLAH Almighty's will and problem solving skills e.t.c.) these will make your foundations strong. High level things like FB apps.,  WP, Drupal  and Joomla e.t.c. can increase your chance to once get a better job for you but not job safety that you can have if your foundations are strong. Strong foundations increase the chance that whether you start from a small job but you will most probably go up.

  Above is how I think , I want to know that how you guys think, so please comment.

thanks,
Hafiz
     

Saturday, July 30, 2011

Azad Poetry (in Urdu)

Rah takta hoon teri main
Rah ki apnie khabar nahi hai

qadam jo rakhta hoon main yehan par
yehan ki bhi tou samajh nahi hai

kahan main jaaon is duniyan mein
is ki bhi tou koi samajh nahi hai

par ik aas hai teri o Rabba
bin tere jehan mein kuch bhi nahi hai

yeh duniya mein jo sach hota hai
har sach bhi yeh sach nahi hai

ik tujh ko hi har sach ki khabar hai
bin tere kisi ko khabar nahi hai


so Rah takta hoon teri main
apni Rah ki mujhko khabar nahi hai

kehti hai mujho Hafiz yeh duniya
bin tere koi Hafiz nahi hai

jitni hai mujh peh ataaon ki baarish 
itni meri auqat nahi hai

Rah takta hoon teri main
rah ki mujhko khabar nahi hai

Friday, May 20, 2011

Our love for parents and our double standards

Salam every one,

    We all say , we love our parents , we love our parents because they brought us to this level. Sorry, I said some thing wrong. Not all but most of us says we love our parents. But do we really love them? Here love means the likeness, emotions, care as for our own selves, our kids. Here I said our own selves because yes we are mostly selfish.  When we show respect to our parents, then do we ever think that it is what they deserved but mostly we do this because it make us good. We respect them saying if we will take care of them then one day our kids will take care of us. Correct, but isn't it again more selfishness , we are actually again thinking for ourselves. Can't we think that this is their right, this is what my duty is, this is what they deserve? this is what that gives me happiness and mind peace? Because these are the people who give me all that what they can?  No doubt it is for all those parents who give their kids the most important thing, the right teachings and education because this is all belongs to humanity.
   
    We all our humans then why we forget that every humans deserve love, care . Why we forget that if some thing is bad for our family then this is bad for others. May be because we  choose double standards.  So these double standards enters in the lives of  children. They start choosing double standards. And one day these kids grow and start choosing double standards in friendship, justice and then one day double standards for love for their parents.

   We don't like if some one say a single word to our parents while we even do much bad with them. We fight with others for our parents whether it is our own parents fault but on the other hand we misbehave much more with our parents whether it is our own fault. We can fight for them but can't take care of them. We prefer them over justice but not over our will. In fact, fighting with others, saying lies for some one is easy than really caring them and true emotions. It is because we actually fight for our respect we lie for ourselves not them. When at childhood we go on wrong path, they took us on right path then why we can't take them to right way. We move with them on wrong way saying them right but don't obey them when they are against our will whether they are right. So  we again choose double standards.
   So where these double standards come from?  From our own lives , from our selves. Why we try to found some thing on our own and when we find it in Islam we don't care of it , if we take care of it we go far away from equality while Islam is the religion which gave the solution of many problem and most of the time it gave the solution in truth,equality and justice. In fact, equality is the thing that can remove double standards and you will know how to live, how to think and how to love even with your parents.

    Keep equality , avoid discriminations to  avoid differences/ misunderstanding in hearts (translation of  Hadeeth Pak of Prophet Muhammad (S.A.) , please provide better translation if you can )

Tuesday, March 22, 2011

Project manager/Employer sad on losing a good developer


Can a Project manager or Employer say express his feeling in better way that this azad poem?
tou jao jeelo zindagi apni

hum hi tou gham detay hain
dilon ko tor detay hain
aur moonh ko mor letay hain
tou jao jeelo zindagi apni

hamare dil ke goshay mein
sirf nafrat hi tou hoti hai
hamaray chup honay mein
khata hamari hi hoti hai
gar bolein kuch bhi hum tou
rishtay hum tor detay hain
hum hi tou chor jatay hain
tou jao jeelo zindagi apni

kisi ko yaad rakhnay ki
humein fursat nahi hoti
hum apna kaam kartey hain
sabhi ko bhool jatey hain
hum hi nafrat barhatay hain
hum hi tou aag lagatay hain
tou jao jeelo zindagi apni

jehan hum haq jitatay hain
wehan se thokar khatay hain
jehan hum sar jhukatay hain
wehan nafrat jagatay hain
hum hi sab ko rulatay hain
tou jao jeelo zindagi apni

magr waqt woh bhi ayega
jab tu meri jaa peh ayega
yeh baat tum bhi bolo gay
keh gham hum hi tou detay hain
hum hi sab ko rulatay hain
tou jao jeelo zindagi apni

hamaray saath honey se
sabhi humrahi kho do gay
hum hi qurbat mitatay hain
hum hi tou chor jatay hain
tou jao jeelo zindagi apni

jaisay client kehta hai
hum waisay kaam kartay hain
hum hi timeline banatay hain
hum hi deadline detay hain
hum comitment tor detay hain?
tou jao jeelo zindagi apni