La coupure ressources humaines

Les recruteurs en Informatique comprennent-ils bien ce que les candidats ont à offrir?  Il me semble que les postes disponibles demandent une quantité surprenante de qualifications et d’expérience, tandis que les gens en charge de remplir les postes ignorent comment répondre au besoin. Par exemple, il n’est pas rare de rencontrer un recruteur qui ne connaît que les acronymes liés au domaine de l’informatique sans savoir ce qu’ils signifient ou comment ils sont liés.  Si on est un expert du J2EE, n’est-on pas aussi un expert du Java?  Un expert Scrum ou eXtreme ne connaît il pas nécessairement une méthode Agile?

Quelle est la quantité de pratique nécessaire pour dire que l’on connaît un langage de programmation?  Avec un bacc. en Informatique et une connaissance d’un éventail de langages de programmations, faut-il vraiment 2 ans dans une technologie spécifique pour être utile?  Pourtant à ce niveau, il n’est pas nécessaire de passer des semaines à apprendre une nouvelle technologie avant de pouvoir contribuer à un projet. Par exemple il est parfaitement possible  de débugger sans connaître tous les détails du langage utilisé. Ce qui est long à apprendre sont les librairies de fonctions.  Un nouvel employé doit apprendre l’architecture et les fonctions du logiciel produit, qu’il connaisse cette technologie à fonds ou non.  Les études sur le temps d’adaptation datent d’une époque ou les logiciels étaient bien moins complexes; je ne dis pas que ce temps n’as plus d’importance, mais qu’au contraire une expérience sur un projet différent ne garantit pas que cela prendra moins de temps pour réaliser le nouveau projet.

Pourquoi alors perdre un temps précieux a chercher un spécialiste au niveau d’expérience presque introuvable quand le candidat moyen peut être efficace en moins de temps?

Est-ce parce que les gens des ressources humaines ont, en général, une formation autre que l’informatique?  Lorsque j’ai rencontré récemment une experte en recrutement, elle m’as dit qu’un peu d’expérience en Informatique peut transformer le chasseur de têtes moyen en directeur du recrutement.

Est-ce que c’est parce que l’on cherche à remplir des postes avec l’expertise d’un employé qui quitte?  Pourtant si il quitte, c’est probablement parce qu’il a développé une expertise trop avancée pour le poste en question. De plus les experts sur place ont tout à gagner de faire ‘mousser’ leur offre en augmentant la difficulté de recruter de nouvelles personnes.

Je peux mentionner le cas d’une firme de consultants qui ne peut plus remplir ses mandats car ils ne recherchent que des experts en J2EE.  Les recruteurs m’ont expliqués que cette expertise était nécessaire pour montrer à leur clients qu’ils n’engagent que des consultants efficaces.  Du même souffle ces recruteurs me disent que le salaire minimum chez eux est de 100,000$.  Tout ça sans pouvoir m’expliquer pourquoi la necessité d’utiliser J2EE ou par quelle méthode ils peuvent différencier efficacement l’expertise d’un candidat qui a 2 ans de celle d’un candidat qui en a 10,  sauf par une entrevue avec le directeur technique.  Il est clair que cette entreprise ne fait pas des pieds et des mains afin d’offrir une formation continue à ses experts déjà en place…

Comment ne pas croire que les entreprises qui suivent ce modèle ne se tirent pas dans le pied à plus long terme?  Pourquoi ce désir d’encourager les Informaticiens à devenir consultants, contractuels et de seulement mettre l’accent sur les clients acquis?  Cela ne peut que continuer à réduire la quantité de candidats disponibles tout en augmentant les salaires des ‘experts’.

Smooth like Btrfs…

If you have any spare hard drives lying around and you’re a data squirrel like me, you’ve looked at the Drobo or Windows Home Server (WHS) with envy.  Drobo implements a file system  called BeyondFS, which lets you add and swap hard drives at will; the system will reconfigure itself depending in the space available and the number of hard disks installed, implementing mirroring when it can without regard to the actual size of the hard disks installed.  WHS can do the same, on a file level. While these are sweet high-tech toys, they are not free. Even after moving here and recycling dumping the worst of my old hardware, I have plenty left just lying around.  And I hoard data faster than I can hoard money.  Is there a way to build a Drobo with old hardware and free software?

I’ve looked at many solutions such as  unRaid and Freenas,  but they need dedicated servers and I wanted to run on my old Ubuntu server, since it also runs my VMs. I’ve also looked at Btrfs, believing that being a freshly minted file system it would support a logical volume manager internally (or at least intelligently manage volumes of different sizes). But it doesn’t; the current load balancer is very basic. It supports Raid0, Raid1 and Raid10. And for the moment, at least (as of 2.6.35), it is limited by the smallest volume in the Raid array (so you get the same capacity as in Raid1 mirroring, I find Raid5 more appealing).  In the process I’ve discovered that VMWare really doesn’t like running on top of Btrfs – suspending my VMs would leave them in an unrecoverable state with no helpful error message or log entry.

In the end, I went with LVM on top of Raid5.  Although it is not as easy to understand and configure as a Drobo or WHS, I can add and remove hard disks at will (provided I leave enough for the Raid5) and grow or shrink the file system even while it is live. And I can run VMWare on that Ubuntu server without a hitch.

As far as I can tell the only other free option would be to use ZFS, but that would mean switching to FreeBSD (and VirtualBox for my VMs).  I guess I could take another old box out of storage and muck around.  However as far as I can tell – correct me if I’m wrong! – once you define a ZFS array you cannot yet add devices, only replace disks with bigger disks, which is not as flexible as I want. So I’m not ready to invest too much time in the attempt.

Now, LVM+Raid5 isn’t as simple to configure and use as a Drobo or WHS, but it works, has decent performance, and is totally free. You might have some trouble getting all the commands right the first time you define it and you’ll wish it had a working GUI, but once I got the configuration right, it worked like a charm.  Even adding a device and growing the volume, while a multi-step process, proved easy enough.  Best of all, since LVM takes charge of load balancing on the array, you can add and remove disks WHILE it is in use. Unfortunately, there is still one thing that it doesn’t do; manage different-sized disks without waste.  Installed on top of a raid 5 array, the usage of any disk is limited to the smallest partition in the array (to get the final capacity, just ignore one of your partitions when adding up). However you can add as many partitions as you like to grow the array (Taking care not to use two partitions on the same disk).

Thus I ended up with a LVM on RAID5 array,  almost easily expanded to infinity and with some data safety. When Btrfs implements Raid5 (possibly in 2.6.39) and you can do an on-line re-balance, it will be worth another look, as you would not need LVM. The file system would grow without a problem as long as you do add one volume at a time.

All this exploration has left me feeling that there’s a need for a file system that is space-conscious and redundant (for select files).  Would it be possible to use WrapFS to do this?  Is anyone aware of a project or file system that already does this?

So for now it looks like I can’t make a DIY Drobo, but at least I got to experience the magic of LVM.