“Find out what you’re good out and outsource the rest”
This is very common advice these days. We obviously all have limited time available to us and if you’re not a programmer but you need some code written, the best plan is to outsource it, right? It makes sense and it could mean your project gets off the ground 6 months sooner than you would have if you’d decided to learn to code yourself.
I’m not denying the virtues of outsourcing tasks you are less competent at, especially if it saves time and improves quality. I’ve outsourced a number of technical jobs in the past, from graphic design to getting some PHP code written, and while sure I’ll continue to outsource in the future, I’d like to give you a few reasons why learning to code yourself is a good idea.
It’s not rocket science, but it does have a step learning curve you need to get over. If you want to be successful in business you need to be able to step up to whatever challenge comes your way. Learning a programming language is like learning a spoken language – it stretches your brain and makes you think logicially. It also teaches you to solve problems (kind of like hard core Sudoku).
It doesn’t mean you need to do it well, but the idea is you’ll have a far greater understanding of your business if you done all tasks from cleaning the coffee machine, to answering support emails. This doesn’t mean you need to code an entire application from scratch but you should get to the point where you do some damage and at least vaguely understand the source code.
Once you’ve mastered the basics of a programming language you’ll have added another notch to your skill set. Even if your business idea fails you can always go and use this skill. You’ll have taught yourself what is possible but also how long it takes and why people can easily miscomunicate tasks when a non-programmer asks a programmer to do a task.
And hey, you might even be able to get yourself a job as a programmer!
Even if you never get to learn a scripting language you should at least know how to work with HTML/CSS. Not knowing how to change a simple thing on your website (like adding a sidebar or changing the way a footer looks) is crippling in my opinion.
The biggest reason that I recommend everyone learns to code is because you’ll (eventually) be able to execute your ideas extremely quickly. You may never get to the point where you can do everything yourself as quickly as a professional programmer would – but it’s a powerful thing to be able to build a bare bones working version of your idea without needing to hire a programmer. You’ll very quickly have feedback from beta users and then be able to make a decision of whether it’s worth it to invest more time and money into the idea.
Suddenly you’ll be able to test your ideas a lot faster and without needing to risk investing large amounts of money. Instead of brain storming your idea all the way through to the last problem, you’ll be able to put something out there and get feedback to find out if there really is a market and it really does solve a problem.
Of course I’m not saying you wouldn’t be doing market research or a $20 Starbucks Test, but in some instances if you see a need in an industry in which you already have an audience, it may just be worth throwing something against the wall and seeing if it sticks. That can throw can be expensive and messy if you’ve had to hire a programmer, but if all it’s cost you is a few late nights you really haven’t lost much.
I’ve taught myself web design and from building a few WordPress themes I’ve learnt some PHP. However over the next few months I’ve decided to learn the Ruby on Rails framework which is known for being friendly to quickly building prototypes by never having to reinvent the wheel.
I’m going to write about my progress learning Ruby and the Ruby on Rails framework and will give regular updates on this blog. Who knows, maybe I’ll regret writing this blog post! Either way though, I’ll be sure to have learnt a lot.
Comment by Ren
21 February 2011
Good luck. I had a brief look at ruby on rails too but then got pulled into using django/python and haven’t looked back. Looking forward to reading how you get on with the learning experience.
Comment by Jack Kinsella
19 March 2011
I learned Ruby and Rails in the past two years and used the skills to grow a small business which can as of recently support myself completely. Stick at it and you’ll be in the same position in no time!