But also, I find it pretty hard to imagine building a successful technical startup in this manner. Not saying there's no value to non-technical founders, but alone? How do you evaluate the quality of the outsourced work?
How do you evaluate the quality of the outsourced work?
I find that silly. I'm not a chef but I can taste food.
Increasingly I have the tendency to believe that all this technical/non-technical is a really unfortunate simplification. I think especially when it comes to a startup tackling really big problems whether you've programmed before might be a rounding error in the equation toward succeeding.
That's an unfortunate simplification. Without a technical background, you wouldn't know how long it takes to make a basic CRUD app. "3 weeks? Ok I guess. Oh, 3 months actually? Ok I guess." And what about performance, scalability, costs, etc? You'd have no clue.
Yes, this is what I was thinking. Obviously you don't have to know everything, but having at least a basic background seems valuable. Even knowing how to code I find it's hard enough to find good developers, especially freelance.
Also, and perhaps most importantly, when I find a minor bug in my app, I can fix it myself and push an update immediately. If I relied on freelance developers, well, crap, it's Good Friday. So very least I'm waiting a few days. And then maybe my developer isn't available to drop everything and work on my project on Monday (or Tuesday)... One of the primary advantages of startups is their ability to react and adapt quickly; running a technical startup alone, without a technical background, appears to give up some of that advantage.
you wouldn't know how long it takes to make a basic CRUD app
-- Not to nitpick, but you are implying the technical team is untrustworthy or incompetent, unless they are co-founders. While I (would like to) think all founders are trustworthy and competent, being a non-founder should not be a contra-indication.
Two intersecting sets: (a) trustworthy people; and (b) skilled programmers. Both difficult to observe. Having good information on at least one set is a definite advantage, both for screening and for avoidance of sub-optimal candidates. One would need to make assumptions about the relative trustworthiness of the candidate pools to decide which is more beneficial. It may be that in certain areas, at certain times, its rarer and more difficult to assess character than competence (the latter even at high levels).
Avoiding all of the analogies... I'm on the technical side, and there's non-trivial work involved in evaluating the quality of the work of other developers.
Particularly for sniffing out security problems... you're fighting a many-headed beast, so unless you're quite technical yourself (and know how to exploit the whole OWASP list, for example), I can't imagine how you'd evaluate someone else's statement that "yes, this will be secure"; even if the lead developer can talk in depth about 10 common security holes, what if s/he simply isn't familiar with #11 and #12? Or lacks the creativity to notice how an architecture choice will severely hamper security in the future?
There's non-trivial work involved in evaluating my own work, and every now & again when I step back to view my own approach to a technical problem I change course.
So -- it's certainly possible to evaluate developers without being technical, but you're still forced to trust their diligence and skill quite a bit. "Talking the talk" of doing things right technically isn't very hard (just read a lot of dev blogs... you'll pick it up); actually doing them right with some consistency is a different beast entirely, and not everyone succeeds even with the best of intentions (...but this is much harder to evaluate).
Quality of software is pretty much irrelevant for startups. The code is usually crap and gets thrown away over and over anyway. The real focus is on people.
If the code is crap, that might explain why it gets thrown away over and over. In my experience, if code is well-written, it should pretty much always be possible to update, revamp, pivot, etc. Rewriting from scratch (especially repeatedly!) is a waste of time that a startup can't afford.
Engineers for startups are paid poorly and almost always work on technically uninteresting problems. Where are you going to get people who can write good code? And again, why would you bother if the hard part of startups is everything except getting the code to work?
Bad analogy. It's more like choosing a catering company to cater a five thousand person convention on the basis of a single meal they prepare for you alone. Even if it tastes great, you have no idea how they're going to hold up when the number of people they need to serve increases massively. And you have no idea whether they're end up killing guests with food allergies or forcing those with different dietary restrictions to go hungry.
I agree that the word 'technical' is somewhat of a meaningless catch-all. If I were starting a restaurant, I would want to know how to cook. To start an auto shop, I'd want some mechanical skill; a clothing boutique, some knowledge of fashion; and a software startup... the ability to code.
Of course there are other skills - management, marketing, sales, etc. - that would also be helpful. But as a sole founder, while not critical, it seems extremely useful to have some degree of competence in the primary area of work for your business.
In fact, were I planning to start a software company without yet knowing how to code, I think my first step would be to learn enough to build the alpha version (or depending on scope, a core component thereof) myself. Not only is having a specific goal the best way to learn, it would likely result in all kinds of insights into the planned business that just couldn't be gained by farming it out. (In fact, that's exactly what I did with SearchTempest, before eventually hiring a far better developer than myself! :) )
Exactly my thinking I believe that the whole non techincal thing is kinda off a black cloud over my application . Im learning how to basics thru codeacademy but to answer the earlier question . There are tons of ways to assess the quality of the outsourced work...thank you
I find that silly. I'm not a chef but I can taste food.
Increasingly I have the tendency to believe that all this technical/non-technical is a really unfortunate simplification. I think especially when it comes to a startup tackling really big problems whether you've programmed before might be a rounding error in the equation toward succeeding.