It is possible to develop high quality scalable software for a fraction of the cost and time in comparison to the classic San Fransisco Valley development model? By optimizing any of the these three factors: Creating a bullet proof hiring process, having an efficient virtual work space, and accountability; we think you can.
In the production of Time Doctor we’ve hired dozens of developers from all over the world (we currently have workers in 8 countries) at a fraction of the cost of what we would have paid in San Fransisco and have built in almost instantaneous scalability into our company through our hiring techniques so we can quickly expand or contract dependent upon what we need done. Here are the rules we’ve followed to do this.
1. Understand your companies work philosophy
It’s crucial that you communicate your companies philosophy of work and communicate that to prospective employees. If they aren’t willing to work in your world then you need to figure out immediately regardless of how well suited they are for the position as it will only create problems in the future. Here are a few crucial points from our work philosophy.
- We follow a law of economy (Occam’s Razor) being that everything being equal the decision that creates the least amount of new assumptions should be chosen. Most problems have simple solutions and invariably the simplest solution is the right one.
- All operations and practices are documented. Any renewable task gets systematized so that that knowledge isn’t held by a single person. Tasks that don’t get tracked and processed don’t exist and therefore can’t be billed.
- All tasks are prioritized, documented and systematized, we work on our most important tasks first and then work our way down.
- Improving the system is every workers responsibility. If you see a way to make the system more efficient or effective proposing that improvement is your top priority and you will be rewarded for it.
2. Build a bullet proof hiring process
We like to take the grape shot approach to hiring.
- Grab as many people as possible and test them (yes you’ll have to build a test for this).
- Figure out who passed the test and then interview the winners.
- Give those winners a longer test, so giving them all the same coding job for a week to figure out who did the best job would be a great idea. Figure out who did the best job, ‘best’ not necessarily who did the best job at coding but who was the most attentive, who showed up to work on time, who followed instructions but also took initiative when they needed to etc.
- After that figure out who you would hire and who you wouldn’t.
- Hire from your ‘would hire’ group and keep the others on file if you need to scale later.
3. Create a virtual workspace
Don’t waste money on brick and mortar if you don’t need to. Use virtual work space software that allows you to communicate efficiently and provides accountability. Here are some suggestions.
Mantis is our choice for communication for application development. It in essence allows you to track and solve bugs in your software. We use it because it’s stable, secure, simple and free. Other good options could be lighthouse for a really simple, put paid for option.
Google Apps is a great scalable option for domain email, document sharing and business calendar sharing. The free version of google apps is hard to get your hands on but is still out there for up to 10 users, I’d highly suggest you give it a try.
Dropbox is the ultimate usb stick in the sky. It’s a folder on your computer which you can share with your entire team. Just make sure that all document edits occur on the dropbox folder held on all your employees computers and you’ll always get the most up to date version of whatever you’re working on, no email attachments required!
Lastly is our baby Time Doctor which allows us to assign tasks to ourselves or others and track the productivity of those tasks. You can read more about the software on the website. The feature set was born out of necessity for a productive and accountable remote working team.
4. Always be open to hiring anyone anywhere
Hire people internationally, find people who can complete your required deliverable at a reasonable price. If you’ve built a stable virtual work space most employees will be more productive than in a comparative office environment. Simply make sure you keep everyone accountable, including yourself, by tracking your time on projects and you’re productivity so you don’t lose your company culture.
5. Make sure you’re all accountable
All work should be tracked and reviewed for optimization including your own. What doesn’t get measured doesn’t get managed so make sure you review all work weekly and praise efficiency. I’m usually at the bottom of the productivity ladder when weekly reports come up and everyone can take a strip off me. Make sure you’re just as accountable as everyone else or again this will effect company culture.
The reality is that if you have a computer and an Internet connection, education is truly open source. Once you remove the assumption that where you were educated matters more than your real ‘level’ of education you will find thousands of highly educated individuals all over the world that will work from within your team just as efficiently and effectively as any Ivy Leaguer.
Update: Check out Staff.com for hiring great programmers at reasonable rates
We’re in the process of launching Staff.com for hiring programmers from all around the world at rates you might be surprised by.
Further reading: If you are new to the world of outsourcing, or remote teams, you may find the following articles useful:
How to find and hire Russian programmers
The top 6 outsourcing websites and how to use them
15 essential outsourcing tips (how to avoid an outsourcing disaster!)
Phenomenal Design done dirt cheap – how to outsource Graphic Design
The 8 best collaboration tools for virtual teams
The best virtual office software
7 useful strategies for managing virtual teams