First of all, a little disclaimer on my behalf. This article is written from a perspective of my own experience running 9thzero Solutions Inc. 9thzero Solutions is a small software development shop focusing on eLearning initiatives mostly for the Human Resources sector therefore the opinions are entirely my own and although they have and are working great for me they may not work great for you – but, I aim through this post to show yet another way of approaching things and I hope it will be a pleasant read.
Now that the disclaimer is out of the way – let’s get started. First of all, 9thzero Solutions Inc, does not have an office. Yes, that is truly correct – all of my employees all actually work from home – including myself. 9thzero is very small actually and through its life-span of slightly more than 1,5 years it has employed a total of 10 people (and currently employing 4 folks at 20h / week + myself at about 40h / week). Out of these 10 people none other than myself is doing this full-time – and, it all works out. How?
In my other post on what makes a good manager I say that it’s not the manager that is the super-star but it is the team that is a super-star. However, in order to have a winning team, you need to pick the best people for the task at hand. I had one big challenge when it comes to selecting people: trust. As a person, I do not trust easily and I trust even less when I involve other people in my business – that is simply because I want the best possible solution delivered rather than “just-make-it-work”. For the very first project therefore, I opted out to pick 2 people to help me out – both of whom I have worked with in a previous company. One whom was a team lead such as myself in that company and the other who was actually a member of the team I was managing. Whereas I consider myself a 50/50 (50% – application architecture and 50% software development) one of these guys was a specialist in application architecture while the other is one of the best all around software developers that I know. So two points to take home:
- I knew these 2 folks and clicked with them both at a professional and personal level (both are still good friends of mine)
- I knew exactly what the skill-set was that these 2 guys came with – because I have actually worked in the trenches with them
- I could trust their ability to deliver without seeing them on a daily basis (one worked from Toronto, the other worked from somewhere in Asia at the time)
I have since hired 2 more people along the same selection process as above for the very first initial project that really got the capital going for 9thzero Solutions. This was the one project that I have bet everything on, in fact, were I to fail, I could forget about building a relationship with the existing client – and my reputation would be ruined – I could simply not allow for that to happen and therefore I have minimized the the risk of failure by sticking to the 2 points noted above.
But all good things come to an end. Both folks eventually left after the first project because of their other career commitments – both have been pulling in 80h+ / week during crunch time since they were working for 9thzero as well as in their respective jobs. Bottom line, when the next project came along – I could not count on them anymore. I was a in a bind. 2 super-stars told me they could not help out this time around. How do I deal with that?
In came my wife (yes, my wife!). As it turns out, she did manage a few folks in her previous life time and she suggested that I take a shot and outsource my work to Poland. In the beginning I was a little weary of this suggestion. I do know from first-hand experience that the best and most creative software developers happen to be Eastern / Central European. A good E.C.E. developer just can’t be beat by anyone else – it’s like they have the best of both worlds: the incredible focus of an Asian developer and the academic creativity and outside-the-box thought process of Indian developers (both of whom I respect very much – as I had the pleasure to work with all of them). But my main problem still persisted: how do I trust people to deliver half-a-world away?
I decided to try local first – I have posted an ad on craigslist and waited for some smart brains to contact me. As it turns out, they were pretty smart, but either not experienced enough or they did not have the “trust-me” vibe emanating from them. One individual I was willing to give a chance to but he disappeared after the interview only to resurface 3 weeks later saying he was looking for the perfect coding sample that I have asked for – granted the coding sample was good but disappearing on me for 3 weeks was not good.
Shortly speaking locals did not work out. I turned back to my wife and (trusting her) put it into her hands. She first found me a developer whom she personally knew as a friend of hers – the guy rocks. Than, through him, she has found a web designer and through the web designer another stellar programmer. Do you see the pattern? Yes – it is by referall and through personal relationships that are already established. As one very good friend of mine said: it is better to work with the devil you know than the devil you don’t. He is right.
Hiring people who have can be connected through a direct relationship to you is only a bonus though. It is true that if the person knows you, they will more than likely try not to have the relationship go to hell and fail in the project you assign them for – but it is also true that this is not the only factor; they also need to know what they’re doing – all of them have been thoroughly pre-screened after the interview to make sure that I had a comfort level knowing that their technical skills were up-to-par.
Also, I have a decisive advantage with whom I want to hire with 9thzero because the company is small in size nor is it quoted anywhere and therefore I do not have to go through the “politically correct” process of doing things (although for peace of mind I did just that by posting the ad on craigslist).
But these guys are all remote so how did I manage them? The answer to this question is very simple. If they are the right kind of people, one will not need to micro-manage – it is simply good enough to have regular touch-base meetings and a clear vision of what needs to get done. After all, a smart developer / architect will ultimately look for challenges elsewhere if not attended to with challenges in their current position.
Another factor in strengthening loyalty is to actually pay the employees what they are worth rather than make it a sweat shop. I would have to say that both the programmers in Canada whom I have hired as well as the programmers in Poland have been paid some very decent coin for the work and effort that they have put in. There is really no point in cheapening out on very good talent.
One factor also that helps out a lot is that for the time being, my wife lives for part of the year in Poland and part of the year in Canada. While she in Poland her role at 9thzero is to actually oversee and manage the resources in Poland. Yes – good people are good people and trust is trust, but you really do need to have someone on the ground in the trenches in order to rein in some order which also does escape on occasion – as is normal with all teams.
And finally, if you are managing developers (whether locally or remotely – but remotely in particular), it will be much easier if you have had experience in software development – and you should manage them directly instead of through a “project manager” working from a remote dev. shop. Why? Simple – now-a-days a lot is about “perception” and “perception” is sometimes used as a devious way of saying that incompletely implemented requirements are actually what you want – or worse – what you have asked for! If you have no experience calling the bullshit when you see it, than you will end up paying more for a possibly incomplete solution. You should really have experience or get someone you trust that has experience in software development, to manage your remote software developers.
I hope that this article was somewhat useful – feel free to comment and agree / disagree as you see fit. All the best,