How to Build Software at a Fraction of the Price

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, 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.

2 Comments

This is a funny article. Programming requires more skill than surgery and will affect many more people than one surgeon’s work. If the programmer is bad, it costs MORE to fix than just not paying someone. Look at Cedars-Sinai and their 200 Xray overdose debacle. It cost them HUNDREDS OF MILLIONS of dollars because of bad programming and interface design. So… paying very very little to do programming actually costs MORE. You can’t just dismiss programming as commodity labor in light of this fact that it costs more to fix a poorly done job than it is to actually pay someone a decent wage.

You’re mostly covering how to replace bad local programmers with bad foreign programmers, that imho is the talk of the beginning of outsourcing and a complete misunderstanding of programming and software as a whole.

However, you can be sure noone who’s actually good is going to be available through any of those cheap-work freelance websites.

THAT is not something that is guaranteed when you offer $150K. You may still find someone who’s actually good at what they do and who might stick with you, even when they start producing far more value.