You want a developer that can take your pseudo spec (and I say pseudo because if they are detailed enough, then you should be able to code them, since you are hiring a developer you don't know the devil that will be hidden in the details), interact with you, and give you what you asked OR BETTER.
Non-technical people need the counterweight. This advice is like telling the doctor "I don't pay you to think and figure out what I have, just to write the prescriptions, and is much cheaper"
> You want a developer that can take your pseudo spec (and I say pseudo because if they are detailed enough, then you should be able to code them, since you are hiring a developer you don't know the devil that will be hidden in the details), interact with you, and give you what you asked OR BETTER.
I think you missed his point. Yes, in an ideal world every developer would be able to think for you. In the real world, developers who can do this charge a huge premium.
His point was that if you don't want the full consulting package, you can get by with a less expensive developer—so long as you map out every step of the way for them.
But I didn't say "think for you", I said "interact with you", as in take ownership of a good technical implementation, as in understand your problem and help you to imagine better.
... At the end of the day, you get what you pay for.
Often enough, there is simply no need to have someone "imagine it better", because paying someone to get your spec done is enough.
As the technical ability of the customer goes down, the input, and therefore the cost, of the developer goes up.
Of course, this falls apart when you get non-technical people hiring grunt coders...
But there is nothing bad about such programmers - they just fullfill a different market sector. And their code is likely just as good. What you pay the premium for is someone to manage the technical side rather than just do as their told.
Oh nonsense. I charge a premium over some of my (business) friends because I work full stack plus project management. But those friends are just as competent, at the coding.
I don't know about your or your friends' coding skills, so I can't comment. I see a huge difference in the code I write in my language of proficiency versus code my friends write in the same language (my friends are mainly scientists, so their code tends to be ad-hoc modelling to get to a specific point, then discarded).
My code is much better architected, much more reusable, cleaner, and, if you're going to be using it in the long-term, it's going to be much, much cheaper. Not to sound arrogant, but I sometimes marvel at how easy it is to add more features or change features just because the code was written properly the first time around.
This is what the client pays for, the years of experience that have taught me how to write clean, maintainable and extensible code. If you're going to throw the code away after your MVP, you obviously shouldn't care if the code is maintainable, but code written by inexperienced and experienced developers is nowhere near similar.
Yes, but that's not the skillset that the OP was advocating paying for.
Your code I am sure is excellent; but we're talking about the other factors, such a project management, specification and UI design. etc etc.
Also, in some cases there is no point building a full architecture and reusable constructs: if all you're doing is writing a Wordpress theme or plugin what's the need?
You wouldn't hire me to write a Wordpress theme, you'd hire someone without the premium. And it would he just as good!
> My code is much better architected, much more reusable, cleaner, and, if you're going to be using it in the long-term, it's going to be much, much cheaper.
> I don't know about your or your friends' coding skills, so I can't comment. I see a huge difference in the code my friends write in their language of proficiency versus code I write in the same language (I am mainly a scientist, so my code tends to be ad-hoc modelling to get to a specific point, then discarded).
> Their code is much better architected, much more reusable, cleaner, and, if you're going to be using it in the long-term, it's going to be much, much cheaper. Not to sound arrogant, but they sometimes marvel at how easy it is to add more features or change features just because the code was written properly the first time around.
> This is what the client pays for, the years of experience that have taught them how to write clean, maintainable and extensible code. If you're going to throw the code away after your MVP, you obviously shouldn't care if the code is maintainable, but code written by inexperienced and experienced developers is nowhere near similar.
I agree with you that a trained developer does produce higher quality code and even if more expensive does end up being better in the long run. However in terms of judging the quality of your own work it's important to keep in mind that everyone thinks they're above average. A random search found this related article. http://www.cbsnews.com/8301-205_162-57568186/everyone-thinks...
Why should he be humble? There can be a huge difference in the quality of the work produced by different people. Knowing your real value is nothing to be ashamed of.
> But sometimes you don't need a doctor to give you a diagnosis. You literally only need a prescription.
I don't think any legit doctors write prescriptions without first making, or verifying, a diagnosis.
Hiring a developer and telling him, "Don't think, just code," seems like a recipe for disaster. People who insist on going about it that way get the software they deserve.
I think there’s a continuum here. I’m sure we’ve all been stuck (or heard of the project) with some guy who thinks he’s an architect (but has been hired as a coder) and can sit at his desk for weeks produce lots of docs, but 0 lines of code. Sometimes that’s good for the project - and sometimes it sinks it.
Sometimes we’re paid to think, and sometimes we’re paid to code. Deciding which activity is more economically viable to the company should probably not be left up to us. That’s what they hire managers for after all...
If you read the next line, he's saying that low-rate developers need a lot of detailed instructions. He says that's because they are second-rate. Just as likely, they don't have the margins to play guessing games (if you are on $1000 for a CRUD website, you can afford a bit of rework; if it's $200 you need to be able to get it done without any change in design).
That is THE worse advice EVER.
You want a developer that can take your pseudo spec (and I say pseudo because if they are detailed enough, then you should be able to code them, since you are hiring a developer you don't know the devil that will be hidden in the details), interact with you, and give you what you asked OR BETTER.
Non-technical people need the counterweight. This advice is like telling the doctor "I don't pay you to think and figure out what I have, just to write the prescriptions, and is much cheaper"