1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Basic Guide to Hiring a Developer

Discussion in 'Off Topic' started by xIsabel38, Feb 5, 2014.

  1. xIsabel38

    xIsabel38 Well-Known Member

    Recent events made me want to write about this topic because it is something I feel I have a great deal of experience with. I think these are some basic steps that most people, myself included, don't always perform. Eventually, it will backfire and you will deal with a developer where you wished you had followed these.

    For the purpose of this article I will be referring to the reader as "you" and likely as the "Client" -the person, business, or agency requesting work, as well as the "Developer" -the person, business, or agency performing work.

    Before a client should even attempt to find a developer, the client should do a few things first.

    Search for it
    Search the site for what you need, perhaps someone has already made it. Or perhaps someone has made something different that can cover what you need. The Resource Manager is full of 3rd Party Add-ons.

    Note: You can use the Asterisk symbol * as a wildcard

    Ask about it
    If the search revealed nothing, consider asking the question if such an add-on exists. We're only human and sometimes we miss things so it's possible that it does exist but you didn't find it. See if anyone else knows about it. There's a lot of people out there, utilize them. It's likely they will offer you links to add-ons you may have not even seen.

    Still Can't find it?
    If what you are looking for doesn't exist, you couldn't find it, and others couldn't tell you where to find it or they offered you suggestions you weren't too happy with, then now it is time for you to perform a few preparations.

    Write it out
    Write out exactly what you need in full detail. The more thorough, the better. How should the Add-on work? What does it do? How does it do that? Does it require any special permissions? You may not be able to foresee every question a developer may ask you, but try to make sure you answer every basic question you can think of.

    Take the effort to do this because if you can't know what you want, how is anyone else supposed to?

    Draw it!
    Sketch, draw, paint, spit, or otherwise map out exactly what is needed. I personally like to not only write it all out, but then create an image of how it should appear. You don't have to be an artist! Draw it on paper, on the computer, use lines, stick figures, vectors, whatever works for you.

    No developer in the world has ever been annoyed because the client provided them with concept art. It makes so many things more clear and expresses to the developer exactly how you vision the work looking when it is done. Sometimes even, the concept art can speak for itself.

    Need some examples? Here are some of mine which I have used:
    photo (2).JPG postconcept.png tornament_concept.png confessional.png

    Now, once you've done this and you have a clear understanding of exactly what you need, there is another thing you need to do and that is to figure out your budget and how much you are able to pay for it.

    Budget and Pricing
    Some projects are minor, some are major. Some you may think to be minor are major and some you may think to be major are minor. Does that make sense? The point is you need to be willing to figure out how much you can afford to spend on this while still being able to eat food and pay for gas.

    Nothing is free so don't expect handouts. Many developers utilize their skill as their primary source of income. To them, you are the next meal ticket and they have to be willing to spend their time, efforts, and experience on something for you. It's only right you make it worth something for them so stop being cheap.

    Now that the project is written out, drawn up, and you have a good feeling about how much you can afford, it's time to find a developer to perform the task.

    There are two ways to do this, you can ask developers directly by sending them a PM or you can post a public request and let them come to you. Both have Pros and Cons.

    PM Direct to a Developer
    You send a PM to the developer and you hope beyond hope that they will accept. Understand that they may not or they may be too busy at the moment to help you. The benefit to this is by sending a direct request you know exactly who you are dealing with and you can easily check out their work and determine their worth.

    Public Post
    Now you're posting the job request publicly and it's up for grabs. You don't know who will respond, when, or what quality of work they perform. But because it's public you may get a range of prices and the people that respond are typically not too busy. Your project will be seen by everyone that clicks on it and so you may get a faster response than if you sent it specifically to just a single person.

    Regardless of which method you choose there is an issue that needs to be addressed and that is the budget price. Everything comes down to money in the end, that's just the way it is.

    Both clients and developers need to understand that Clients hire developers because clients do not know how to code it themselves. This means they may not know how much work a specific add-on may truly be. This has caused much work to go undone because the price offered by the client was too little. It's a sad sad case here because what happens is a developer feels the client is too cheap and therefore ignores the request and the client will never know why.

    It is important to be open and honest. If a developer should see a request but determine the payout is too low then perhaps that developer should contact the client and inform them that the price of such a project may be a bit higher than the current budget.

    If this is the case, then the client should be willing to re-evaluate his or her budget. Maybe you want a project that you felt costs around $700 but developers feel is closer to $1,500. Alright, that's a difference for sure, but it isn't bad, you'll just have to pay in installments, not many of us can afford to pay a full $1,500 in one shot and you shouldn't have to be paying such a huge amount upfront anyway, that's just terrible. Don't do this at all, ever. Instead come to a payment plan agreement with your developer.

    It's okay to do upfront payments, but not if the upfront payment is significant. There's nothing in the rule book that says a developer can't code some of the work and then take some money. Paying such a huge deposit is a massive risk to the client and if a developer can't understand this, then that's not the developer for you. Also understand that using PayPal is a risk to everyone. I would instead suggest using a service such as oDesk or Elance for your first time with someone and then use PayPal (because it has cheaper fees) once a client and developer have both grown to know, understand, and respect each other.
    ge66, Syndol, Aayush and 6 others like this.
  2. xIsabel38

    xIsabel38 Well-Known Member

    Once you've found a developer
    When you have found a developer that is willing to work with you and you have both come to terms with the scope of the project, you really should document it. This means create a written document that has an outline of the job and covers every detail that needs to be performed, most of this should be done already if you were following this guide.

    Include all of the new or altered details you and your developer have discussed as well as the payment plan and any other factors such as code ownership. This document should be the agreement between the client and the developer and both should agree to it and have a copy.

    Here's an example of one we have used:
    doc1.png doc2.png doc3.png doc4.png doc5.png

    While the job is in progress
    Clients love updates. We want one every 10 minutes! Developers on the other hand love silence. They want us to shut up.

    Respect the developer and let them work.

    Stop Changing the Job!
    It's a problem with many clients. We ask for one thing and then as time goes on we think of more stuff or think of a different way we want it done. Here's where that document comes in. If it isn't in that document, it isn't in the job. Stop asking for more work unless you're willing to renegotiate the price and draw up a new document.

    When the job is finalized
    So the job is done. Are you sure? Make sure the Add-on is working properly on your site. After all, what good is it if the developer shows you the product working on his or her development site? That site doesn't have all of the add-ons and styles you do so make sure it works on yours.

    Understand that it can take some time to test things. Just as it took time for the new Add-on to be developed, so too does it take time for it to be tested. This means install it! Did it work? Yes? Great, now uninstall it! What!? Do it! Did that work? I hope so! Now install it again. Does it still work?

    Does it perform as specified in the document? Does it look like the concept art you created? Does it do X, Y, and Z? If the answers are yes across the board then congratulations, if anywhere you answer no, then the product is not done.

    Be generous when it is deserved
    If the developer said it would take 10 days to make you an Add-on and they instead do it in 5 days and you verify that it works perfectly as you wanted then consider giving them a bonus payment.

    If the developer kept you informed and updated every 10 minutes like how you wanted then be generous and pay that girl/guy some extra lunch money.

    If the developer has performed your request to the highest of standards and even included things that made it ten times better than you could ever have imagined then marry him! or her.

    The general concept is that once you have found a developer to perform the work you requested and you are completely satisfied then you better treat that person right because truly wonderful developers are hard to come by and you want to build a nice beautiful working relationship with one because eventually, you just might need something else.

    Anyway, I hope this has helped some. Feel free you post any of your own thoughts to this below.

    There are many "Recommended Guys"(poke) depending on what you need. You can search the Third Party Service Offers forum or make a post asking people who is recommended to perform the kind of work you want. That's the easy part.

    Finding the right Developer for you and keeping that developer for the long term, well, that's the hard part.
    Syndol, Aayush, borbole and 4 others like this.
  3. LPH

    LPH Well-Known Member

    fEaRz and Aayush like this.
  4. Slavik

    Slavik XenForo Moderator Staff Member

    Aayush, ZeWildGuy, Dakis and 2 others like this.
  5. xIsabel38

    xIsabel38 Well-Known Member

    I'm still waiting on Chris! I've been waiting since November 22nd, 2013! He'll be too busy to marry you!
    Aayush likes this.
  6. wedgar

    wedgar Well-Known Member

    You've done a very nice job on your write-up.

    Aayush and xIsabel38 like this.
  7. xIsabel38

    xIsabel38 Well-Known Member

    Thank you.
    Aayush likes this.
  8. Sadik B

    Sadik B Well-Known Member

    An excellent write-up. I can see you would be a very good person to work with... :)

    One thing I cannot stress enough is the use of Escrow providers like elance. Almost ALL of the developer-client disputes you see around here could have been completely avoided if people used escrow. Sure it's a bit more expensive than direct paypal but for new working relationships it's truly worth it.
    wedgar and xIsabel38 like this.
  9. xIsabel38

    xIsabel38 Well-Known Member

    Thank you very much.
  10. Aayush

    Aayush Well-Known Member

    Excellent write up. This should be stickied on the Custom development forum or somewhere. :)
    xIsabel38 and wedgar like this.
  11. xIsabel38

    xIsabel38 Well-Known Member

    Thanks for the compliment.
    Aayush likes this.
  12. SilverCircle

    SilverCircle Well-Known Member

    The sketches are particularly cool. Being a developer myself, I wish every client would possess the ability to clearly state what she/he wants. Oh, and I also wish, every client's handwriting would be as clearly decipherable as yours. Sometimes, I think it would be best to hire a cryptography expert for deciphering handwritten notes (or maybe ask the NSA, but they're probably way too busy with "other stuff") :)

    Joking aside, this writeup can be really helpful. Potential clients AND developers should read and memorize it.
    xIsabel38 and Aayush like this.
  13. xIsabel38

    xIsabel38 Well-Known Member

    Thank you very much. The drawings are something I've started doing ever since my work on oDesk. I found that even though I could explain something, there were many different ways for that to be interpreted some which were nice and others which weren't so. Drawing it out helped not only explain in visual detail what I needed but also to direct developers on how I wanted it interpreted when it was done.
    Aayush likes this.

Share This Page