A developer is to be considered the foundation of any successful eCommerce business. Any serious business should have their go-to developer, whether “in-house”, working remotely as an individual or part of a team.
Here’s 10 simple steps for educational purposes in order to hire the good developer
I have +5 years of accumulated experience hiring dozens of Server Admins and eCommerce Developers to work along with me on complex projects, hopefully this guide helps you avoid some pitfalls in the industry.
1. Look for specialized developer
A developer “speaks” computer languages, hence as in real-life: it’s very unlikely that someone will major in 3+ languages and mastering them all.
If this was an university course selection:
Example of Majors: PHP is a language, Java is a language, Python is a language.
If you are seeking a PHP developer for example, in 90% of cases he he will need to come with other baggage as a Minor: SQL, Javascript for example
Now add to that a Framework platform as Elective (Magento for example). In 2016 very few will be creating a project from scratch without Framework, it’s just not cost-efficient.
The typical guy to avoid: “I do PHP, Mobile apps, Java, Python, C++”
It’s impossible to master all these languages as an individual developer.
In this scenario, obviously this guy is looking for experience. I’m not saying they are bad developers, It’s OK to hire as long as you’re not too concerned about reliability and deadlines. (After-all the positive point in being a Generalist: the hourly rate)
Stay away from developers advertising to be master of multiple skill sets
2. Look for verifiable experience
The developer may send you dozens of links to past achievements as portfolio. Things to keep in mind:
- Maybe he/she worked only on a portion of the project
- Maybe he/she didn’t work at all on this website
- Some will say they are tied to an NDA and can’t show you examples (This is often the case with some Agency subcontracting them, but they must have some direct clients too being the goal of any individual developer!)
The better question to ask instead of “What project’s did you work on ?”:
- If you built an application, plugins can show me where it’s posted ? (If approved somewhere, it was most likely screened for authenticity by a moderator. IE: Magento Connect, WordPress directory, Apple Store, Android Store etc.)
- Can you explain to me a challenge you faced, and how you managed to successfully resolve it ? (show screenshots if applicable)
- Show me some testimonials left by clients. (Any satisfied client would be happy to leave them a review)
This point leads to a personal discussion with the developer, which will also give you a chance to judge their comprehension level and professionalism during your exchanges.
3. Look out for language barriers
When you reached step 2. You already engaged in a discussion with your potential developer.
Developers will most likely prefer written exchanges over phone exchanges. Why? Due to the technical aspect of things, it’s not that easy to instantly process and elaborate a constructive answer. Your best bet would be Chat / Email discussions for screening developers at first.
You will be able to judge:
- How well they are understanding your needs
- Their responsiveness after a few days of back and forth exchanges
NOTE: Don’t try and speak technical language with with them if you don’t know what you’re saying. This is not helpful (honestly developers hate that and prefer a simple language exposing the business needs.) They will do their “Techy” language translation on their own.
Language is a 2-way barrier
4. Hourly rate / devoted hours
Important questions to ask:
- What is your hourly rate ?
- How much hours are you ready to devote to me every week / month ?
For bullet point 2; it’s crucial to know this element as nothing is more annoying than an over-booked developer that make you feel that your project is the lowest of their priorities.
If they lack straight answers to above questions- here’s respectively the raised red flag
- Developer has poor management skills
- Developer isn’t motivated by customer’ satisfaction
PRO TIP: This is a good time to negotiate the hourly rate at this stage. (You will not be able to negotiate much down the road as the collaboration has already begun.)
Do your research to know the hourly rate the industry is performing, as proposing an unreasonable hourly rate from your end will result in immediate rejection. If you don’t know, do not impose a hourly rate – just ask for a lower rate.
5. Developer is making me sign a Retainer
As they are sole-developer devoting their time to your store, they will want you to make you sign a retainer for their services on the long-run. If they are skilled at what they do, this isn’t a bad news for your business, you should take it as: “He/she wants my success and this is some kind of partnership agreements that gives the developer some financial peace mind”
Pro tip: Make sure that on their retainer, the hourly rate and the devoted hours per week/month are specified.
Discard a retainer if you never worked with the developer before. Avoid yourself from being stuck to their services.
6. Use time-tracking and report upon each bills
Tasks add up quickly, and at the end of the month you don’t want to be facing any cost-surprises. The lack of time tracking tool will make the experience questionable. “What was done? Why billed for all these hours ?”
Due to virtual and invisible nature of things, you don’t want to be spending hours in trying to figure out if their costs are justifiable. As a client you shouldn’t worry whether an invoice is legit. In fact the developer should be tracking their time properly.
#1- Ask them to use tools like Toggl. You’ll be able to see when the time-tracker is activated and and a brief description of the task logged. At the end of the month, you will trust the hourly report and stop questioning the invoice.
Note: It’s fine if they are not using Time-trackers. In this case, make sure that a budget has been set upfront for each assigned tasks!
#2- Is your inbox getting messed up with exchanges and you’re losing management grip? They should be using a platform for project’s management such as Active Collab to keep everything neat & organized :)
Proper tools engage in better collaboration
7. Ask if they use a staging environment
Developers can’t be working directly on your live production environment. Even they claim to be a guru at what they do, errors are 99% human’s and many things could go wrong! There’s some ethical code to follow in programming.
Here’s a basic setup:
- Localhost – the developer’s computer: Code stability ALPHA
- Staging – hosted testing environment where decisions are made prior to final deployment: Code stability BETA
- Production – your project’s live final version: Code stability STABLE
As you see, the Staging is crucial to you. (it means, room for extensive software’s engineering, testing and for errors.)
Should I be hosting the Staging environment ?
Short answer is YES, you would want it to be on the same server than your production website IE: staging.yourwebsite.com even if you’re being charged for the environment setup it’s definitely worth it!
Why? I’ve tried developers who works on their own staging server, and while deploying their codes LIVE many error occurs such as the PHP or Mysql version being different. Do you want to deal with those issues and create more delays? Host the Staging environment and it would not eliminate those issues, but give you also full control over fully-testing your project.
Avoid stressful direct code deployment on Production
Pro tip: Ask if they have knowledge of version control. Such as .GIT, it’s like a web development code history which tracks every changes happening code-wise. It becomes practical when you have multiple developers working together on different aspect of the project at once. It will prevent each other from erasing their progressions.
8. Payment terms
Discuss payment terms:
- some will do fixed price quotes per projects basis. (interesting as they cannot go over budget and ideal for full projects)
- some will log the hours worked and bill upon completion (ideal for small jobs / tasks, support or troubleshooting)
It’s up to the developer if they request a deposit or not. (generally depending on their trust, based on the fact that they worked with you before.)
They are a business-man and have payment terms too
9. Certifications & experiences
Can be accessed nowadays from their Linkedin profile. It’s easy to see their Education Level, certifications and past experiences.
If you’re doing it via Linkedin, don’t forget to add them to your Connections so that they are aware that you checked their profile!
Pro tip: Experience can be acquired outside of Education / Experience. Give a chance to the developer to show you their skills. (Maybe they will be the next Gem to your business!)
Establish a Connection on social profiles (endorse them, they are proud to be in your circle)
10. Hire someone who gives personal advises
Let’s face it, this is not your jurisdiction, you have business ideas to implement. But who is better placed to give you real-life feasibility report? The developer of course.
The developer who is asking questions towards your requirements, and advising you constantly if there’s a better/smarter way of doing things is the one you should keep! They are the kind devoted to your success and want to be part of it.
Would you hire someone that delivers what was asked from him, but didn’t warn you of potential flaws or arising limitations ?
Hire one that gives honest advises and draw your limitations
Conclusion:
After all, it’s just a question of how well the developer understands the core of your business, and their skills to adapt your business goals to the project! With this list on hands, I’m sure you will be able to find your next developer as your success partner.
Please comment below if you find this artcile helpful, or any other tips you found to be useful during your personal hunt for a developer :)