Why would you outsource some of your coding-tasks?
There are many reasons to think of why outsourcing parts of your programming / code-work is a good idea. But most definitely the underlying drive is to speed up, or even come to finish your product/mvp/service and getting it live."Time is probably your most scarce asset."Typical use cases for outsourcing parts of your code:You're facing a development task that might easily take weeks, while someone with the correct experience will finish it in hours
You're facing a challenge or complexity in your code and you need help to finish writing your code
You found the motivation to start your programming-project, but lack the motivation to finish those boring parts
You're unsure how to implement a certain technology or concept and could use an example, or need some advice
You're simply facing too much code to write, and simply need a few hands.
You're an entrepreneur and not so much a programmer, so you need someone else to get it done
What are the benefits of outsourcing coding-tasks?
Pretty much following the above question, amongst the benefits of outsourcing (some) code tasks / services are:
That you can keep your focus on the fun and creative tasks / code.
That you'll be able to release your MVP released sooner.
That it will enable you to apply new technologies without undergoing the learning curve.
That you'll be able to leverage re-usable knowledge stored in the minds of other professionals, saving you months.
You will almost certainly build a trusted relation with the developers you work with which will have future value.
Designing for outsourcing typically improves the overall quality due to abstraction and modularization.
I'm a developer myself - why would I outsource (parts of) my code?
I definitely should look up some quotes for this one, but I guess it's quite simple - you cannot conquer the world on your own, let alone finish a production ready application while staying ahead of the competition. It's therefore wise to get some extra hands to work with.Being a developer myself I do acknowledge "we" typically find it hard to share our ideas with others, or trust others to write "our" code.Now the first problem should be easily overcome by improving our software design, so that we can abstract our request. For example: I had a developer write a MS Office & PDF document scanner that checked if any macro's / scripts / objects were in the document (thus posing a security threat). It took me 5 minutes to specify what I needed (DocumentChecker.needsSanitizing(String mimetype, InputStream doc), and another developer did the rest.As for the second one, I guess it's about letting it go. As time is probably your most scarce asset. And if you fear it will lead to Technical Debt, then it's good to know that you always can define your acceptance criteria up front.
How can I identify what parts of code are suitable for outsourcing?
Everything you can name or "conceptualize" is a possible subject to outsourcing. Additionally, the Sent Code board allows requests for help, advise, services or bounties as well.