How to hire a programmer to make your ideas happen
Do you have an idea for a website, online business, or application, but need a programmer to turn that idea into reality?
Many of my friends have been in the same position, so here’s my best advice, below.
1. Reduce your big idea to “Version 1.0”.
First read my short “Version Infinity” article.
Dream the big dream of everything your site/service/company might be some day, and write it all down.
But then think of the bare minimum that would make you happy, and people would find useful. What are the three most essential features? What is the most essential feature?
Call this Version 1.0. Save the rest for later. No need to even tell people about the rest unless they’re really really interested.
A programmer is much more likely to say, “I can do that!” to this simple version.
Your goal here is just to get Version 1.0 built. That, alone, will be a huge accomplishment. Everything below is describing only Version 1.0.
2. Write a simple overview of what it does.
Again, remember: only describe Version 1.0. Stop there. The big version is written down somewhere else.
Leave off all details that the programmer doesn’t need to know.
For example: If you want to sell videos, you don’t need to say what’s in the videos. Just “sell downloadable and streamable video files.” If you want the site to translate ancient Arabic poetry to Spanish to increase global tolerance, just say, “Translate paragraphs from Arabic to Spanish.”
Be succinct. Programmers love that.
Include people in a story, using the terms you use.
For example: “A company creates an account, then creates a new project with a title and description. In the project, they upload multiple documents to be translated. Each document has a from-language, to-language, and a name. The system counts how many words are in each document. When the company marks the project as ready, it is announced to the translators. The announcement shows how many documents, how many words, and a price. The translator rejects or approves. They log in to translate the documents, one at a time, marking each finished when done, which sends the file back to the company for review.”
From this, the programmer will look for nouns and verbs, so start to think in those terms to help you communicate better. A programmer would see: Company, Project, Document, Translation, Translator, etc.
3. Write a detailed walk-through of every click.
Close your eyes and imagine yourself using the site.
Describe every thing you can click on the first page.
What happens when you click it? Exactly what did the system do? What happens next?
Start to think in IF-THEN branches. For example: “If it’s a new user, it takes them to this welcome page.” “If they’ve been here before, it takes them to their account page.” “If it asks for a number, but they type a word, send them back to the same page but with a message.”
In a text file, write down every thing you know this Version 1.0 needs to do. Every click. Every action. A long list of small simple things.
Start to think of the exact wording of what you want it to say, but save that somewhere else. Don’t clutter this list with wording.
The goal is to keep this long list of actions very clear and simple, so that a programmer can see it, and see that each step is easy. For them it should be like eating chips, not an elephant.
4. Break it up into milestones.
We tend to think of other people’s work as easier than it is.
So break Version 1.0 up into many “milestone” steps. Think of it as a day’s work. (It might take more or less than a day.)
Don’t expect it to look pretty at this stage. Expect it incredibly ugly but functionally working. Like building a house, the paint and decor goes last.
For example: In my translation site story, above, the first milestone might be just a plain ugly web page where a company can create an account, create a new project, then upload named documents into that project. That’s it! If that works, that’s a good start.
Thinking of your project in milestones makes all the difference. You’ll stop and communicate at each, making sure you’re happy before continuing. Misunderstandings can’t run on too long. You’ll estimate time and cost better. And you’ll both feel a good sense of momentum.
5. Make your first milestone a stand-alone project.
To find a programmer you like, you need to take just the first milestone, and treat it as a complete project.
Open a new text file, and copy just the parts of the story and walk-through that are included in the first milestone.
If a feature doesn’t come until after the first milestone, remove it from this copy of the story. Remove it from this copy of the walk-through.
This text file should contain a start-to-finish project that sounds like a day’s work, and mentions nothing else.
Now start to prepare it like a help-wanted ad. Say, “We are hiring a developer to create only the beginning of an application. If this milestone is completed well, there will be more work immediately. The requirements are as follows....” Then paste just the story and walk-through for your first milestone.
Because you don’t want them to just say, “I finished. Here’s the source code,” make sure you finish with something like, “For completion of this project, please have this up and running on a development webserver I can access to test its functionality as described.”
Because posting this help-wanted ad will bombard you with dozens of offers that sound legitimate but have never read your ad, you should really do this step: At the end of your post, write something like, “VERY IMPORTANT: To separate you from the spammers, please write I AM REAL as the first line of your bid. We will delete all bids that do not start with this phrase, since most bidders never read the requirements. Thank you for being one who does.”
Get this all in a plain-text file, ready to paste.
6. Post it online
Go to the following sites to open an account at each: upwork.com, guru.com, freelancer.com
Post this short project at each site. Location of provider doesn’t matter — they can work from anywhere. Don’t pay for a highlighted listing. Pay by the hour. Set the bidding time limit to 7 days. Most bids will come in the first 3 days.
You’ll get many offers, but if they don’t have your magic phrase at the top (“I AM REAL” or whatever), delete them. This is very hard to do, since you’ll feel thrilled that so many people are offering to help, saying things like, “We have looked at your project and would be glad to complete it immediately,” but trust me and delete those. If they didn’t read something marked as VERY IMPORTANT already, you don’t want to work with them.
Only go for providers who have great reviews from many past customers. This shows they are used to working this way through this site. Decline bids from providers without many great reviews.
Don’t aim for the lowest bid. Use these sites to find someone that seems great and capable, even if they are twice as much as the lowest bid, they might work 10 times faster and better.
Each of these sites has its quirks, so sorry I can’t recommend specifics for everyone. But be considerate and nice, once they’ve mentioned your VERY IMPORTANT phrase to prove they really read your requirements. That’s cold enough. Once they’ve passed that test, be very responsive and friendly.
7. Hire one from each.
Here’s the real reason why you’re stopping at a simple milestone: You’re going to hire at least two different people to do this first step, expecting that one will go bad, one will be so-so, and one will be great.
Yes it means you’re paying multiple times for this first milestone, but it’s worth it to find a good one.
I’ve found it easier to choose one provider from each site, so you can “award this project” to just one, and track their work there. They don’t need to know there are others.
Some will definitely go bad. Just expect it and don’t let it upset you. They’ll say something has come up, that they can’t start until next month, that it’s harder than they thought, or just disappear and never reply. When this happens, just mark that person’s project as cancelled or complete, and say goodbye nicely. Then carry on with the rest.
Lastly, ask each one to send you a zip file of the entire source code after each completed milestone. Even if you don’t know what to do with it yet, save it. Unzip it and look through it in any text editor. You might actually understand some of it.
8. Continue with the one you like best.
The goal of this project is to find just one programmer (or team) you really like.
If you don’t, then just go back to re-post that first milestone again, but changing it based on any feedback you got. Perhaps set a higher price or describe it better.
Once you do, you can let them in on the whole project. Send them your full “Version 1.0” story and walk-through. Get them involved in the whole thing. Hire them to make the next milestone happen, and the next and the next.
They may ask you to continue working and paying through the website, to boost their reputation there, or they may want to just go direct. Either way is fine.
Derek,
Yes,Yes,Yes!
thanks,
PMH
Derek,
Yep - that's a brilliant way to develop a deep field of excellent programmers who can take care of all aspects of your project.
I've fostered relationships (not transactions) with my group of programmers so there is a longer term feel to our collaborations.
And if I need a tweak it's done. Or if they need money faster, it's done.
Hugh
Excellent post, Derek. Very insightful and obviously the voice of experience. Thanks you!
Hiring more than one is a great idea. Keep it small and affordable.
Assume that most freelancers are terrible and you will be much happier and get way more done.
Your working with a whole other idea of professionalism with remote people.
great post Derek!
— Derek
very insightful tips for outsourcing almost anything.
but I'm a bit confused: aren't you a programmer yourself? when did you find the need to hire a programmer by yourself?
I've done a lot of hiring as described here. Sometimes when it was something I didn't know how to do. Sometimes when it was something I knew how to do myself, but was just trying to work with others. Longer story there, but yeah, this is from experience.
Thank you this is glorious! I've always wondered how to go about outsourcing programming, as whilst I understand and have done programming successfully in the past - I absolutely hate it! :)
What I do like is the coming up with the idea and mapping out the development part. I love your posts Derek, you really GIVE.
THANK YOU!
What about design mockups using eg. mockingbird? I think that they're good to express what you want.
Is it ok to get feedback on what I think is a Version 1.0 request?
The link to a bold idea - Buycott BP, [the link is my name takes a couple clicks cuz this comment was flagged as spam] - has what I believe are 1.0 requests that would be built upon.
Thanks for any and all feedback. And thank you Derek!
dude, I've been tiptoeing around doing this for years (since reading Ferriss's book) and never jumped in for fear of the unknown process. thank you for elucidation!
j
Incredible post. This really opens up my entrepreneurial mind!!
Derek-
Another brilliant post! Makes me wish I had thought of some of these steps for my own big ideas!
The Version 1.0 concept is great - what a fantastic way to take stress right out of the picture. Besides - no project is ever "finished" - it's always constantly evolving. So just pick a simple starting point and attack!
Plus I love the idea of hiring more than one person - again, the right person will reveal him/her self without you putting all your eggs in one basket!
If anyone's interested, I run Virtual Nathan, my own VA biz, and would love to help others build and realize their dreams!
You can find out more about what I do and read testimonials at: http://www.npagin.com/virtualnathan/ OR email me at VirtualNathan [@] npagin [DOT] com
Every person and project is different, so I'm always open to discussion!
I've hired many programmers in my life. These are excellent recommendations for someone who hasn't done it before.
For #3, I'd add one thing: Create a flow chart of all the site pages and show how they connect (if/then paths), even if it's not perfect, the flow chart really helps programmers understand what you want.
Hi Derek,
Great post. I am starting a big web project, and have been thinking about how to break it down into manageable chunks.
Maybe maybe maybe maybe one day I will actually have something to show, and I'd be happy to share with you and the crew that follow your blog.
til then it's top secret :)
Mono
http://www.scriptlance.com/ is another great place to find programmers.
One thing that I found to be helping tremendously is to prototype the idea before handing it off to a programmer. I found prototypes to be more useful in conveying the idea than writing tens of pages of specs. It also helps reduce ambiguity and communication overhead.
A prototype can be a series of hand-drawn sketches or a click-thru presentation using keynote or powerpoint.
Insightful post, as always :)
I need desperate help in revamping my website, self-built many years ago with Dreamweaver. This is really helpful, Derek. You are also timely...just when I need help here you come with the correct suggestions. Bless you, chile! LOL
This is great advice. Another way to do it is to teach yourself programming and build it yourself. That's what I've been doing with an idea I'm working on. It's been a whole lot of fun. A lot better than practicing law (I'm a lawyer). It will take longer, but I'll know the application inside and out. Derek's previous post "After 15 years of practice ..." gave me even more motivation to go this way.
Good article, but if you only say "sell downloadable and streamable video files" some people will assume you are talking about porn, and not everyone will be happy to help with that. So in that specific case you may want to be a bit clearer...
darn it derik, this was going to be my brilliant idea and now everyone knows. No seriously, it's a great idea and bravo for sharing it with others... now just don't share it anymore. jk ;)
ps- totally kidding in my last sentence. you don't have an edit button. :)
How about someone to review the work of the programmer? I mean, you don't want your site to "just work", right?
Speaking from experience: My mate paid someone to build him a database-driven website. I don't know how he chose the person to do it. After he got the source code, he needed to make a few changes. So, he asked me what he needed to do. I had a look at the source code, and it was chock-full of SQL injection vulnerabilities. In addition to showing him what to do, I also pointed out the vulnerabilities and demonstrated how easy it was to login into the admin area of his site without knowing any username or password or database table or column names.
So, in the end, what the hired programmer produces won't be even "Version 1.0", but probably "Version 0.x".
Doing step #2 isn't probably simple for everyone. Writing a set of requirements by itself requires a skill. The programmer will probably not understand your business model, and therefore can't help you point out anything that doesn't make sense in the requirements. I also know someone else who consulted me about his website idea. He knew what he wanted, even he also showed me his ideas about the milestones and "Versions > 1.0". And looking at the requirements, I didn't think it was difficult to find a programmer to develop that. But what I think was hard, and it was something he couldn't consider was that it would be harder to find a *maintaining* programmer, and how much it would cost to run the software, because of technical details he didn't understand.
Nothing essential that I disagree with you in your post, but when read by other people with minimal software engineering experience, they can have too high expectations. So, while your post is a good summary (of things that can't be learned quickly. Perhaps 15 years :-) ), probably your reader needs further references, and some hands-on experiences to appreciate your post.
These are great suggestions. If you live in an area that has "hacker" or "startup-weekend" type events where idea people are teamed with developers, it can be great way to get some free (or low cost) experience in what it is like to work with a team of developers, narrow the scope of your project, and understand what it takes to get to v1.0 in a short period of time.
Hallo Derek,
Das meiste ist kalter Kaffee finde ich. Warum meinst du Pay by the hour.? Ich arbeite gerne nach Absprache auf Festpreis als Programmierer. Meistens wird allerdings die Stundenbasis bevorzugt. Kannst Du mir erklären aus deiner Sicht erklären warum?
WM_GREETINGS
sebastian
thanks for all of these valuable tips. i'm sure this article will be the catalyst for many successful projects that have been residing in the minds just waiting to be built.
for anyone needing user interface, design and branding for their project visit my portfolio: http://celsius.ws
we love to build bold identities for fresh ideas...
As someone who programs and has worked with another programmer for 11 years . . . THANK YOU for your LOGICAL advice. Most people think it's all a push-button deal and we can make things happen for no money at a push of a button in a day. NOT! It's called work, baby. Any idea worth that's worth $$ is going to take time and money to make it come to fruition. Americans have become impatient andlazy. PLAN, WORK, PLAN SOME MORE, WORK SOME MORE to make it happen!
thank you - this is very helpful and timely!
Great post for getting the first step of a new business off the ground. I am a Ruby on Rails programmer and have written the first line of code for a few startups. Two points I'd make pertaining to this post are:
#3: It's not necessary to lay out every click per se. The exercise has value so you completely flesh out what you want your site to do. However, a programmer would read this as a requirements document and produce a cluttered page. Hopefully, your programmer has a very well qualified user experience person on their team who can provide guidance about the experience of the site. Programmers, and certainly not the visionary founders, are the most qualified for that task.
#6 I haven't done a ton of hiring (only a little) and have found the freelancing sites to be a poor source for quality work. Many good freelancers are very busy right now and can be found through networking with friends or linked in. One thing I look for is that if their own portfolio site needs a lot of help then they're probably too busy to update it. Either that or they're really bad. check their references to get them into the right category.
Great post, it will help me direct clients and I hope it will certainly help clients direct their programmers.
Derek!!! You're awesome in your desire to guide people with advice and examples from your personal experience! Please keep going that way, because we are honestly impressed:)! THANK YOU!!!
Love it. Your step by step approach is very helpful.
Thanks Derek!
You would be better served to find a senior level freelancer here http://www.hnhackers.com/ than to try to find a needle in the haystack on many of the freelance sites mentioned in the article, as a senior level freelancer, I tend to shy away from those sites and find most in my peer group do as well. They set unrealistic expectations for professional services.
Since you asked...
As a programmer on both ends of this stick, my #1 recommendation for anyone's first dip into these water is keep it very, very small.
Very small.
Much smaller than you think you should.
The reason is that there is a vast amount process and vocabulary to learn, and it's best learned when failure is inexpensive.
All I have to say is brilliant article. I will definably refer to it in the future in my own articles.
As a programmer, sometimes I get a little frustrated at being given a pinhole view of a larger project. I end up spending time developing for that pinhole, only to find out that what I thought was important was not, and that thing I hacked together is the real focus of the next release.
There is some benefit to having the programmers know where you want to take your minimum viable product in the future. Of course, if you spend money on a programmer and things don't work out from the start, then the time/money spent building that foundation will be wasted.
At the moment I'm doing freelance iPhone development. A couple of comments:
* I like your emphasis on pairing down the project to the minimum viable product. This is good advice if you're working with incompetent developers (which is true more often than not). If you're working with somebody competent, however, it helps the developer to know what might be coming in the future. That doesn't mean you give them the whole grand vision. It means that if there's a good chance you might want Y in two weeks, tell me now. I will build differently because of it, and it will work out cheaper for you in the long run. I can't plan for things I don't know about.
* Elancer etc. - it's a race to the bottom. Good devs are never on those sites, because clients find good devs--good devs never have to look for work. They already have great full-time programming jobs or are running booked freelancing gigs. That's the kind of programmer you want to hire: nobody like that is on Elance or similar sites.
* Pay them by the hour and they'll work a lot of hours. Instead, pay them by the project. Only works for developers who can actually estimate (incidentally, they're only the ones you want to hire).
* Regarding the detailed walkthrough and IF-THEN branches: while this is good advice for somebody trained as an engineer or a scientist, most people simply can't be thorough enough with something like that to be of any help. The strength of a great developer is--not only can he program something from a spec, but he understands the reasons behind the spec. No spec is detailed enough to cover all the bases; even people paid to write specs always miss something. Communicate what you want the developer to do and have *him* write up the spec and then look it over. A pro developer has much more hands-on experience with spec reading and spec writing than any client.
* Regarding your overall "numbers game" approach, it will work, in the strict sense that you will get what you asked for, but not in the sense that you will get what you want. Most people, when they try to hire me (although they don't realize it) are looking for technical or domain expert feedback. They may think they need such-and-such coded, but in reality they have a business problem that they need solved. More often than not, I can weasel out of them the business problem, and the technical solution to solve it, and it's often not at all what they originally wanted to have me do. Part of it is that clients vastly overestimate the development time of some types of features, and vastly underestimate the complexity of other types of features, so they cut the wrong stuff from their MVP. In that sense, their project is doomed before they even hire a programmer. Top technical talent can get and keep you on course in a way that will fix problems you don't even know you have.
Nice post! I liked it through #1-#5. Should be read by any web entrepreneur. Personally I can't imagine myself hiring devs from Odesk, etc. I would rather go for an established development company which can easily scale development team as project grows.
Maybe this is because I run offshore software development company and have seen a LOT of people coming asking for help after dealing with freelancers.
Really useful article, But doesn't it take one's passion and dedication to work into each click (talking from own's perspective) while letting them work.
Suffering from onemanship won't do good in this case, should we form a committee or a group before hiring someone from odesk or what??
As a programmer I wish all my clients followed these steps, It would be heaven - in the very least follow #3
Also a couple of more things for the clients
- ask the programmer to setup the application on a demo server early in the development phase (yours or his does not matter)
- if at any time your programmer asks you test anything please do so - if in doubt ask the programmer what part of functionality you are being asked to test.
- enjoy the process ;-)
The only thing missing I would add is this. When someone approaches me about creating an app for them, I always advise them to take time and break it out using something like Powerpoint or Keynote. Using something like that, or any drawing/diagramming tool really, is a good way to get the idea roughed out.
I recommend they try to break it down by sections first, creating blank pages for each app section. From there just try to put down the basic UI pieces like boxes for text input, buttons, and even a tab bar/nav if they have that worked out.
From there it's a lot easier for a developer to break the idea down further if necessary. Ideally you work with a developer to do this, but you can get the ball rolling by working out a view pages to get the idea across.
That's how I typically recommend some proceed before actually hiring me for the work.
This is excellent advice, Derek. I've used guru, e-lance and other sites as well as a local freelancer to build Version 1.0 of our site and we're now building the 2.0 app.
Some of the most successful development companies that we are dealing with who are interested in partnering are actually asking for #3, so you are spot on with the need for this when it comes to developing applications.
Learned plenty from this post as well, of course. Thanks for sharing your proven experience!
Thank you! This is great info. It's really nice of you to share this.
Pat
I'm programming in PHP and Java and designing relational and object oriented data bases since 12 years and I do absolutely agree with Drew's comments (#50). - Most of all with the point about Elance etc.
Maybe this advice would be also useful: look for a programmer near you with whom you mix well. That's much more important than to find the super guru of programming, as your needs won't be such a high end task, supposably.
If you can go out and drink a beer together, it's much better than to pay for each minute he/she works for you in an office, distant 10000 miles from you. Everything stands and falls with communication; not with programming.
And don't forget: you're no programmer. And probably you're no marketing expert and salesman, either ... Don't blame the programmer if your internet platform or software's not selling itself. Integrate these two characters in your concept/budget, too.
Best
Patrick
PS: At least for the programmer, an application doesn't start with a description of the application itself, but with the data model and its entity. The first question's not what you want to do, but what you want to store, and what's the central thing (= entity) of it. Then you care about the data structure (= the fields you need to store). And THEN you care about the work flow of the application.
PS II: Dear Derek, not every programmer will give you his/her source code. A serious programmer has built, after some year of experience, his/her own libraries. "Your" application will gain (time and money) by using that code probably, for which's developping you haven't paied. Maybe that code's also protected by an international copy right. In such a case you'll have the right to use it, but not to decompile or distribute it and probably you'll pay a license amount for it. Best regards
This article seems to imply that freelancing marketplaces are the only way to hire software developers and it is not. You should definately consider hiring locally. The easier communication and better quality developers will often outway the added cost.
Also consider hiring by recommendation. The most important thing is to find someone you trust to deliver quality software.
3. Write a detailed walk-through of every click.
It is unrealistic to expect that you can describe an entire application in detail before development has begun. Doing so does not take advantage of a software developer's experience. This may well be the first project you have managed but most programmers have worked on dozens and they have invaluable experience designing features and interfaces. If you design your first application by yourself you will end up with 'the Homer' http://simpsons.wikia.com/wiki/%22The_Homer%22
6. Post it at elance, guru, odesk, vworker.
The reality of these sites is that the average provider is unprofessional and a waste of money. The good developers do not (generally) work through these sites so you are left with the bottom of the barrel. Hence the need for...
7. Hire one from each.
This is great advice if you really want to work with an overseas developer. Remember to terminate projects as soon as they start to go bad. Our natural inclination is to 'give it another week' to see if things pick up; but they never do. It is better to cut your loses and move on.
Be aware that you will waste a lot of time trying to find and manage a quality overseas team. The low rates may, or may not, reduce the overall cost below that of hiring locally.
I agree with Drew and Emil above.
A good programmer will build you what you want, not what you asked for.
The real value of a programmer isn't their ability to enter instructions into a computer, though if that is what you want the post is great advice. The value you really want to exploit is the ability to think about your domain in a certain logical way in order to solve your real problem as efficiently as possible.
Hi Derek, I've got 2 programmers, and they're doing what they can in spite of me. I hope to be more helpful in the future. By the way, have you seen the docu called, "David Wants to Fly"? In it there's meeting with a guru in India who defines what a guru really does. Two things are interesting: a guru never keeps his ideas a secret and he takes no money. Dear Derek, you're in the running! Thanks for all your efforts. jpt
I agree with the great tip on how to find a not-too-lousy programmer on outsourcing sites.
Let me try an analogy: if you want to get sex, you can simply pay a prostitute, right now. Done. Or you can date a lovely person for months, get married. It takes longer, but then you are set for life.
Co-founders and outsourcing work the same. The lure of outsourcing is that if you post a job, any job, someone will offer to do it. But you really aren't getting a committed partner. Finding a co-founder will take much longer (3 months is typical). But once you have the right co-founder, the entire project really takes off.
As always a great thought provider and yea lots to take in here but all great stuff thanks Derek
The hard part is really deciding exactly what you want and writing out all the details, but if you're willing to do that it means you don't have to pay the programmer to do it which may be best for a new idea.
Often it helps to mention what you would like to do next so the programmer can prepare to go in that direction, but make it clear what's an immediate need and what's a future need. Also make sure it's clear that you know it will be a long process to get everything done, and you don't expect a year's work in two weeks :) A good programmer can always focus on what you need now while keeping the future in mind, and it often helps them do a better job by adding 10% to the work they're doing now to save a lot more time later.
This is also good because it sets the right expectations. A programmer who expects to end up building a large website will hopefully plan for that from the start, while someone who expects to build something small in two weeks may do it in a way that makes the future work more difficult.
In general there are two ways to build a website: one that will work this week and one that will work for years to come. It mostly depends on finding a programmer who has the right skills, who really wants to do it well (hopefully one who is obsessed with giving people the best result possible and not just doing it because they think it pays well), and who usually (but not always) has some experience doing it the right way.
If you don't have much programming experience it's very hard to quickly see if you're getting something that will last, so if at all possible I would recommend starting slowly and seeing if the programmer is really helping you go the way you want. Comparing several programmers will help you see what's just a technical limitation and what's a personal limitation. If you do want to test the programmer, do just that - test their work. See what would happen if a crazy person uses the website and intentionally makes every mistake possible, then does the opposite of what they should (like the website makes them angry and they want to fight back). If the website handles that well there's a good chance that it's built to last.
Oh, and paying by the project is also good. If you set the price too low you'll lose good programmers (or they'll save time by lowering the quality), but as long as it's set well it's just an extra motivation for them not to take the long way.
Derek: Interesting article - I'm not sure if you realize it, but you've basically described what the Agile community calls "User Stories". You may also want to look into tools like Pivotal Tracker for keeping track of stories and prioritizing / scheduling them.
BTW: great keynote at Railsconf!
Thanks D!
As much as I will always value your suggestions on how to live a good life, I believe a comprehensive outline like this from 'the one who knows' could end up being yet another priceless manifesto for those of us still in the DIY trenches.
Thanks for the info in this article. I've worked as a senior business analyst and IT project manager for some time now and I can confirm this is valid advice here.
There are whole areas of expertise and entire careers built around this translation work from "idea to development."
For anyone who is curious, look up the following terms in Wikipedia and you may find further inspiration:
Business analyst
Agile development
Waterfall development
The biggest advice from here is using bite size chunks to get to your goal - or what us IT people call "iterations."
This is a rehashing of how development is actually done.
You have written a layman's explanation of submitting a proposal for a project, building what are currently called use cases (20 years ago they were user stories, 40 years ago it was just part of what was called analysis), and the subsequent iterative development (despite what the methodology mavens would have us believe, development has always been iterative, and iterations are just little waterfalls).
None of which is to say this part is bad. I can see where this would be useful to small business owners who have never dealt with having custom automation built for them. It's pretty standard stuff, though.
The competition part, however, is an incredibly bad idea, as the requestor for the project has no way of judging the entrants other than by implementation of bells and whistles. Security is hard to get right. So is database design. Race conditions usually only show up under stress. And so forth.
Footnote: I found this via slashdot at .
Derek,
This is a great article! I agree with your advice, but I have something to add.
As a developer, I've worked in many projects and maintained other developers' code.
Developers can solve your first feature by building beautiful code with testing code that tests it. Or they can solve it with horrible and hard-to-maintain code.
Step #7 1/2
I'd have a third developer review the code of the developer that you picked. Try to get a 1 to 10 score on the code. Is it hard or easy to maintain? Does it have test code & code or just code?
- Ernesto
Lots of good advice there! I especially like the "I AM REAL" idea - just like the rock music urban legend about bands who demand a bowl of M&Ms backstage, and then have an instruction buried deep in the stage construction manual to remove all the yellow ones, to see if the crew is paying attention!
Re: 'Leave off all details that the programmer doesn't need to know… If you want the site to translate ancient Arabic poetry to Spanish to increase global tolerance, just say, “Translate paragraphs from Arabic to Spanish.”'
Not so sure about this. The problem is, it's hard for a non-programmer to know which details they do and don't need to know up-front, and for a programmer there's nothing worse than to be drip-fed requirements after you've started (or completed) your work. "Oh, didn't I mention? It's *ancient* Arabic, not modern Arabic. But you can just change a setting for that, right?"
Great Article...what about trust issues with a programmer...even though you have a patent and you signed a non-disclosure I still think you need someone real trustworthy b/c I have heard some horror stories in relation to having ideas stolen..what's your take on that?
Thanks ..its a kind of book for me...I was perplexed about how to go about it...you have cleared the fog from the glass...
Cool, a lot of this is good advice for *programmers* as well as people who want to hire them. Specifically the stuff about nailing down a minimum first version, etc
As part of step 3 (Make a detailed walk through of every click) - I would also suggest making mockups of each major screen. The old aphorism, 'a picture is worth a thousand words' really holds weight, especially if you are working with an overseas development team.
There are lots of products for doing mockups. You can just use a simple graphics program like paint or Photoshop. Word has a drawing tool. I prefer using Balsamiq. It has drag and drop components for most components that are found on websites, which is much easier than drawing your own. I can design a simple page in less than 5 minutes, and a more complicated one might take 30 minutes or so.
Also, there are more options for outsourcing than just the major freelance websites listed above. We run a company in Philippines that helps people hire developers at reasonable prices. Feel free to check us out - Agents of Value
So what you're telling people is that if they want to hire programmers, they should think like programmers. That's not going to work. People who don't think like programmers, don't think like programmers. See how it works?
It's much more useful for an entrepreneur who doesn't think like a programmer to look for someone who can take high level concepts (make a translation engine for ancient Arabic) and break it down into manageable chunks.
So give them the high level concept and see what questions they ask, what tasks they come up with to make it real. I've seen people who can write moderately good code if you tell them what feature to make but can't figure out what features are needed to make up a larger concept. You don't want those people. Avoid them.
Derek this is a fantastic article. We're developing our first web 2.0 SaaS app right now and we wish we'd followed each of these steps in hindsight.
Seriously? Hire two potentially crappy programmers and play the odds? How about going with someone local that you can talk with, interact with? Get Yes, it will be a bit more expensive, but well worth it.
Have you ever dealt with the code thats been outsourced? 99% of the time it's absolutely terrible. No error handling, no unit tests, etc. Not to mention the language barriers and time zone differences.
Get a programmer that's excited about your project. If you do, you'll be able to get a lower hourly rate in exchange for some equity.
Don't look for a programmer through craigslist, but rather ask around your "circle". Don't let your marketing friend tell you that someone is a good programmer. To them everyone is a good programmer. Find a senior engineer, take them out to lunch, pick their brain. Tell them your idea, see what they think of it from an engineering standpoint. Take good notes! They'll be able to help you find someone with the required engineering talents.
Engineering is a delicate practice. Don't leave it to chance.
As a professional programmer of 25+ years experience, and freelance for the past 12+ (and part-time freelancing before that) I think your analysis of how to set out and document the project is first rate - there's little to disagree with.
However, your recommendation to use of one the freelancing sites is fundamentally flawed because your extremely unlikely to find any good programmers on there. I suppose you approach - hire a lot to throw all but the best away - has some merit for handling these circumstances, but your dealing with a pool pool of talent to start with.
Personally in 12+ years of freelancing I have *never* looked for work. People come to me through recommendation. All the good independent developers I know are the same - we never ever go near these sites in the first place. What you will get there is the 12 year-old in the basement types mixed in with the sweatshop programmers of India, Eastern European crackers, and the odd college student making some beer money. None of these guys are going to give you robust, scalable, safe code.
By way of illustration. One of my clients actually hired a guy like this 5 years ago and got him to write the whole of their web-presence. Superficially it sort of worked, but the underlying code is so full of fundamental coding errors ('God' classes, SQL Injection opportunities, massive global dependencies etc.) that it's practically impossible to fix. The trouble is now this, completely crap, codebase is in it's *very* *very* difficult to back out and my client is paying many times the cost of getting it right the first time - at a business-threatening level.
What you suggest is probably reasonably OK for smaller websites - on a sort of prototyping level - but it won't scale. At some point your going to need to get some real professional help in you can talk to face-to-face.
I would say that the "User Story" template format of writing requirements pushed by the Scrum Agile methodology is the way to go, as it chunks functionality in a common, easily overviewable format with a common language. Having a "backlog" also allows you to shuffle things around on a very granular level, re-prioritise things down to what is the essence of your product.
Remember, building something is not about creating lots of documents and tomes of requirements, it's about building a common understanding of what you want built.
Also, make requirements and "conditions of satisfaction" assertable, testable by listing them in the form of scenarios: (http://blog.recursivity.com/post/613811840/bdd-the-holy-grail-of-user-story-testability) - something which can be tested, pass or fail won't be an issue of contention later, whereas long, verbose and wooly descriptions will be.
I'd say when it comes to writing down what you want, less is more: concise is better, testable is perfect.
If you still feel the need to write down long lists of steps, do it in a simple diagram, rather than 5 pages of text.
I'm not sure if this has already been mentioned, but I disagree with the part about only telling the programmer about your stripped down 1.0 feature set. Any good programmer is going to want to hear the grand vision of the project along with the 1.0 feature set. Things that you may want to add later may not be trivial additions that could require complete re-writes to accomplish. Architecture and frameworks can/should be planned up front to at least "leave room" for things that are known to be coming at a later date. Otherwise you will most likely find yourself with a developer who (either because they are lazy or just because they are adhering to the limited scope of the project) do things "good enough" to get by with that release. This type of thing leads to more development cost down the road as features are duct-taped in place and spaghetti code results.
I hate to be "that guy", but hiring multiple web designers, each working in different locations, can often prove to be a nightmare. I understand the point here: that by not putting your eggs in one basket you are saving yourself a headache if one of them doesn't work out. But as the coordinator of many projects at IdeasandPixels.com, working off another programmer's code can be a nightmare.
Fact is, most people advertising their services on Elance are not going to comment/markup their code enough to lend any sense of organization to the next developer who gets it. Therefore that developer will either learn the semantics of the last or simply institute her own. Assuming we use three programmers throughout the process, that's going to amount to a lot of unnecessary code that follows no logic or pattern.
Information architecture and non-reiterating code make for a great website, not module-like programming cycles resulting in incoherent, get-what-you-pay-for code.
Just because your idea is going to be deployed on the web doesn't mean you shouldn't treat it like any other storefront or office-based business. To try to cut corners and go cheap is to only make the web a commodity, and will only serve to hurt your business.
Always remember that bid-based development is reciprocated by under-talented developers who can't get an agency job or manage a freelance career. If they could, they surely wouldn't be working for $8-15 an hour with no benefits.
I really appreciate it that you took the time to explain this. Before I read this article, I had a project but no idea how to work with a programmer to make it happen. Now I'm confident I can. Thank you!
Well what you have outlined here is very logical, but the reality of the collaboration between the client and the programmer is in fact more organic and less predictable because both client and designer / developer are human beings and they need to learn to communicate and the process is far more chaotic. If you really believe that you can educate a client to speak in logical, analytical terms like this then you are either lucky to have met clients sent from heaven or are daydreaming.
Why hire more than one contractor to build version 1?
Having redundant contractors is basically an insurance policy against something going wrong and wasting time starting over with someone new.
If you're not in a rush, why pay for the insurance?
Hi Derek,
I think your article is a really great place for people to start, but in my 15 years of developing software professionally, I've typically found that people don't want to go to that level of detail for a project, whether it's a website or a program, and sometimes when they do, it's not a good thing.
As several other programmers have pointed out, a good programmer will want to know what long term plans you have, because some things will be much easier down the road if you have them in mind while you're building that 1.0 version. I always tell people to make two lists -- one being the bare minimum of what they want, and the other being the ultimate wishlist, because while they can't determine the difficulty of adding in "feature x" on the front end, I may be able to. And there are some things that are *much* better accomplished on the front end. An example would be a recent project that I did that was a series of iPhone apps -- 5 apps with completely different content, but they all needed to be run from the same basic program/template. If they'd waited to tell me until I finished the first one that they wanted 4 more just like it but with different content, it would've been much more difficult and time consuming than them telling me that beforehand, because the whole approach is completely different as to whether I'm building a one-off app or whether I'm building a content engine that will eventually be the basis of 5 apps.
Also, I like succinct, but I also like a lot of details. I like to find out what they want and help them determine what they need, rather than them giving me what they believe to be the best solution to problem x, because often there's a much better way to approach the problem than just to provide the answer they're looking for (because they may not be asking the right question).
I also recommend asking around on Facebook and Twitter and getting recommendations rather than just hitting elance/guru/etc -- as several other people have pointed out, it's a race to the bottom and I've only met one professional programmer in the last 10 years who is still actually on those sites. Everybody else isn't.
On a final note, if you want the source code to an application, you need to mention that beforehand, and you should plan on paying extra for it. Even on sites like elance or guru, it should not be taken for granted that the source code is coming along with the project unless specified. You're paying for a specific service, a specific program to fill a specific need, and getting the source to that is not something that's automatically yours because you paid someone -- quite the opposite, actually. Source code is covered under copyright like any work of art (which is what the law considers it) and the person who created it owns the right to it unless they specifically give or sell them away. Even if you do get the source code, don't automatically assume you can do anything you'd like with it (from a legal perspective) because again, just like you can license a photograph to put in your book (for example), it doesn't mean that you own all rights to that photograph and can do anything you'd like with it like putting it on t-shirts and selling them. It's best to agree to everything on the front end, and get it all in writing in a contract.
In any case, you've written a great article that will get people much further along in the process of "I have an idea, how do I make x into a real program/app/website" -- and thanks for doing that.
I liked the idea of hire multiple for that first milestone. Very important!
My advice? If you are planning on offshoring your development, here is a full write up that you must equip yourself with before continuing:
http://www.paradigmpop.com/blog/diwant/2010/06/20/4-very-important-things-note-when-getting-software-programmed-someone-else
It matches up with a lot of what Derek said here, with the angle of pulling off a successful offshore development contract.
Good luck!
I especially like the idea of setting a version 1.0 expectation. That alone will save tons of development time and sets the right frame of mind for the client/owner of the site. The details in step 3 (detailed walk-through), however, is where client and developer often have different images of the end product. Although prototyping is great for this step, it can lead to problems too. Clients often don't know what they want, until you've squandered some serious time on a prototype. I'd vote for establishing a strong business case and complete definition of “what” the site will do. Then work through the details "how" with a good developer; one that has a range of skills from analysis through UI design. Think functional definition at this stage and iterate, iterate, iterate in development.
You may also need to partner the developed solution with the skills of a graphical/web designer.
This (hiring it done) sounds like an expensive approach. From my experience, outsourced projects have been the most expensive ones, with mixed results on quality.
Julian ((2010-06-20) Post #94) got it right. I don't know too many people that can effectively communicate their ideas for development or know where to draw the line for version 1.0. It's a very rare talent.
As a developer/analyst, being approached by a customer who thinks through every screen and every click is a huge plus. There are many who miss the complexity and/or inconsistency in their ideas because they haven't put the thought in up front. Outsourcing a poorly thought out design to multiple developers will probably increase the pain. e.g. one developer finds issues with the design so you'll have to redress it with all the others.
I also don't think the outsource vs find the local expert is an either/or decision. Hire the local expert as a consultant, pay them to review your design and to help you select the best of your three contractors. If there comes a point where you need to bring the coding back then at least your expert may have been able to steer the ship to some extent.
As always, the code quality requirements are always a subjective call and is proportional to how much money your customer will loose per hour its down or how many people will die if there's a bug. Engineering has always been about building the cheapest bridge the won't fall down. And to do that right you'll need at least one engineer up to the task.
Cheers
Andrew
Moin,
I'm writing with my Secondlife pseudonym, because hiring a Scripter is a typical problem for every SL business.
At first: Hiring more than one is a good idea, if you are able to attract more than none. Don't team them, because an expert programmer alone is more productive than an expert programmer slowed down by a team of average programmers. So the key questions is to make your job offer attractive to expert programmers. The 'How To Ask Questions The Smart Way' is a must read before even thinking about to hire a programmer.
Do NOT "Pay by the hour.", pay by milestones. A cubicle causes a productivity drop by factor 10, compared to best working conditions. Expert programmers are by an other factor 10 more productive than script kiddies. This results in at least a factor hundred of possible productivity.
An expert programmers knows about this difference and prefers fixed prices for impossible looking projects, that he is able to code fast, because the project is within his topic. So an expert programmer wont take a job that is payed by hour, and you only get the third class script kiddies, who want to earn money by lagging.
In real life, every project must reach prototype stage after 3 month, to enter productivity stage within one or two years. The typical prototype to productivity factor is 4 to 9, according to Brooks and others. So every project failed, that did not deliver a working prototype, suited for the pilot installation of your first customer within 3 month! Do NOT continue this project, but restart with a new programmer, or a new team, else it will likely become a tarpit and money sink.
ciao,Kephra
This is a great article. The very first tip is probably some of the best advice I could give to any non-technical person. Success with software is all about defining the unknowns and level setting expectations. I "V1" with the BARE MINIMUM required to make things happen is the way to go. I would always recommend sharing your big vision with your developer so they can understand what the future holds and plan accordingly. However, starting with the absolute basics is the best way to start seeing if your "great idea" really is great or just good or actually bad. Good article and I hope a ton of people read this.
If anybody needs software work done (websites, business automation or guidance in SEO and online marketing) I would be happy to help.
Please contact me at dan@iknowdan.net
Unfortunately, I think the whole premise of this post is fatally flawed. Let me rephrase the first paragraph:
Do you want to build a business but have none of the skills the business actually needs? Here's your key to riches!
The people who you think you are writing this for cannot possibly use your advice. I've seen the sort of overviews, specs, product plans, and even schedules they've written. They're crap because they have no idea what they're doing. I know one group of people that spent a year and a half writing a "spec" that could have been written better in a week by somebody with appropriate expertise. These sorts of people are also generally unable to evaluate developers, manage developers, etc. The idea that they would have any idea what constitutes a "day's work" is just preposterous. And I would bet most of them will be confused by a lot of what you've written, even though you've tried to put it non-technical terms.
I turn away opportunities to work with people like this all the time in my consulting practice -- people who want to start a technology business but they think the actual technology is a detail, that the value in their planned multi-million dollar technology business is in the idea (that lots of other people have also undoubtedly had). They think they'll just hire someone from Elance or outsource to India and get rich.
I'm not saying you have to be a developer. There are plenty of people in the software industry who are not developers. For those people, you have some good ideas (I've used your "I AM REAL" idea myself when soliciting outside input, and I think your start-with-competition idea certainly has merit). But the rest had better be obvious to these people or they're not competent. And your advice doesn't seem aimed at those people.
If you are a non-technical type and you really, really think you have a unique idea and you have some secret sauce -- unique content, a proprietary system, or an exclusive business relationship -- that nobody else can duplicate, first try to find a CTO-type to partner with you. You need someone who can both design and implement your first version, not someone who's just a manager. If you also outsource some work, great, but you can't outsource the core of your business. If you can't find this person, I'll bet you don't actually have as great an idea as you think you do.
For more on this:
http://www.thisdev.com/2009/10/you-cant-outsource-yourself.html
/Roy
Thanks for providing the framework. This is a great starting point.
Great advice. I tried outsourcing a version 1 of a music crowdfunding site.
Super straight forward goal, but it still blew up in my face (one tip of yours I should have followed was the hiring two programmers).
I did not read every comment but wanted to note for any that make it this far - another possibility.
Use the same steps above but direct it at students or recent grads. I ended up getting two friends on board eventually but my next best lead before they signed up came via a CS prof recommending some students.
And per the comment #109, I think folks that lack the knowledge to adequately discuss technology would do much better to find someone they can at least occasionally meet with. The occasional hands on meeting can do wonders.
You're very good at describing Agile Development without all the technical terms (Extreme Programming, Early Prototyping, Story Cards, Test Driven, et. al.).
I think the key to a successful outcome is communication. If someone implements/ develops/ programs your 1st milestone without follow-up questions, then they're doing what they THINK you want and not what they KNOW you want.
@109: You don't have to be a mechanic to drive a car.
Thanks derek. I will answer as a "programmer". Your approach will help you to find a programmer.
I think the approach is so damn hard for the guy with the idea to do it without support from technical people to ask the correct questions.
The most important thing in a software project is to align your idea with your users. And for that you need councelling wich show you your options and implications of provided examples and ideas. To develop better fitting ones.
Especially if you never worked with programmers it is nearly impossible to correctly transport your idea and intentions with just some requirements.
If you can do that like you described it you will find a programmer. But if you cannot it just won't work out and it is really hard to assess if you nailed it or not. Hard to control if you got it right or not.
To everyone who has an idea search your contacts for technical people and spin your ideas and user stories with them.
The execution, the act of programming is not as much important as the first part and that is where you should seek help where ever you get it from people you trust.
This do not have to be specialist programmers but people with the mindset and experience in software development practices.
And if you want go for the agile community and especially the method of "user stories"
@derek thanks for this post
Great read! Thanks!
The previous one we had was what qualities to look for
http://www.einsteinseyes.com/blog/did-you-know/10-factors-to-consider-when-selecting-a-web-development-firm/
But yours brings it to another level.
"Leave off all details that the programmer doesn't need to know."
As a developer, I can tell you that is very bad advise. Writing software is more about design and business development, than it is a technical skill. If the programmer doesn't know enough about the problem domain, he is bound to make a suboptimal solution.
As a developer, I think you did a good job of describing what "idea" people often do wrong.
Describing wizbang features is not the way to get a good product or a good developer. You must be able to describe user stories, which you detail well in this article.
Another point. You need to either pay full price or give up a large amount of equity. Don't ask developers to work for free or dirt cheap for 2% of your "idea."
And a warning: Have someone technically strong who you trust look at the code from time to time. Code produced by cheap outsources is often complete crap. I speak to people three times a week who are in a predicament because they are 6 months and $50K in, with a buggy product. It's happened to me, even being technical, because I didn't watch closely enough. You might be better off paying a top notch developer full price, maybe $80-100/hr because they will work fast. For $50K a good developer can build just about any site.
Great Article.
I love the reminder to start simple and then improve on it. Too many people over complicate things when first they should just make it work.
Great.
I would suggest putting together a first milestone and stopping your milestone list there.
Let's face it, experienced project managers have a hard time breaking down tasks into realistic milestones. An experienced consultant should be able to break down a project into milestones.
Similarly, UI requirements should remain flexible. Experienced programmers build up a set of tools they like to use and should be able to build something better and more usable than you can imagine.
Think of working with a programmer the same as you would any other professional. When you hire a hire a plumber, do you describe where every length of pipe should be and throw a fit when it's not exactly as you imagined it? Or do you describe the end product ("I want my toilet to flush") and allow the professional to work out the details?
Hmmm...
As a programmer that has developed 20+ web applications and maintained 10+ enterprise software deployments I do not think this advise will work.
I agree with SuperChuck in that you should treat them as any other professional. Would you tell a photographer, "I need 20 to 30 pictures of trees at various stages of there growth", or would you tell them "I am putting together a coffee table book about the life cycle of trees, which I am going to use as a metaphor for the mental states of people with Alzheimer's Disease. So I need shots at different stages, I think the early shots should be hopeful with maybe a small fish in a big pond feel. The middle stages should be very dynamic, and the last will show the decline and loneliness as the tree ages."
What you should do:
1. You should, tell a programmer what you want, be very clear and concise. Don't leave anything to the imagination. An experienced programmer will ask very pointed questions, like "What do you want to happened if they enter in incorrect data, and you should already have those questions answered.
2. Remain clam.
3. Assess the skills that are needed. You should realize that like musicians, programmers are not all the same. They have different skills. You know how County music is completely different than Rap music which is different than Operatic music all while still being music? Programming is like that too. Webpage development is not the same as web application programming, nor is desktop application programming. Security and database programming is a completely different skill level as a program someone made for a collage project. You should ask questions to determine what you really need.
3. Realize that programs are never "one and done" things, and you have to cultivating a relationship with your programmer like you would a freelance artist. When was the last time you ran a professional program that did not need update. The answer should be never. As your program grows and as the technology around it changes, it will need changes and updates to still work. Security vulnerabilities are found daily that could affect your program or the data you have collected. This is usually called maintenance. General rule of thumb, maintenance cost is usually 30% of cost of the original program. With that in mind, it is much more cost effective to go to the same programmer to get the changes. Keep in mind the programmer should still be documenting what they are doing to at least a level that you could hand the program to another programmer and they should be able to understand it.
Hope this helps.
As a web developer, I can say this is a very well thought out post -- and accurate.
Web developers hear from so many people with a "great idea". It's amazing how someone can go from a basic idea, to a project requiring dozens of developers in just a few minutes.
I find every one of these "great ideas" doesn't seem to be well thought out. Everyone can dream, it's the select few who can make a dream happen using realistic goals, and weighing the benefits of decision that actually succeed.
Yes it's great to implement "task A", but will it drive revenue? How much effort will it cost? Is implementing it cost effective? Important questions to ask yourself before dragging that poor young web developer along with you.
Keep it Simple. Complexity often hides a poor business model. Complexity SHOULD be for improving a fundamental business concept (Sell Computers Online, Translate English to Spanish, etc).
Also keep in mind, there are millions of people "thinking" of ideas. Try to think of why someone else thinking of your idea would fail. In truth virtually none of us are "that brilliant" to come up with something no one has thought of before. Why are current offerings inadequate?
Hello Derek:
Your compassion for others is so wonderful. It's good to know there are still people who care about others.
Helping people to bridge the gaps to allow them to succeed is one of the kindest things people can do for others.
Imagine all of the Artists of all sorts and even people seeking professions that may have caused themselves personal harm or frustration just because they didn't know how to get there and no one was showing them.
That's what I get out of your offer of communication. You're making it easier for people to find their way and make their own success. That is amazing. You live in the kingdom of Heaven My friend.
As you know I make music and have really created a great deal of music.
Visual Art has always lead the way for me. Recently I was accepted at The Agora gallery in New York. There are so many things that I have to do right now that relate to the info you offered and more. Your e-mail and communication came at a perfect time. Being accepted in New York is only the beginning. It's like getting a song released to radio. Now I need my patrons to support the work and help me. More than ever I am humbled before my peers and the public. My Art is my inner most feeling and expressions. I feel like I'm standing naked in front of the world. KNowing there are great folks like you to help me along the way with things eases the challenge.
I'll follow your advice once again and once again wonderful things will happen.
Thanks buddy..What a wonderful journey we are on living at the same time in the world. I'm glad I'm alive at the same time as you. You briighten up the world and my life.
All the best always,
John David Hart
Derek, wonderful advise. I especially like the methodical approach.
In my biz, we are hired by other web designer and developers and we also hire freelancers all the time. So, other than amplifying on all the superb content, let me push back only a little.
The push back is that for the great majority of web projects, that I like to call, 'the base of the pyramid,' no programmer is necessary. These types of project can be done by any low level web wonk, or even self built.
Secondly, for these types of projects, build it using WordPress. Period. Don't be distracted or seduced by free or proprietary, or online content management systems. WordPress is the way to go.
Spend the $70/year to register your domain and buy hosting. If they do not offer WordPress in the hosting package, keep looking. (You're off the 'beaten path' anyway!)
Of course, if you need heaving lifting like a robust eComm site or application development, you need a programmer.
I would go with Derek's methodology, but I would also see if I could find someone reliable and local. If the price is not that much more, and they demonstrate they can do the work, you're almost there.
Caveat lector: Derek is totally on the money when he recommends that you run the first step of the project with a couple of vendors in paralell. Sadly, you never really know if you have the 'real deal' unti you work with them. There are ways to filter vendors, but if you're in business, you know how to do that. (Hint: ask for and contact customers.)
All the best,
Al
Really good post. I've made the mistake of trying to go for v3.0 right off the bat. Thanks for breaking this down for everyone. :)
A great post having tips for entrepreneurs for executing their ideas. I agree with the simple or v1.0 thingie but at times things are not so simpler. You have to give the stuff which shapes your product.Half cooked apps will never be appreciated. On other hand you must have a team to do your work.
"Fortunately",I am a developer cum wannabe entrepreneur.I am often invaded by so many ideas that it often makes thing difficult. I started an app 3 months back which is blend of user demands and social network but yet to finish it. I am dreaming to sell it to someone in few millions :-)
BTW,I am turned on by exotic ideas so if you are looking for a programmer who can also help you to act up like an entrepreneur and could put some spice in your dish then do buzz me. My contact details are given on my personal site.
Thanks
Adnan
My Lab:http://sidlabs.com
god bless you with your new ideas.see you anoon.
This makes a lot of sense actually. When I get to this stage I will definitely come back to this for a little review.
D
As always - great ideas. I'd like to add two things:
1) Now that we have wordpress and plugins - most people don't need a full blown programmer for a basic website where you put up an EPK, sign people up to your email list and sell your music. Just find someone who's good with wordpress to get you set up and just about everything else you can do yourself.
2)Derek's advice is suitable for just about every job you'd ever want to hire someone for - including players for your band, engineers and producers, agents/managers, PR folks, yes, even business coaches like me.
I recommend you interview and do a session with several coaches before you hire one.
Great advice, but what about the fact that the developer might not program with a bigger project in mind, since he thinks it's only a small project, because he only saw phase one, especially when it comes to db design?
Derek,
I'd even say your strategy works for hiring freelance workers on non-programming related tasks too.
Thanks
I've heard folks suggest trying a similar strategy of hiring multiple contractors, but instead hiring new ones with few reviews and low balling them on the price. That way you could hire even more than two if needed. I'm not suggesting this, but it's an interesting perspective that I bet can also work.
usually a "brilliant idea" that can be implemented by an average elance programmer is not that brilliant at all
really brilliant ideas are hard to implement, and definitely not for the average programmer
the advice you gave here is perfect for average projects; top (read: brilliant) projects are not created with hired programmers
as Paul Graham wrote it:
"when I think about what killed most of the startups in the e-commerce business back in the 90s, it was bad programmers. A lot of those companies were started by business guys who thought the way startups worked was that you had some clever idea and then hired programmers to implement it. That's actually much harder than it sounds—almost impossibly hard in fact—because business guys can't tell which are the good programmers. They don't even get a shot at the best ones, because no one really good wants a job implementing the vision of a business guy"
sorry guys, that's the bare truth
"In practice what happens is that the business guys choose people they think are good programmers (it says here on his resume that he's a Microsoft Certified Developer) but who aren't. Then they're mystified to find that their startup lumbers along like a World War II bomber while their competitors scream past like jet fighters. This kind of startup is in the same position as a big company, but without the advantages.
So how do you pick good programmers if you're not a programmer? I don't think there's an answer. I was about to say you'd have to find a good programmer to help you hire people. But if you can't recognize good programmers, how would you even do that?"
the rest is here: http://www.paulgraham.com/startupmistakes.html
Hello Derek,
Wise advice! I'm a programmer in writing, audio, video, PowerPoint, Camtasia, and podcasting.
http://videocdradio.podbean.com
If you have an urgent project, and you honestly cannot afford my services, then, chances are I'll help you for free.
Sincerely,
David A. Boyington
Radio Producer
VideoCDRadio
thanks.... you left me no more excuses. :D
Derek,
One thing I'd suggest adding - clearly communicate to the round 1 programmers that what they're building is only the start of the project (which you mentioned), and that it should be built in a way that will make future extension easy and logical.
I really, really like the suggestion to hire multiple programmers for the first small step. Awesome way to get real, relevant work samples.
If it's a website project that is going to be monetizing directly from that site, you will be well served to hire out your information architecture stage.
Derek pointed out a few bits and pieces of what that includes, but this is the roadmap for your entire site and this is the point where all your business decisions are made. Too many people leave their business decisions to coders and designers.
excellent advice
ive been doing this a long time
even so - derek's advice is right on target and i am going to take it for my next megaproject.
small initial steps! what a concept!
g
I think this is fantastic advice. As someone who runs a programming firm I see many clients who come in who don't know how development works and want to try to put everything in the 1.0 version. Its the sure death of a project.
We try to advise them to narrow the scope. Then narrow it again. Then determine the most important features. That's what we start on.
The only thing I will say about developing like this is make sure that you have REVISION CONTROL that you own that they use.
An article on Revision Control:
http://en.wikipedia.org/wiki/Revision_control
This way, if you higher a single programmer, they finish the first two milestones and then move to a south american country, you have everything they've done, and how they did it stored. In general I find a programmer that works alongside other programmers are far more efficient. They have someone to ask when they get stuck. Being stuck is expensive. It kills developers and projects.
Todd Edman
great advice
h
Hi Derek!
Thank you for sharing wonderful idea.
I have read this article and thought for 2 weeks.
I wonder how can I apply it.
Would you give me any other example in order to understand and apply it to other fields.
Yoshio
It's all about feedback! For a developer the client's feedback is very important in order to get the project going on the right track. Some times bad communication can affect the final outcome.
Recently, I was asked to write a blog article about remote management - "Remote management and working from the road – is it for you?". Toward the end of that article, it describes how to locate developers and programmers. Perhaps this is helpful information to others as well. http://blog.ebookpie.com/
Hi Derek!
This is very useful post. And I have a question: how should I choose programming language for my project?
Let the programmer use whatever language they want. — Derek
Dear Derek:
You left out the most important last step. Hire the very best SEO
(Search Engine Optimizer)and your sight will be at the top of any search. I looked all over America, and got quotes from $1,500 to $2,300 and with monthly upkeep fees. I ended up hiring these guys out of New York:They cost $400.00 and I only used them once about three years ago, and never went back for a tune-up. They kept me at #1 until just recently, I've slipped to #3. Yep, you bet I will get back to them for an SEO tune up.
WebCanDo.com
e-mail infor@webcando.com
I am so sorry but I cannot find the name of the three guys that helped me three years ago ($400 bucks for 3 guys? Wow!!!
Their names are around but I would have to raid the garage archives. Just contact them--they are the best in the business and most amazing grace--the cheapest.
Hi Derek, Great article, I wish I had read it before I spent &k+ on a website that wont do what I want.
One concern though. If you just put out for a 1.0 version you might risk what happenned to me. That is after spending thousands you find that the platform used (In my case Joomla)won't do what you want and you have to go back to the drawing board and start all over again.
I AM REAL
Derek, Great process. As a programmer working on some of those sites, I totally agree with this process, except for 1 thing. If the programmer doesn't have a lot of history on the site, thats not the same as hundreds of bad reviews. Just ask to see their portfolio, everyone hears about working this way in their own time and may have just started working on elance, even though they've freelanced locally for years. Personally I stayed out of elance for a long time because I thought it was all spammers and I couldn't get taken seriously on it. I was wrong, and its awesome, but I just don't have that much backlog on elance even though there are many sites that I've done still in production, with minimal changes, after years of doing business.
Thank you Derek, that was a very informative look at something many people need these days. I found it very useful and helpful.
The one thing I thought I might point out, only because of my own personal experiences, from using some of the freelancer websites.
Occasionally, I look for work, or small projects to do using some of the named freelancer websites. One problem I have run into a couple times, is a provider that has agreed to use my work, only to come back at the time of payment to tell me that it is not authentic and refuse to pay me.
I don't know how authentication programs work, but it can be frustrating when you know it is.
Just a warning, that there are those people that will try to get out of paying for your works appropriately.... Not that many of you didn't know this.
Great post. It's nice to have a step-by-step guide for people to follow that may not know where to start.
Can't suggest enough the early book by the 37signals folks. Getting Real.
http://gettingreal.37signals.com/
The goal here is to get 1.0 out the door!
Kindly,
Noah
Tell him/her about your big plan from day one. So he/she knows what to think about when developing the domain model. And then tell him/here what you had in mind for version 1. If the database and domain model are not built to meet your big plan, you will run into trouble later on.
I wrote a similar post at http://www.deserettechnology.com/journal/writing-a-good-job-ad-for-a-programmer not too long ago, though it targets more of a traditional classified placement than Elance et al.
Also, today on Elance I saw a job that follows this article exactly.
Can you cite any example of a web site that was built using this philosophy and is successful?
Thx
One thing I've noticed, as a sometime contract programmer:
The programmer does not care about your company's position in the industry. Ads that start "Fortune 500 widget manufacturing company seeks..." might as well say "Blah blah blah blah blah, seeking..." As a programmer, I care about what the job is and whether I'll get paid.
I also recently worked with a recruiter who wanted to hire me full-time for a startup. He could talk extensively about what the core idea was and how to monetize it, but when I said, "What kind of a software stack are you building this on?" -- because I probably have all of about 20 minutes' experience on .NET and ASP. He couldn't tell me, which made me wonder just how much research he had done before deciding I was perfect for the position.
Summary: If you want to hire programmers, think about things that matter to programmers. If you write your ad in a way that will attract a salesperson, mentioning the company size and status, the message you send programmers is that you don't speak their language and don't understand their concerns, and that's not what you want to impress upon a potential hire.
like the post .. thanks for sharing!
I think something important to add is the share the ideas with the programmer and be flexible about what the programmer may bring in.
Most programmers are not graphic designers, keep this in mind.
Also, once you decide for one of them, keep in mind that developing software is an somehow an art, therefore it may take a bit longer that you are waiting for and also the cost may not peanuts as most people think.
If people need to talk to a programmer please visit us http://www.phidevinc.com we always give free estimates and may throw a few ideas for your project.
Great post Derek. Some suggestions from me:
Set up a source code control repository for the project, either on your own server, or at github.com (if you use git for source code control), or other
places if you use SVN or CVS (for example repositoryhosting.com). You can do it, or the programmer can do it, but you must have complete access.
Recently saw a programmer job that was schitzophrenic to the extreme-
They said. "We've got a totally laid back work environment. You WILL be in the office 7:30am to 6pm Monday through Friday." "We respect your creativity! And you might clean out the toilets, so hope you like eating urinal cakes."
Craigslist, how you make finding the wrong job so funny!
If you do want to tell the programmer exactly what you want when it comes to UI, that will be helpful. And read "Don't Make me Think" by Krug, before hiring them as well. That way you'll not try to make the site too complicated. Your programmer is usually not a designer, and you need to know what will get you the most sales at a design level.
This site shows a good example of UI design. Simple, clear, effective. And of course, the programmer is top notch too. http://stevehavelka.com.
Mazarine
Good article Derek! I've just added it to my delicious :)
One addition (quite obvious but necessary imho): ask the programmer to update you periodically regardless of the news.
Great post, just a comment about this part:
"Be succinct. Programmers love that."
Plz, DO NOT confound 'succint' with 'incomplete'.
Incomplete descriptions of what to do in a project is a huger problem!
Many people wish to hire at the lowest cost. Mistake no. 1.
Also it's very important how you deal with the person whom you hire. It's not just being friendly but being fair and reasonable with respect to 'performance'. Don't kill the guy with your demands. Here you apply the rule ' Do unto others...'. Most hirers forget this basic courtesy. I'm talking from work experience at Elance.
Also you can hire a 'newbie' if he can show you some of his work otherwise new people wouldn't get a chance and often they are hungry to perform!
Mostly you'll get excellent work done just by being FAIR and assuming nothing!
Derek - I have an idea and I am using this guide to a tee - it is wonderful. But what do you suggest in terms of legally protecting my idea before I explain it to a programmer/developer who can then just do it themselves and take ownership?
No need to “protect” the idea. (I'll write more about this some day.) — Derek
I've heard a lot of people swear by VWorker (it used to be RentACoder). They seem to have more diversity to offer than any other website. What I mean by that is that you get more diversity in terms of the freelancer's skill levels, professional niche, and salaries.
Nice article. Very useful. Now I see that is a whole community that is developing their big ideas such as me.
I have only one question. How do you avoid the freelancer developers to stole your idea? Is there any way to protect the idea?
Hope you can answer me. Thanks
I have done a little programming and am starting my degree in a few weeks, and quite frankly, your advice is to treat a 'programmer' like some unknown being. THEY ARE A PERSON JUST LIKE YOU AND ME. With the programming I have done so far, if you told me things like this does, I would ask questions to fill in everything this says not to tell. I would ask why you want this translated from english to arabic, I would ask why you want the user to have to click 'done.' A programmer will know tricks and things that you may want, but dont want them simple cause you dont know of them. Pros: following these instructions will give you exactly what you want, but you wont be given anything that you didnt know you wanted! The key is to make cutting edge software, and there is no way a non-programmer will know all the cutting edge capabilities. Basically, put the programmer in the cockpit, not the other way around. Look at Bill Gates, look at Mark Zuckerberg. If you know these two gentlemen's stories, you should now realize that if you get your programmer exited about your idea like you are, they will work for free or much less than they otherwise would. This is all coming from a genuine geek and a real-world entrepreneur.
I agree. To be clear: the process described above is only for the initial hire - how to get started - taking into consideration that many people you try to hire will disappear. But once you've turned nothing into something, you can get good people involved more deeply. — Derek
@Derek: Congratulations! Your advice reached the masses so now there are quite a lot of job postings on these freelance sites copying your words *verbatim*. Not that there's anything wrong per se, but it seems immature to me. You also said that "people you try to hire will disappear" but unfortunately that's exactly true for the clients as well. A lot of the job ads will expire, clients will fail to communicate in a timely manner, etc.
@developers-crapping-on-freelance sites:
1. You *can indeed* find smart developers there (disclaimer: I worked through oDesk before). There are guys I know of doing some impressive open source work and they are certainly able to provide high quality service to the clients.
2. You *can indeed* build products with distributed teams. That approach is advocated by 37signals and they talk about it in their recently released book http://37signals.com/rework/
Also check the new blog on the subject from Avdi Grimm http://wideteams.com/ (of course distributed != offshore exactly here)
I want to reinforce the idea that what Derek has outlined (quite succinctly) is Information Architecture. I would only suggest that instead of going directly to coders/programmers, who in my experience are notoriously poor designers, you first take your idea to an information architect. You wouldn't take your idea for your dream house to a carpenter first, would you? You'd want the expertise of an architect -- someone who knows not only about the nuts and bolts of information systems (be they websites, programs, whatever) but also has a firm grasp on user interface issues, information organization, and the other pieces that go into a well designed system. In other words, someone who has training and experience executing the steps that Derek has outlined. Check out a book on IA, there are several that are very approachable such as "Information Architecture: Blueprints for the Web" (ISBN 0-7357-1250-6) by Christina Wodtke. I use her book in my Intro to Information Architecture course in the School of Library and Information Studies at FSU (from which, by the way, you can earn an ALA accredited MS completely online.)
Please add one important point, that I wish all people seeking architects/developers would employ. PLEASE learn just a tiny bit about computers and development. I've been asked to make WOWC clones in three weeks, make ridiculous functionality changes that "should only take a couple of minutes to change right?", etc.
I'm not saying go and become an expert, just to try and understand what it is developers actually do. To the average non IT person, software development is still the work of magic (thanks hollywood).
Other than that, great information.
excellent post. have followed it (almost) to the letter and waiting for results
Derek,
How would you plan for the budget for a milestone project like this? Do you have an estimated amount of time that you would expect them to complete it in? What would you expect to pay in terms of hourly?
Just curious,
Jeremy
About time: see Step #4. About budget: see Step #6. (They will bid.) — Derek
Thank you Derek!
I'm in a similar situation now. Your post and a comment nr.181 help me a lot.
Best regards
Thanks, Derek. I have to say however that i'm a little confused now. i was just about to post my project on elance and the rest of the freelance sites when I began reading all of the responses to Derek's blog. I'm looking to create a social networking site (don't laugh. And no I didn't just watch The Social Network movie and get excited). Since I SHOULDN'T go on elance and the like, and it IS better, as many of you say, to disclose the WHOLE idea rather than just a nugget here and there (as long as you are dealing with a solid programmer, which is the type I definitely want to deal with) then I'm abandoning Derek's process and and just want to say, I would love to hear from any programmers. I have budgeted $3000 to $4000 for the project. Just go to my website and find the "info..." email at the bottom if you want to talk about the project or just want to answer a few questions.
I'm very new to this and would appreciate any help very much.
Outsource a Programmer now..
Outsourcing is subcontracting a process, such as product design or manufacturing, to a third-party company. The decision to outsource is often made in the interest of lowering firm or making better use of time and energy costs, redirecting or conserving energy directed at the competencies of a particular business, or to make more efficient use of land, labor, capital, (information) technology and resources. For more details you can visit my website softwaredevelopmentoutsourcing(dot)org and services-outsourcing(dot)org
Being on the side of a contract developer sometimes I find it interesting how hard it is to get people to pare down their feature list. Earlier this year I was talking to a company about building a complex application for them and they were only willing to cut 20% of the features their mature product already had from the initial 1.0 release of its replacement they wanted me to build.
If you can get something that can be sold to a portion of your customers quickly you are better off than if you spend a lot more trying to make something you can sell to all of your customers right out of the gate.
listen to the programmer. they know what they are doing. dont try to tell the programmer how to do things; take their advice on board.
also, dont skimp on detail. if you ask for a page that has a video on it you will get a page with a video on it. if you actually wanted a system to put lots of videos on lots of pages then ask for that. dont ask for one thing then turn round later on and say 'thats not what i wanted' because thats what you asked for =)
TY, this has saved me from overdosing on headache medicine.
Warmest Regards,
Derek,
Splendid post, I like it! As a webdeveloper I'd like to add a few things. In my opinion you missed two things.
First, consult the programmer. He's good at what he does (or at least you think), so he'll have advice on which steps to take. Think of yourself as the visionary: someone has to get you back on the ground again. I've had it many times with clients, they have grand ideas, but with a slight adjustment I could make it better; easier to manage, less cost, more profit and so on.
It maybe hard to step over the "I invented this, so I know better" attitude. Most programmers also know the world (internet, software dev.) they're living in and they can give wise advises on what will float and what will sink.
Also, considering your steps about imagining all the clicks: it won't do bad to hire interaction designer or communication specialist. No insult meant, but a lot of the programmers out there can only do what they're good at: programming. And you, as the inventor, can only do what you're good at: inventing.
Second, which is (or must be) a rule of thumb around the internet: make your product (app, website, whatever) do one thing, and make it do that one thing do best. This brings you two good things. First, you're doing one thing that you're really good at. Potential users will come for that one thing and will stick around, because you're good. Example. Youtube is good at playing video's, but not because we like the playlists and the social media sharing that much. Hence, it focused on playing video's well first, not on serving playlists. Second good thing: doing one thing well means you have a product when its finished, a workable product. If the programmer decides to leave you after he's finished with his work (product 1.0), you won't be left with a stew thats only half cooked. If you would tell him to focus on the playlists first, then you would have nice playlist - but no video's to add.
And well, thats about it! Hope somebody finds this useful. To recap: consult your programmer! Hire specialists, not only programmers. And make sure your product does one thing, and does it good.
Best regards,
Reinder
I am a programmer and have hired programmers. This is a great post. What I have found is that what you get is only as good as what you give the programmer in specs. Let's face they aren't mind readers!
I just wanted to say thank you very much for this article. I was in the process of looking for programmers for a job when I stumbled across this article. Like many I was trying to get quotes on version infinity but this made me really rethink my approach. Will definitely link to this is an upcoming article on my blog.
I am very appreciative for your helpful post and the conversation it inspires in the comments. Thank you for your advice.
-Cass
All these freelance sites are good for small projects. Complex projects need expertise from a very experienced programmer, which in most of the cases is already hired full-time on a well paid job and will not take adventures for a few bucks, or by a professional team because the job can't be done by a single person (sometimes you need to split design, testing, developing etc. tasks).
Writing code is an ART. This involves originality, hard work, enthusiasm, friendship relations between developer and client. All these conditions are rarely meet on freelance sites in case of complex projects. REMEMBER that success of a project is 50/50 split between the development team and the client. Everybody has to be GOOD at where he is involved.
My advice for a serious client: search first for local partners/developers whom you can meet at coffee in a restaurant. Definitely this will increase the probability of success for your project. Don't take adventures with VIRTUAL developers, except when you believe 100% (not 99%) you found the right guy.
Advice for a serious developer: get a full-time job where you can talk to REAL people, where you can have a stable job and do the things you love to do for many years.
I believe sharing your version 1.0 in a wireframe design with brief description is a great way for a programmer to graps the deliverable.
Unless you want a creative inputs from a programmer.
1. A competent programmer is more likely to say “why didn’t you tell me that in the beginning so that I don’t have to re-engineer, re-do, scrap the current version”—unless of course this is a prototype.
2. Nouns and verbs? I never met a programmer who thought in nouns and verbs. Good programmers think in terms of pictures and objects; a programmer can picture a “company” – which is nothing but an object that has some associated properties; but we don’t need to be too succinct when describing properties at this time; we need to understand how the objects relate: A company has accounts; accounts belong to a company; A company creates projects; projects have documents. The rest of what is described are the “business rules” applied to the objects: “The system counts how many words are in a ; the company marks the ; “….they log in to translate the etc. Business rules are flexible and ever changing whereas the objects the business rule act upon remain more or less constant – changing only when the business rules change.
3. Write a detailed walk-through of every click. Generally, a path in an “IF-THEN branch” has two outcomes—like a fork in the road; now if there is another fork at the end of the first fork, you now have 4 possible outcomes.: (2 outcomes from first fork + 2 outcomes from 2nd fork makes 4 possible outcomes) Add another “IF-THEN” and you know have a potential of 8 outcomes (2 x 2 x 2 = 8) The point is having too many “IF-THEN” conditions can make the road full of twists and turns, i.e., complexity that’s going to make the programmer think all the “chips” are crumbs and that it would be easier to eat an elephant. Instead, think about how you want your objects to behave. For example, the object knows what to do when the fork in the road is a “new user” vs. “existing user”. In this example, the object “User” has properties like Name, Address, etc… and the “User” object knows how to handle the “new user” scenario (message) by showing a form for the user to enter their Name and Address. The “list of actions” is nothing more than the various messages that the object will respond.
4. Break it up into mini-milestones. Have the programmer create an object—an account or project or user or something it doesn’t matter. What matters is can he/she create the first mini-milestone? Focus on one object at a time. Get that right first before you work on objects relating to each other--get the account object working and the project object working before trying to determine if the account object can send a message to the project object.
Also, tell your programmer that you want to make a change. How do they respond? What is your “change management” process? Do you even have one? How long does it take for the programmer to make the change—how long is the turn-around time? Do it and find out if a “one-word” change requested on Monday doesn’t get done until Tuesday. Depending on your needs, 24 hours may be sufficient;
5. If you want to determine where your bidders are coming from, that is, what site is generating the offers, (low offers, high offers, local offers, off-shore offers) then consider adding a “code” to your help-wanted ad stating to place the “code” in the subject line (or body..perhaps concatenated to the words I AM REAL ABC123). In that way, you’ll know that a response with the a code “ABC123” in the subject line is from rentAcoder and a response with a code of “DEF456A” is from elance.
6. My only take on this is to find someone who speaks your language because communication is paramount.
7. Hiring one from each site is up to you—it’s your money etc. Things happen, people die, people get sick, people make excuses, etc… It’s out of your control. One may start out of the gate in the lead only to falter at the finish. Another may be slow to start but have the will and determination to finish strong. Look for someone who is determined, persistent, and willing to do what it takes to get the job done on time.
This is really interesting.
What do you think of the "FindTheTechGuy" guides? Apparently they teach you how to find programmers to partner with so that you don't "burn money" hiring programmers.
Sounds like a great idea. I haven't checked it out. Not sure why he doesn't just list the info on his site instead of making it an email-report. — Derek
A very interesting topic, my suggestion is to never hire a remote developer, cause you never know what he is doing all the time specially specially when you have a deadline, I had an experiance with .Net developer, and Lost the project and even i paid a handsome amount for the remote developer without getting anything.
but in the next project i found the developer and I assigned the project not hire on hourly or monthly, its better to give complete project and moniter the progress of the project, I personally suggest you http://www.snushah.com for PHP Application or web site work
Thanks
need one for books and game invention
I have never programmed, i have tried to learn it (java/C++/ etc), but was not successful. I have a project idea that i would like to see through, but am completely unsure of how to go about it, this gave me a lot of help, thank you.
I do have one question, Is it possible to hire a programmer on a part time basis? (i have very little to start my project, but can work it part time with extra cash)
It is not easy to find the right programmer. thanks for the advice.
Nice post Derek, but one thing which I'd like to add here, it is not only those freelancing portals that have potential good developers, in fact more than 70 percent stuff there (buyers/ sellers) are non genuine or part timers, most of the good software development companies are outside these portals.
A buyer can easily do a google search with right keywords, contact potential companies via their websites (like our customers do), check their references, have interviews/ phone call, experience and rate their responsiveness, and pre sales process, and then shortlisted some 5-6 developers.
Let me share a bit about my company Agicent Technologies http://www.agicent.com/
We do provide mobile apps/ iPhone apps development services, and have done more than 40 projects in three years, and 36 projects have been done outside elance, odesk, or guru, or vworker.com, though we have our profiles on all of these, but after my long bidding experience there, I found out that in more than 90 percent of cases, it is only insanely low price which serves as a decisive factor for any project. I left bidding there finally, and kept mine and my sales team focus on social networking, events, blogging, answers, references, web, and Email/ tele marketing to generate genuine customer inquiries, and that is a reality that resulted customers are mostly well paying, quality oriented, and usually a firm or companies as compared to those coming via freelancing portals (most of them are only price sensitive). No offenses to anyone.
Btw, how many developers on these portals are there whom you think have the ability to understand your business needs other than coding needs, or who bothers for that? How many have you seen who have any idea that why you or your company is looking for certain development? These understandings may not seem worth during bidding process, but this is a worth quality, and helps you in many ways during and post development, and those genuine consulting vendors act as your true outsourcing partner for long term.
Also, on freelancing portals, what you see is not what is reality always; freelancers with good reviews give you low prices, but they would also execute your project in parallel to 3 more, which you won't like, but since they have to maintain some profitability, you'll be needed to bear that.
Just think, that ones who don't have any value of their services and skills, and who don't have firm belief on their estimations and cost, will hardly value your business idea and project, and get it done (or leave in the mid) just as a grunt work, which is not the good way for you!
Even if there is escrow to save your funds, there will be nothing to save the time you've lost; and the pain you've borne, and you may end up losing the competitive edge in your market.
If you are really looking for a serious business out of your app, you not only require one time development, but a regular consulting/ development partner to regularly update your project (with new features, quality, enhancements, localization, compatibility with new versions like iOS5), most of the freelancer coders can't do that because they execute your project post their regular office hours, or on second priority, just for few extra bucks. Again, no offenses to anyone but this is what my experience says.
The bottom line is that, it all depends upon what a buyer requires - a one time coding service, or a serious consulting service from a partner who doesn't only do your coding but does feasibility study, QA, consulting on new features, project management on their own, act professionally, give you direct email/ call support, provide you regular availability and accountability, and standard legal contracts. The choice is yours.
I've once posted an highly non-feasible iPhone programming project on Elance, oDesk, Guru as a test run, and I swear I received almost 10 quotes per day, ranging from 1 K to 10 K and coming from individuals to companies, and I was surprised that only 2 out of the whole bidders bothered to ask me if I need them to do a feasibility study of the project as it seemed pretty not doable to them. You can try this yourself as well, and see the results.
I don't deny that there are good developers on these portals as well but you've to do a lot of filtering, alternatively you can do a google/ social networking search and land up at companies like mine :) and check out who is worth to be worked with.
We don't take on any project without confirming the feasibility, and project plan. We don't mind refusing to any project if we don't have free bandwidth, if deadlines seem to be not doable,or if requirements seem to be vague. We dare to ask our customers to relook into their specifications and do a homework and come up with finalized stuff (in case of fixed scope projects). This can't be a strategy of freelancers at all, they keep hitting bids, and don't mind taking up a new project even when they don't have the bandwidth, in order to get some profit and they are right to some extend as this is the only way they can generate profit, by working in volume.
But a genuine development company can't survive like the freelancers, and sustain quality engineers with good salaries.
There are good or bad experience everywhere and we can't generalize but we should at least know the difference, pardon me if I had hurt anyone, but what I've shared is my experience and analysis.
In either case, you being a customer must need to do a lot of scrutiny and dig around to find out best vendors for you, who may not be overall best in the market, but they match your specific needs, which is most important for you.
Derek is right in saying that you do your homework first, be ready with the final specifications of your project, and then only go for a search for developers. Just want to add one more thing, never underestimate your project as simple iphone app or something ;), there is nothing simple in software engineering, you can get estimation of the same work ranging from 10 days to 100 days, so better ask your developer about the basis of the estimation, never consider your work as less, that will harm you only. Paying less can be a good wish, but estimating your project really low is dangerous.
Finally, if you have any questions or comments on what I've said above, or need assistance for your app development project then contact me via our website agicent.com's contact page or send an email to our sales ID given there.
Best Regards, and thanks everyone for reading this.
Every idea feels like a breakthrough that noone else has discovered. How do you ensure that your IP is protected?
Derek, I've also written a post about how to hire the best matching developer for your project, may be its helpful for vendor selection. http://iosappdevelopment.blogspot.com/2011/07/best-ways-to-find-out-great-iphone-app.html
I wish more of my customers would read this post. It seems that everyone wants a version 10 of a product that is in its first release. When will people learn that if Microsoft waited to release Word until it had all the features of version 10 then we would all still be using Wordperfect.
Awesome post. Especially relevant when outsourcing programming work. I'm not a programmer by trade but I always write out full specs and starting points (milestones) so that they clearly know all the steps involved.
If you just send over a "wants list" without clearly breaking down the measurable steps and objectives I find they often get confused - so like you said the simpler the better.
That way deliverables will be in sync with what you expect. Great list thanks again.
Great tips!
Also, I have another tip for those who are interested to outsource development:
It’s best to hire an entire team on the same country. Takes away the hassle of micro-managing people. :)
For a younger entrepreneur with small-scale cash, hoping to have an online concept off the floor, this may be quite possibly the most practical, crystal clear, insightful examine. Thanks greatly for sharing.
Being a youthful entrepreneur with minimal money, wanting to have an online thought off the floor, this happens to be the best invaluable, crystal clear, insightful scan. Thanks greatly for sharing.
I need a programmer and I need one for a project that would be totally original and one that would be in high demand for webmasters all over the world. I need this to be a joint venture and one that would be very prosperous. However, I don't know how to tell you the details w/o me just giving away my idea. Contact me and inform me if you have the skills to make just about any kind of programming idea come to life.
I'm still trying to get over that whole fear of having my idea stolen from freelancers.
I read a thread last month on hackernews recommending not to worry about it, but I can't get my mind around it.
it
Its very informative topic for a common person as well as professional also , i agree the idea of hiring more than one person but it is also better to hire a team of developer to control .
Here's a unique idea I'm trying to get out for someone to create. I'm no computer wiz but I don't think such an idea exists. I couldn't find such a thing online. Tell me if I'm wrong. Is there a social networking site that allows users to find like minded individuals. Not friends, not family but people that share the identical set of beliefs disected to their basic elements? For example (just an example), I want to find people that are prochoice, anti-union, anti-welfare, anti-war, for renewable energy and nuclear energy etc. And I want to be able to have an online location to communicate and connect with these people, a community of sort. And if no one is exactly "like me" it will show the percentage or number of people per belief so that I know what belief to "drop" to get at least, let's say, 80% "likeness". This would be awesome! Reasons and implications - Republican and Democrat labels are just too basic.., kids that thought they were too different and outcasts now find others, efficient networking, and tool for activism (Many people don't get envolved until there is a large group of like minded individuals.) This would be such a powerful social networking concept.
..
another good site for posting positions is HTML Jobs Finder, allows you to advertise for free
Finding a well qualified developer can be quite tough, but I have a simple answer...Get a Referral!!
I actually know many talented (and affordable) software developers. I'd be happy to provide an introduction if anyone has a project they need assistance on.
Thanks,
Brett
dev @ cspreston . com
Good Article.
Though the points mentioned are not something new for any freelancer, but do appreciate the way you have put it across.
Your intentions and presentation is highly appreciable.
Hi Guys,
I'm not a developer, but I recently had a few bad experiences with developers (maybe because I did not follow the advice given in this article which I only just discovered - I hired off Craigs List instead).
Now, I'm looking for a solid PHP developer(s) based in Los Angeles to complete my project. I decided now that I'm only going to go through referrals or go to companies - not randoms from these freelance websites - If you can refer me to a senior level type person or company, it would be greatly appreciated.
Thanks,
Evan
corpgrowth1 @ gmail . com
Thanks - very helpful. just got done with my first attempt at outsourcing, and wish i had read this before . . . But glad i read it before my second.
hi derek, ive read through your blog and its great but i still dont know where to start!! i have an idea for a app ( iphone , android ect but dont have a clue where to start and who to contact and who to trust. if you can help me email me thanks again .
Fantastic post, thank you! My biggest concern is the following: what if a competitor is fishing for people posting engineering jobs that have to do with building functionalities similar to those of their apps in order to find out who else is planning on competing with them, and offer to do the job only to get to the full version 1.0 and steal the idea? How can we prevent that?
You got it right, writing a detailed walk-through of every click is very important. I have used that myself too and it was great! I cam across this video about what we should know before we hire someone. It's a great video that I also recommend.
I have hired over 250 programmers since I began my career online. I learned 3 very important things during that time.
#1) Choose programmers based on their proof of extensive experience.
#2) Make sure to have the logic flow down of what the problem is and and what you wish to accomplish.
#3) Release escrows only after being satisfied that your script or program is working and 100% bug-free.
Today programming cost can be leveraged even more so with the advent of micro jobs sites.
I used Fiverr for about a year. Made a lot of money selling gigs but noticed they began to have a lot of competition and I received slower sales because of that. Sort of how adwords competition blew us all out of game.
I decided to bring out FiveDoesIT, a micro jobs site that many Sellers will make money a little faster than with Fiverr since we are new with much less competition.
hint: I'm looking to see lot's of growth shortly which means lots of sale for our sellers.
You are welcome to stop by and take a look. Free sign up. Thanks
Karl Jackson
Ceo - FiveDoesIT
Thank you very much. I was also looking for programmers / developers for a task when I found this article. Like several other people I was trying to get quotes. I am totally satisfied with this post. All these freelance sites are good for small projects. Difficult projects need skill from a very experienced programmer.
I wished I had come across this before I built out my online systems. This could have saved me a lot of money and headaches!
Hey Derek,
Thanks for doing this. It answered a lot of my questions. I have another question to you.
Say I shared my idea with my programmer. How can I be sure that he won't steal my idea?
Thanks.
Thanks Derek! This is super helpful!!!
I was wondering if you could help me answer a couple quick questions... I'm trying to put out a super simple calculator app. It will only have two screens/pages and I'm only planning on making the app. for the iPhone to start. How long do you think this will take a programmer to create and what do you think a fair price would be? Thanks!
Ah, sorry, no idea. The only way to find out is to ask around. I did something similar for Android in 7 hours. — Derek
I have an idea for a new service that I want (realized on the net( with 0 competition) . but how to protect my idea ?
1 some programmers offer to video their work. what does that mean? videoing the source code as they type, or just their faces?
2 any online samples of programming contract that is recommendable?
3 is paying bv paypal recommendable, because there are certain type of "product" that paypal does not offer refund (for example, if you paid online to have your iphone unlocked, paypal does not offer refund for this type of service, if one is unsatisfied)
This is great advice Derek!Thanks a lot really!
About the freelancers part, i'm using www.peopleperhour.com and i'm more than satisfied with the quality of the freelancers there!
Hey Derek
Excellent post enjoyed reading it. Is there any programmers located in melbourne, Australia on this page, if so please email me back.
a.ahmed205@gmail.com
Thanks
Dice
I hire programmers on Odesk / Elance on a weekly basis. Having a very detailed description of the project AND interviewing the candidates through Skype can help weed out the bad candidates.
I agree and I cannot stress more that you need to describe the program fully before telling a programer and if you are looking for a programer you can hire for dirt cheep just go over to my web site jboysoc.info.
WOW, thanks Derek.
You've given me hope as I keep hitting brick walls with my idea.
It may never work, but I wont know till I try and you've given me a little boost in my quest to get the minimum I need to test it.
Thanks again
Very nice article, if anyone needs an application i will make it for you and website for FREE. if youre interested please email me at chaz788inc@gmail.com
Thank you smart one. You have started me off on good footing. I was lost at where to begin. I have all my domain names merely sitting doing nothing and have some good ideas for my website. I have tried to build myself website using site builders and even then was lost on how to plan the project. I really would prefer having an expert in website building do the work for me but that too I was blank on how to find this person. I will put some of your advice to work right away and see what I end up with. I do have some concerns though which has to do with the sites you listed where I maybe able to find programmers. I think I really prefer the referral idea better. I really thank everyone else who commented as well. Some of you guys have brought up and expressed some things that were my concerns. Thanks and best wishes to everyone with their plans and projects. Now y'all wish me success. One Luv Derek.
This is a great post for helping "idea people" to turn their brain child into something more concrete.
If you're simply looking to find a coder to work with, the process can be a little different. I wrote about it here:
http://blog.hartleybrody.com/2012/05/find-a-coder/
Thanks Hartley! Good one. — Derek
Thank you, Derek! My partner and I were just talking again today about how to outsource effectively. We have been burned - expensively - in the past (not a new story) and so are hesitant. Your step by step approach on how to post and how to assess really helps! Your "bite size chunks" method is one we have used successfully in other areas in the past. Thank you for making how to apply it to a technical spec so clear!
Does anyone have a list of Android programmers they have used successfully that they would be willing to share?
Thanks in advance!
Hi there,
I really need someone to help me out.
I have bought the Blog Solution a couple years ago and I found so many difficulties to work with as I really don’t know much about he program.
I have never used it anyway.
Therefore, I was wondering if anyone is familiar with blogsolution to set up from scratch and make it running properly.
My aim is to create blogs with affiliate market contents.
If you can help or know someone, please let me know.
I’m based in London by the way.
Regards,
Regis Freitas
regis@hotmail.co.uk
Hi,
Well, a very wise thought you've shared here, Derek. Appreciate it.
Hi,
Well, a very wise thought you've shared here, Derek. Appreciate it.
I'm afraid to pick-out some areas you left out though, as your post is completely considering that "work will happen via online marketplaces" only, but that is not the fact. The work happens (and mostly decent to large size work) beyond these portals; and that happens by either doing google search on companies sitting in geographies like India with right keywords (like "iPhone App development companies", "Android App Development companies" and so on) and then contacting the ones which looks appealing to you (from their website/ executives' profiles/ portfolio, talk to their existing customers etc.) and then assigning them for a "pilot project" (like your milestone 1 project) and then take them ahead for full project if they found good.
Another way of contacting such professional companies is via local relevant meetups/ blogs/ linkedin/ Quora and so forth; or also by getting references from your friends/ colleagues/ business friends.
Why am I emphasizing on "companies" here? Since chances of screwing up of your project are always lesser in case you are working with a company instead of a freelancer. No offenses to anyone, but the level of accountability a stable company follows and their risk-profile and their concern towards their online/ market image doesn't allow them a bit to do any goof up with your project; while in case of freelancers/ freelancing companies on these portals - it is not always the case, and an individual if goes bad (or gets stuck with an unfortunate situation) then who'll be taking care of the work you assigned? In case of a professional company, chances of compensating the situation/ handling the deviation are much more.
Something similar what you've written for web, one of my company's leaders (Agicent Technologies - www.agicent.com) wrote a post on "how to find out a best iPhone/ mobile developer for your project" (considering mobile technologies as hotter these days than web :)). You may find that post here - http://iosappdevelopment.blogspot.in/2011/07/best-ways-to-find-out-great-iphone-app.html
I hope that will be helpful for many first timers, who want to develop their App idea into a quality Mobile Application. Feel free to leave a comment there if that helps anyone, I'm the one monitoring that social media for my company.
TO highlight, your approach of getting started with 2 different programmers at first sounds very wise (in case of first timers) and it is an investment rather than an expenditure. But this is something which can't be done always as it consumes a lot of time as well, and conclusion may again end on further confusion. :)
Nevertheless, my suggestion is - as you've written this valuable post and people have read it and gained from your experience; I suggest everyone who is looking to hire programming companies to do a lot of due-diligence over the web before taking steps ahead. There is a lot of genuine information available on internet for everyone, and one such valuable site to answer "any" level of your questions is Quora; I found that very informative and it answers most of the questions that you may be having, you can also post a question on your own if you can't find an existing similar question/ answer and solicit answers from subject experts, and so on.
Bottom line, a decent diligence, realistic expectations from your version 1.0, a buffer time, a genuine budget (not like $ 200 to build a video streaming app as you can see posted on such freelancing portals ;)), and regular reviews/ progress tracking, along with clear cut agreements is all what makes an outsourcing engagement successful.
The source of my answer is my own experience of 8 years working from as a developer to technical lead in India and US, and my experience of 3 years of working Agicent Technologies, where we are primarily catering to increasing demand of custom Mobile (iOS/ Android) apps development, web app development, and enterprise level software development. You can check out more about by clicking on my name over this comment.
Best Regards
-Jeet Singh
sales@agicent.com
Thanks so much for this sound advice.
I have stripped back the "idea" and am now on v1.
Very grateful for your share - gets me back on straight and narrow before I approach developers :)
can you give any reccomendations on a programmer? would help a bunch! thanks derek.
Good tips to run down before hiring a programmer or any sorts of web developers. I actually tried hiring different people from different parts of the world through outsourcing and I always trust oDesk and Staff.com for all means of work needs. But, I would have given Staff.com a “5-star” rating on their profile when it comes to looking for best developers. I constantly post jobs there and I'm getting what I really want for my business. To be honest with you it all started when someone posted this link (www.staff.com/skillcategory/Programming+Languages)on a certain blog site which happens to be a key factor in discovering another freelance sites today.
Here's another idea: pay extra for extremely clear and thorough documentation throughout the code, so anyone else picking-up the project can easily understand what was done and why.
GREAT point! — Derek
Thanks a lot you answered a lot of my questions. I have another question to you.
Say I shared my idea with my programmer. How can I be sure that he won't steal my idea?
Thanks.
As a programmer looking to pick up some extra cash, but no oDesk cred or Elance ratings, how do I differentiate myself and get out of the catch-22?
Go through all new projects posted, and make a good pitch for why they should choose you to do it. Show that you care. That alone will mean a lot more than star ratings. — Derek
I found your advice very useful.
Thank you
The list at http://www.wherecanifindaprogrammer.com/wherecanifindaprogrammer.html#section-4 may help in clarifying specifications to a developer.
Derek
how are u doing hope all is well am very impressed about your lessons and would want to reach u personally to discuss something of importance with you which i can't do that here please. please contact me through my email so i can get to u . any way if u are a programmer u can write me through my email and i will contact u back thanks and God bless u l. all programmers should leave a comment on my site and i will get back to them shortly
Hi
I'm a freelancer and I know how useful are your comments
Thanks for that.
I worked as a freelancer for about three years and I found a good way to make money.
this is my weblog: http://howcanifindwork.wordpress.com/
I want to write about that and writing for the people who want to start working as a freelancer and share my experiences in this work with them.
What do you think about patenting or licensing your idea? Should that be done before hiring a developer. Where in the process legally protecting your idea fall?
For more info on this, read One">sive.rs/book/OneSimpleIdea">One Simple Idea - by Stephen Key. But for software: no patents. — Derek
Awesome tips Derek. However, I was given a tip that made life so much easier to be able to communicate with my programmers, that being using Balsamiq! I love it!
It's really a WSIWYG editor that allows you to "rapidly prototype" thorugh a wireframe of what you envision the final product would be along with the workflow and actions. I actually modelled an entire website from beginning to end using Balsamiq and it was easily understood by my team.
Chiming in on some others, having a wireframing tool like Mocking Bird or Balsamiq can save you hours of your time and money if you were to communicate collaboratively through those programs...
Excellent plan. My hardest first step is the Version 1. My easiest first step is realizing that is is ONLY Version 1. The hire more than one to do the Version 1 surprised me, but is genious. Thanks again!
Great tips.
Will definitely move on some projects this year.
thanks,
Marcio
I love this insight, Derek. It makes a lot of sense. Finding a good programmer is about the technical aspect, for sure, but also about how that person works with you. How a freelancer deals with a little tiny project, is the same way they will deal with a larger project.
Yet again giving away advice that has obviously cost you something in either dollars or frustration. Thank you Derek. :) Especially appreciate the suggestion to get .zip file of code for each milestone. And moreso to have written milestones, I have been so vague that the coders probably can't tell when they have hit the mark. I can assure you I would have spent far less getting to Beta3 had I read this 18 months ago.
I like the comment about "dreaming big" but keeping the first rendition of your idea to v1.0 and keeping it simple. i have a tendency to follow every rabbit down a different hole and only when I focus do i reach the most success!
Freelance Anything . Com
How about confidentiality?
How can I protect my idea?
See sive.rs/multiply — Derek
great description.
what would be even greater is if you could post an example of a dummy project -- especially the if-than component
also, how does this vary from mobile app to website- or does it not?
thanks
g
This was absolutely the best advice I have ever gotten. Although, I'm just getting started. I have an idea that is truly beyond me. It would be a new app. and the world would not only benefit from it but would change. I know you must hear dozens of thoughts like this, but I'm convinced. I need a Jack Dorsey to "make it happen." Maybe not. I'm determined to find the right programmer and be successful. Thanks for you encouraging words.
Thanks, good advice. Ciao, dAn
Hi Derek, this is a really useful primer thank you.
Just a quick question. When you mention:
You'll get many offers, but if they don't have your magic phrase at the top (“I AM REAL” or whatever), delete them. This is very hard to do, since you'll feel thrilled that so many people are offering to help, saying things like, “We have looked at your project and would be glad to complete it immediately,” but trust me and delete those. If they didn't read something marked as VERY IMPORTANT already, you don't want to work with them.
Are you suggesting that we ask them to reprint a word of our choice in the subject header of their reply? Just wanted to make sure I understood correctly thanks.
David
Yes. Exactly. Anything to show they actually read your request thoroughly. Most don't. Most replies you get will be automatic spam-bots, so this is just a way to tell if a real caring person read it or not. — Derek
phenomenal piece, derek. i rarely find these blog entries or instructional entries terribly helpful. but i thought you were spot on with this one. thank you for writing it.
i'm looking for a small 2-3 person design & development team to build a good team relationship with as i launch my new company (which is just beyond back-of-napkin phase right now :-))
i can't write a spec, so i thought i'd hire a freelance tech writer to write a V1 spec, and then bid THAT spec out. thoughts? or you think it's better for me to write the first simple milestone spec, and let 3 coders at it, and then pick one to move forward with?
Avoid the chaos, find reputation based on portfolio to give peace of mind. Reassure yourself of quality projects undertaken.
I have an idea for a social networking app.If anyone can help me out by programming it for me. Or if anyone knows programmers please contact me at bbonomo44@aol.com
i need a progammer to implement my ideas
Hi Derek, you got a great article here, useful advise and timeless too!
please i need a programmer that can help me put my ideas together in a program without charges but the programmer can input his web link in the program
I want to build a power house that with fuel or water.
I need sponsor.
Thank you so much for writing this very enlightening 1,768 word article,
You have just walked me through the steps to save a lot of time and money. Believe me, well you already know I've wasted time and money, as well as been ripped off time and time again, or you wouldn't have written this to help those who came here to to learn from you.
Thank you sincerely, I will use and treasure your advice, and in my humble opinion, I don't think there is anything missing I think you've written and explained a process beautifully and with logic.
I really do want to kick myself for not finding your article a couple of years ago, because I'm back to the drawing board, having others run with my money and ideas, leaving noting behind. Now I'm almost broke and struggling to start over! These things are sent to test and try us, however as I mentioned I will indeed treasure and use your advice. It's good, It's sound and I'm very grateful for it.
Thank you Derek.
And Bless you.
Liz.
Dear Mr Sivers,
I found your article very interesting and useful. Would you contact me privately? Possibly we could collaborate on an idea.
I'm looking for someone to design a software that will let me
A: scan a photo into a given size with pixelated colors
B: print out a word chart with instructions on how to crochet the design
C: have a color code that matches colors of yarn.
I am currently using a purchased program for beading, however, it's not compatible with crochet measurements, etc. It's set up for beading and bead designs.
Any recommendations?
Thanks,
Sara Koenig
Would that be basic enough to start with??
Thanks!
Sara
That's a little too basic. Imagine a visual walk through. What is on the home page? What would you click to scan a photo? What would appear next? What would you click to print out the word chart? What is on the word chart? Those kinds of things. Like describing what you see to a blind person. — Derek
I read your commentary and found it very informative. I am in the go forward stages of planning to start a business focused on compliance software for the financial institution industry. Although you had mentioned to go with someone who had more then their share of "great reviews", is there a way to validate some of those reviews. Being on the other end of the spectrum where I am in the banking industry when we look for software vendors we normally look for verifiable references which are reputable in nature
No way I know of to verify the reviews. — Derek
What if you have an idea and need a programmer, but I'm afraid they will take the idea? How much would I have to pay someone to do this for me? and how do I make sure they don't steal my idea and run with it as their own?
Help?
See my answer to the other comments here asking the same thing. — Derek
Thanks Derek, this was very helpful.
There was rather less spam than I'd expected: of a dozen responses, just 1 was from the "we haven't bothered to read your ad" crowd.
Cool! That's great to hear. Thanks for letting me know. — Derek
You didnt mention what type of costs one should typically expect. I badly want to see my app come to fruition but if there are outrageous costs involved in programming then i would just as soon not put my idea out there yet, for fear of hijacking. In my mind the app should be insanely simple to design for someone who knows what they are doing. There would only be need for "version 1.0". Any feedback you could provide on typical hourly pricing or flat rates would be greatly appreciated.
Thanks,
Kale
We all think that other people's work should be “insanely simple”. Hourly rates vary from $5 to $500. Just go to odesk.com and elance.com to browse around and get some quotes from people. — Derek
Hi Derek the first part is excellent, exactly what I was looking for. Thanks for sharing and strengthening my confidence . I'll follow your process and hope the 2nd part is going to work out as well.
Derek,
The post above is solid advice.
However, in regards to requesting programmers to list their track record of sites or apps that they have created, exactly how do you determine whether or not this list is accurate?
Thanks!
You don't. We all take our risks in everything we do in life. — Derek
Hi Derek,
awesome and thanks! just what I needed at this point.
Cheers
Thank you for this information. It's very good advice :)
Contact me :
Email : saud4003@gmail.com
I am a Website Programer and an app programmer
I get 5$ each hour.
Do you wanna develop your programming Apps? we have some world class programmer. if you need any help, please visit http://www.taoteapps.com
Derek,
What keeps your idea safe once you start searching for the programmer? Should I get a lawyer involved early on to copyright my initial idea of the app? Because I have a great idea for an interactive app that i think could be widely used but if i post the idea on a programmers site to see who can design it whats keeping a programmer from creating the app, putting their name on it, and profiting from it?
It's the #1 F.A.Q. See some of the comments, above. In short: you don't need to reveal the big vision of your app to the programmer. Just the initial TO-DO list. And that TO-DO list does not have to be posted publicly on elance.com/odesk.com. No need to get a lawyer in early, no. — Derek
Great information. regarding #6 and placing part of the project online, what about non-compete and or non-disclosure being signed by the online account?
I have been trying to find a great programmer to bring my app idea to life. Needless to say I have been through two "programmers" now and it has been 6 months, with many disappointments and loss of money. Your ideas for hiring are excellent ways to weed out disappointments like mine. Hopefully I can finally find someone who is worthwhile and will complete my vision. Thank you for your words of advice.
I am In the prosses of making a app and found a programmer what contracts do I need to have so he dosent steel the rights to my app
I need assistance in creating a digital portfolio for a job search. Please help/
Hi Derek,
You have made really useful things as you said in your tagline, and this post the most useful I've found.
I'm not programmer, but have made several websites for myself. Just like common people, I'm not expert enough to accomplished the big dream.
But, there's one thing I always ask for myself while I read this post, "Okay, I'm going to break the big idea into many small version 1.0. because it will be looked easier for them to accomplish the job, and they wouldn't claim the idea for themselves because they don't see 'the big picture'. But, how I combine all of the small version into the comprehensive thing I want?"
I would be pleased if you reply this, and once again, you're giving the readers more benefit from this article. Thanks :)
Really helped me. Can you make my app? It's a very simple three field app.
- Rishabh
I've been freelancing on ODesk for awhile and I've recently been seeing more and more postings that include these "magic phrases at the top (“I AM REAL” or whatever)". I appreciate why people use them but think there are less demeaning ways to tell if someone actually read the posting before applying. Asking a few open ended questions for instance.
Nice article - really helped me. Thank you. Great tips!
I found your advice really useful. Thank you.
Derek,
Thanks again for your help thus far.
How can I protect my idea; what's to stop programmers developing it themselves?
Nick
i dont have a company i am 18 years old but i haeve an idea. so can i hire people to make a software for me. Please Help!!!
Loving the easy to read content here pal.
There's one thing that keeps coming to me tho and that's if I send my v1.0 to someone and they get the idea of where I want to be with it all what's to stop that person from just taking the idea and making it for them selfs?
Great, clean, concise article. As a serial entrepreneur in (hard) consumer products trying to move into the app space, you really summed up the core starting line.
How can I make sure someone doesn't just steal my idea?
Absolutely phenomenal write-up. Been battling for a long time on how to turn ideas into reality. This is just the guideline I need. Extremely well written, no bogus language. Simple enough for even the most average minds to understand. #awesomejob
this has helped out a lot I been stuck I am a hole I created a lot of programs I need to index,etc,, I come up with new things everyday am self thaught nows time to hire..thanks keep you posted
Another way of getting the best out freelance programmers is to consider where you hire them from. that is to say which platform or website are they coming from. There are a few freelance websites who do work quality control to make sure client is happy with work done on their platform. One of such platforms is www.citilance.com. It's worth trying.
I definitely agree with first reducing your project to a bare minimum and keep a backlog of everything else.
Only most essential features, or as you said "Version 1.0", will be presented but for the rest you cannot be so sure for now. Why? Because after receiving good amount of feedbacks and constructive criticism it's likely that a lot of backlogged ideas will become obsolete and new ideas will arise.
But I'm not sure about breaking that into even smaller chunks, "milestones". I understand what you are aiming with this and its really interesting approach, but the problem that comes to my mind is what if first milestone does not contain enough information for developer to choose "the right" architectural design. It seems like there could be very high chance for developer to overlook, or do not anticipate, something important that later on could be troublesome to implement on current design. Also a common thing in development process is to break things into milestones with appropriate tickets, but this requires skills and experience so I believe it is better to leave this to professionals.
Also as "Dan-O" said: "Assume that most freelancers are terrible and you will be much happier and get way more done."
I'm not sure about this, I cannot say is it true or not, but what I do is I send programming tests to developers to see how they perform. After that we discourse about their test solution and other follow ups. This approach is working rather well for me so I cannot complain about any hired freelancer.
If anyone's interested I use the tests from the following site:
http://www.testdome.com/
I am an advanced coder and if someone needs help making a website, apple app, or a computer program contact me at nategaming.help@gmail.com
http://www.nate-gaming.com
I have a great idea I'm in need of a programmer to help out.... Next big app for social network
Superb post, Derek. Exceptionally shrewd and clearly the voice of experience. Much appreciated you!
Derek,
This is a useful article! I have found a programmer for my site http://cataristocrat.com/ thanks to your advice only)))
Nice information, realy like this . i want to re develop my app. can someone help me.
I am looking for a computer programmer to build a financial and portfolio building tool taking into consideration my past 20 years of expererience and knowledge of what is important in working with clinets. I have used many different programs at major wire house firms which some were great and some not. I own my own company and have a vision of putting a program together that will start with risk tolerance, goals and objective. Then analyzed current portfolio holdings and the cost. The goal here is to see that the current portfolio is congruent with the clients overall risk and objectives. The second step will be to build a solution congruent with the specifice client's overall goals and objectives. I would like to include budget/expense planning, net worth planning, investment growth planning, distribution planning, current vs proposed asset allocation and why.
I have a way to explain the steps in detail but I am first looking for someone with experience to take my thought and put it to reality.
How much should I pay a programmer for the 1st milestone stand-alone project?
Once I find a programmer I like, do I pay them the same rate or am I supposed to increase their pay?
Thanks.
Hi
I have a great software idea, but I need a programmer to built it, a lawyer because I need to have all te security of my idea, maybe a coach.
The point is that I need a team to work with, but I do not know how to start and how much it will cost, maybe a partner.
Any helpfull comment ?
Regards
I was wondering if you knew of any good ones because my project is very indepth and i planned to do it in sections as well and would want to make sure they dont leave any back doors for them to infiltrate it latter so i plan to use multiple people and editors to complete this project .
to answer a couple questions from above i can help you with the right documentation to have them sign which is a non-disclosure clause in your contract just hit me up on my email @tajhotrod@gmail.com or majestic1solutions@gmail.com
Hello there,
I am looking for programmers who can make me chat messenger pc software exactly like www.paltalk for now.. i ask you to check this program and then let me know wot u think about it..
Its chat voice and video chat program with registrations...
Security and quality is what am looking for.
Ali.s
Hello,
Awesome article, and for me it rang super-true because I've gone through these exact stages in the past few months with my own project with a programmer from a freelancing website.
How about some notes on how to protect your code/idea/branding/'intellectual property' when it comes to engaging with outside developers, especially international freelancers? What kind of protections can you make other than simply making them sign some kind of agreement. What would that agreement be? An NDA?
Thx
I can see the benefit to some of these ideas, but finding and hiring good programmers is very hard, unless you are a good programmer and can tell the difference.
For example, the custom software company I run (http://www.myprogrammer.com) is constantly interviewing. We have refined our hiring process over 2 decades, and we still struggle to find good programmers. Here's our process.
1. Interview about 100 people per week
The first interview helps us understand how well they communicate, and tells us a lot about the types of projects they've worked on. We also ask technical questions they should know, and this leads to us eliminating 80 to 85% of them.
2. Give them a test
The 15 or 20 who make it past round one are given a simple problem. What we look for are people who ask questions, to make sure they understand what is being asked of them. You'd be surprised how many people do not ask any questions, and then come up with the wrong solution. We also get to see the solution they came up with to solve the problem. And finally, we get to see the code. And this is where the final decision comes from. You need to see the code.
3. Start them part-time
The one or two who make it past the test are brought in part-time, in a low risk, supervised setting. Then we look to see if they have the following traits:
a. Do they show up? So many can't even do that.
b. Do they take ownership of the tasks assigned to them?
c. Do they work well with the rest of the team?
d. Do they write good, clean code?
e. Can they meet deadlines?
Add it all up, and we are lucky to hire 1 in 100. Many have looked really good, but we know within 2 weeks if they will work out or not. The reality is that good programmers are very hard to find. When you do find them, expect to pay a premium.
Those are long odds if you are rolling the dice on elance, guru or odesk, especially if you do not know what to look for.
If I could give some advice, it's this. Have a senior programmer involved in the hiring process. Someone you trust. Define the process in advance, and start interviewing lots of people. Expect to reject 99% of the people you interview, especially if you are interviewing Indians. Then have that person do regular code reviews throughout the life of the project to ensure that code quality remains high.
And pay them well. Forget $10 per hour. You are going to get a coding disaster, even in India.
Your advice are excellent. I will follow your advice. Thanks.
Interested in a computer software programmer to design and code for a family business a software to upload existing photograph images in order to further design fabric textiles. The correct terms would be: basic, half drop, brick, center and mirror. Also need to software designer to build a custom webpage, Facebook page, incorporate advertisement.
Imo you are overnannying, failing to attract extraordinal talent.
Describe functionality but don't imply the order in which this is built. Let the programmer define order and time of milestones.
Hi Derek, I find this information very insightful. Very grateful for it. I just have a question. I want to know how to safeguard my intellectual property. How do I prevent any programmer from taking my ideas as their own?
Please let me know.
Thanks ,
Ike
Hi Derek,
I wonder if you could help me with something. I have a computer program idea in mind. What is usually the first step someone in my shoes should take regarding the legal side of things. Can I copyright it or does it have to already be a finished and working program before I can get a copyright.
If I were to find a programmer, what could stop him/her from taking an using my idea?
Regards,
Andy
Well done!
you might want to mention: That they should sign a DNR before anything happens. I'm looking for a Programmer now and can't find one. So if there are programmers out there. wpearson9@comcast.net. Thanks,Wayne
Great post, Derek.
I am looking for Tech cofounder these days for my startup — Lenro (http://lenro.co) — and came here searching for the tips. I already have an MVP and got good reviews from the initial users. Posting my tech cofounder requirement here to reach out to the right folks :) Thanks.
Tech cofounder requirement: angel.co/lenro/jobs/77320-technical-cofounder
Hi Derek, how would an employer hire a Program Writer to write a program, with the guarantee the Program Writer may not be disclosed, or in any way take the program idea from the employer. Tks
I found your information very informative and pleasantly thoughtful. Unfortunately I don't have a lot of money on hand to pure into the development of my video game app I had in mind. What in search for is a person or team of developers who can take my idea and bring it to life. Also I would like to discuss patents and copyrights for my intellectual properties.
Nice one, thanks!
Question, if I have a really good idea with great potential, when I place the project on upwork.com, guru.com, freelancer.com, how can I protect it from being copied by someone else?
Hello dear my name is Dany Lebanese I was working from 3 years as a affiliate market and now I have an idea to have my own software affiliate program I can buy a software but I need full service of to set up everything and ranking first on google I want your advice and how much cost . And I have plan to be as a partner of that if you want thanks in advance .
Best regard
Dany Najem
Great and useful article
Thanks
Hi Derek,
I really liked your article; it's very helpful.
I have a specific questions. I live in Washington DC area and would like to find a web-developer/programmer in the area for my website idea. Can you please email me and recommend some ways to approach developers in person?
My idea is a bit different but unique and I feel it would be quite difficult to explain first part without explaining the other part.
I look forward to hearing back from you.
Thank you in advance,
David
excelente, very helpful, thansk
hi
respected sir,
i am freelancer - 3d modeler and illustrator
hourly - $15
my daily rate -$100
weekly- $500
i sent work links and resume
http://jigneshprajapatizbrush.blogspot.in/
http://jigneshprajapatisketches.blogspot.in/
http://jigneshprajapatianimation.blogspot.in/
http://jigneshprajapaticartoons.blogspot.in/
I'm looking for programmers for an big game idea that you might be interested in I'm not hireing but if your interested in just giving my idea a chance just contact me.
I will need to work with a programmer for the development of an academic program.
Just what I was looking for...thank you!
The advice sounds great, but how do you protect the idea? What would keep the software person from just writing and marketing the program?
Great advice
Great advice. Very helpful for hiring a web developers. I really appreciate your work.I also needed a web developer for developing a website for my online business. My friend recommend me one site http://www.keenesystems.com/HireAspnetProgrammer.aspx for hiring a web developer.
Thanks for sharing advice with us.
Thank you. Being a total novice at finding someone to make my "simple" program a reality, I really appreciate your directions and advice.
Hello i was wondering if i could get some insight on a problem im currently having! Alright so i have the idea clear as day, im just an average joe u know single mom low income really dont know alot of people BUT i really really am pretty sure that my idea will skyrocket. The hardest thing for me is to simply simplify something thats not so simple to breakdown into like a foundation a starting point i would say. The second issue im up against is knowing/Trusting the right people, because i dont want to share my idea and it just gets claimed by someone else and then im just SOL LOL! I do believe my idea will make alot of lifes everyday responsibilities alot easier for everyone and it would also decrease fraud and less commuting so better for our environment. Please help guide me in the right direction, im sitting here with something so wonderfully huge in my head and dont exactly know what to do with it but i know that its way to beneficial to everyone not to share it! Thank you for taking your time to read my post, i am open to any ideas or guidence do please contact me @ Beankboo@yahoo.com
I didn't have time to read all 365 comments, so I don't know if this has been covered or not, but what kind of expense should one expect to incur in having these three version 1.0 programs written?
Many Thanks!
Are you still in business?
John
#upwork #quality #offshore
Given number of comments, assume people search for keywords to find what they want. While I don't disagree with comments I read that really good developers aren't on the freelance sites, not sure that's always true. Maybe there's developers bored out of their mind wanting to try different stuff? Or maybe they live in a place where the work isn't great and steady - like Russia. I recently hired through upwork a Russian developer. Great track record of completed projects, good comments and high ratings. He wrote very well in English, and was very prompt in communications. Turned out he took a bit longer with the project than I wanted, but the v 1.0 was not that easy and the price wasn't high so he probably had to support himself with other gigs. But the work was great. Remember too - with a v1.0, you just want to get an MVP out there. If it's really an idea that picks up, you can then look to get in the "high quality" folks.
Exactly! And actually there are some brilliant high quality people on Upwork, too. In fact I just hired one to help me with a specific problem last week. — Derek
Thanks, Derek. Very great article!
For people who wants to hire a programmer but doesn't come from a technological background, I want to add a useful resource for point 3: write a detail walk-through of every click.
www.uxpin.com/
UXpin is a easy-to-use website which you can wireframe any user interface quickly. It's got a free trial version.
You can create a detail walk-through of every click with the feels and looks of your idea. After that, you could have a shareable link. Hence, you can easily share your idea with your programmer easily and - visually.
In a nutshell, it is a very great tool to visualize what you have in mind and it makes you more effective to communicate with programmers.
Thanks Aero! — Derek
Great advice, as someone that has been screwed over by crappy programmers, this is excellent. I will use these ideas today.
Hello everyone,
First of all waowww, wonderfully explained.
just a small problem is, whenever you post something to upwork, freelancers site, there comes 100s of applications, the process losses its flavour,
I myself is a web consultant have a very good experience in web developments, In case anybody looking to hire for your web project, kindly feel free to consult us.
you can check our website www.decode.team
or can skype us at decode.team
Thanks in advance
I turned to coding recently just so I can bang out my ideas and I got to say this is a very helpful article to hire additional help.
www.viditsaxena.com
What if you think you have the greatest idea since sliced bread? How do you insure that a programmer you hire won't talk about your project or worse yet steal it?
Yes, I truly enjoyed your article, and wondering also, if we could possibly meet soon for lunch here in the Atlanta area?...
God, I wish I would have found this article when I first started working on software! Would have made my life 1 million times easier! Oh well, you live and you learn, and I sure do LOVE learning.
Anyone just starting on a new project, FOLLOW THIS ADVICE! It will save you a lot of money in the long run.
THANK YOU THANK YOU THANK YOUUUUUU!
This is probably the best guide I've seen written and rips all of those "BusinessInsider" and "WIRED" articles apart.
Thank you so much for this,
Jagjit.
i'am a programmer if anyone want me to make application to him i'am ready :)
I was wondering about how and if it's possible to take an existing format used at an old job I was doing and turn it into a program for Windows.Is this legal and how do I do it with a programer make money?without getting railroaded by much much bigger deep pocket companies?My idea will be applied world wide in this certain industry.I've worked in this field for 20 years and know that this will happen sooner or later.Could us some serious advice.thank you for your time.
One of my greatest fears is that one (or some) of the programmers will see the potential of my idea and write it for themselves. Is there a defense against that?
My biggest worry is that someone will steal my idea. how do you respond to that when you got an idea that will change the world forever?
I have a brilliant idea for a program for Google GPS system. I need help developing a program. I would want a legal disclaimer signed before details where discussed of course.
I live in southern oregon. If you know of someone in this area who could help please send me contact info or maybe you could help.
Thank you for your time.
Joe patnesky
Joepatnesky@gmail.com
Thanks for this very useful write-up. Quite helpful. I have used the services of some of the sites you mentioned and can only agree with what you have said.
Any experience with mockups or high-fidelity designs?
Regards
hey, my government has the idea they want an application whereby people will be easy of chatting with their leaders and i made the interface in photoshop of the app and all i just want to nkow is that if you can make it for me send me a message on my email
Hi Derek,
Thanks for the advice. Can you recommend a process to find the right programmer in Dallas, TX?
Really I need this one .but feeling like long process
Hello, and thanks so much for this article! I found it to be informative, relevant, down-to-earth, and intelligent -- useful for me, in other words.
Sincerely,
Mr. Aaron Garrison
Thank you for the advice, great for a passionate beginner like me please respond so I can refer back to your advice.
HI Derek... please brace yourself for my lack of terminology coming up.. thanks in advance.
Your article is great and informative. What would really love to know is what is the name description of a person who helps develop online programs? I just can not figure out what these people are called, where they nestle in the IT industry, are they real? do they charge millions? I would be so greatful if you could help put some answers to these.
warm regards
Carolyn from Wellington NZ
Derek,
I must say I am so relieved after reading your post. I am planning to develop my own product putting all my 15 years of experience but was not sure how to proceed. I am taking forward your tips and when I am ready with my version 1 will come back to thank you again.
Cheers,
Dinesh
I am a non technical founder to be, and have been reading alot, ALOT of helpful stuff since the past two years.
This simple document is by far the MOST helpful piece of writing I have come across on the web. It may be because it is so applicable to my current situation, but I have to commend you for taking the pain to describe everything in simple, basic steps, with such clear direction.
If I succeed, I hope I can offer you a position in my company one day and have the pleasure of working with you.
Best wishes to you.
☺ — Derek
Hi sir I am happy to meet you I have Very good idea to make the app I find good software programer then how I start my work and I finding good experience people who tell me how I started the work . I have very big idea mean I make a app which is very helpful for the people .
Impressive post @Derek. I have been searching for freelancers/employed computer programmers since 2015, for a concept that I have been working upon. Have faced multiple barriers; It would mean a great to me it if you could provide me with your views on how to attract them online(I am from India, Mumbai). For more details: www.yohhanabraham.in
Man... I am so glad that I heard your blog on Old podcast. I am really loving your message! Thank you.. Please keep blogging.
I'm looking for someone I trust who may enjoy a unique project to establish when we find agreeable parameters. Call me anytime to set up a time to meet and figure out what we can do together if or when circumstance comes to be.
When asking for the source code. Who will be the owner of the code? Will I be able to own the source code and program outright? Will I have to cut a royalty deal?
You are the owner. — Derek
Great information. I am not computer savy at all but I do have an idea for a program for my business. How much should I expect to pay for a programmer to put it all together?
Thanks
Follow the steps described here, and you will get proposals from programmers, with expected prices. But know it's very very hard to estimate. — Derek
Hi,
Really nice article.
I took up your advice on "Continue with the one you like best".
Started out with a simple task (Hired one guy from freelance, another from upwork, and one agency(www.bytezularsolutions.com)).
Happy to report that all of them did a good job(So I was stuck, on whom to choose:P)
Fortunately Bytezular Solutions offered me a much better deal:)
Once again thanks for this amazing article:)
Nice article, it makes me feel smarter. I don't plan to hire a programmer, but I feel this piece is a smart metaphor for something.
I see where commenter #397 says he "didn't have time to read all 365 comments." I wonder if that is like not reading a help-wanted ad...
To apply philosopher Emmanuel Kant's test: If everyone didn't read, then the list of commenters would be much longer than it needed to be. This while the blogger, Derek, would still be stuck reading every one.
I don't know much about commenting, or about what's practical and polite, but I don't think I would ever say that on someone's blog.
Hi there,
I need some help and advices now. I explained all my idea from beginning to the end to a programmer. but I chose the priorities to start with. He gave me the whole project price. which contains an app for ios one for android and one for admin.
After 3 months I would be able to test it. in the second click I saw the welcoming not of Atlanta mobile app template. which made me so disappointed and the feeling of being cheated.
I contacted him but he started to explain that this is just the appearance of the app and we worked a lot on the codes so far. and so many excuses that I don't believe.
After reading this article I found out I did wrong and I trusted him so easy. What should I do now and how can I talk to him to ensure him him I know he cheated me. I have such a bad feeling tgat someon thought I am stupid.
Please let me know what should I do in this stage.
Thanks
Hi Derek Sivers,
Your explanation and instructions are clear and more or less precise, as I am not software savvy. However I shall continue to read what follows as I have an idea that I am very interested to achieve and of course I am looking for the best and most talented programmers.
I really admire softwares used by "eBay, Etsy, Amazon, Alibaba" as what I plan to do is almost as complex yet needs to be simple and straight forward. Perhaps you could within you professional ethics, recommend people you know to be good at what they do.
Thanks and best regards.
Ken Chan
I need a Programmer to Create a Application that will terminate the LanSchool software on my school macbook. It really pisses me off that these damn teachers want to get in my fucking business
Very Helpful article. It was the only post relevant to my google search.
i want to develop my facebook page and website for tourism company.
Hi Derek. I want to create a NFL football pool for 2018-19, based on about 40 players. One can play for free or for $100, their choice. All picks are STRAIGHT UP (SU). YOU get +3 points for a win and -5 points for a loss. Players who win their division go on to the playoffs, players who win in the playoffs go on to the Super Bowl.
Your the first person I'm making contact with. Any thoughts on who might take this project on?
Sincerely,
Bill
Hi Derek
Great, article! As a freelance web developer, I'm probably not "the typical" type of reader interested in this post. But you really hit the nail on the head with explaining how to break down an idea to be able to communicate it clearly. I stress to my clients that for a project to be successful, I need to understand all the details of the project. But also, so do they. By writing up very specific details of the job, the client will be forced to think through, revise and add to the details of the project before looking for a developer to hire.
When ready to hire someone, they will know what they want and will be much happier with the end result. Development will go smoother, there will be less bugs, and less time and additional cost put into having to rework the project if it evolves during the development process.
I "interview" my potential clients as much as they are interviewing me when considering hiring me. Working remotely, I want to work with people that can clearly and professionally communicate their project to me.
i am intrested in making a boxing manager game
How do I secure my idea after I hire the final team of developers?
How do I secure funding after version 1.0
Oh fuck this article really helps me in my next project
I need someone to create a simple programme for my business
Thanks this was very helpful and I have saved it to help me go from here
Derek,
Yes,Yes,Yes!
thanks,
Rachel
This is so good and valuable- especially here in the darkness.
I feel I should pay you- Bless you Sir, and thank you.
Hi, I see that the topic is still relevant. Since 2010, a lot has changed in the developer hiring process. I recently did a little research for my article on this topic. If you're wondering how the approach to hiring developers has changed, you can check out: www.cleveroad.com/blog/hire-a-programmer
Thank you the site is very understandable
Hi Derek, great advice! So much valuable insights. In our experience, hiring developers is challenging – especially when trying to balance a team dynamic (something my co-founder talks about here: altar.io/looking-developers-10-developer-archetypes-youre-likely-encounter/)
Hiring developers on a project basis it´s great too. It gives the flexibility to build and iterate a product without committing a large portion of the budget.
Thanks for sharing this great article! You've offered detailed advice on hiring programmers. I'd also recommend considering a cross-functional team where each member takes responsibility for a specific task in software development. As an example, you can find more details here - existek.com/blog/cross-functional-team/.
How to hire a programmer? is always a question for the debate. 1. Reduce your big idea to “Version 1.0” is a turnover. I liked how you break down this topic into small paragraphs focusing on the most important. Also, I read an interesting material on how to hire a CTO for your startup solveit.dev/blog/how-to-find-a-cto-for-your-startup. I agree that picking the right employee for the team determines your success or failure, especially regarding C-level. Especially when it comes to the person who shapes the technical direction of the company.
This is refreshingly direct and brutally honest—especially the part about never hiring someone with potential. It’s a stark contrast to the usual advice, but the logic makes sense: hire for proven results, not promises. I also appreciated the reminder that most people aren’t exceptional at what they do, and that exceptional hires often reveal themselves immediately. Bookmarking this for future reference—thanks for stripping hiring down to its essentials.
Nurettin K.
freelancerdb.com
It would be nice to have an update now with the AI tools coming into picture.