Helpful hints for selecting a Concrete CMS developer
This is a community-contributed tutorial. This tutorial is over a year old and may not apply to your version of Concrete CMS.
Dec 30, 2016
1. Review the developer's portfolio and projects
- When reviewing a portfolio, check specifically for projects created with Concrete CMS.
- Do the projects demonstrate the skills you require for your project, such as:
- experience with a specific technology
- knowledge of a particular industry and standards
- ecommerce
- responsive design
- designing for performance and with performance budgets in mind
- security best practices
- theme development
- custom blocks
- custom add-ons
- integration of a third party library or service
- experience with a specific version of concrete (5.6, 5.7, 8)
- Look for:
- live projects, avoid portfolios that consist of screenshots only
- real projects done for real businesses
- project case studies that explain how a project was planned, what it needed to accomplish, and how it was executed.
2. Avoid copy and paste job post replies
- Be cautious of replies that are generic, repetitive, and ignore the requirements posted in the job description.
- Does the developer post the same response to each job post?
3. Check the developer's profile for community involvement
- Reviewing community involvement can be an effective way to gauge a developer's knowledge and skill with concrete.
- Check how long the developer has been registered on concretecms.org.
- Is the developer active in the concrete Slack team channels or IRC channel?
- Is the developer active in the forums?
- Does the developer demonstrate their knowledge by assisting others and answering questions?
- Sample messages that the developer has posted:
- Does the developer conduct themselves in a professional manner?
- Does the developer only post to the forums to reply to job listings?
- Look for concrete certifications:
- They help to establish that the developer has knowledge in a particular area.
- Check for certifications that cover topics that will be required in your project.
- Is the developer a concrete certified agency partner?
- Does the developer have add-ons or themes in the concrete marketplace?
- Check if the add-on or theme is PRB (Peer Review Board) approved.
- PRB approval requirements of an add-on/theme:
- passes automated and PRB member testing
- has basic documentation
- installs/uninstalls correctly
- does not interfere with other marketplace items or the dashboard
- does not cause errors or breaks a site if mistakes are made in its use
- has a minimum of usability
- PRB approval requirements of an add-on/theme:
- Review the support page for the add-on or theme:
- Does the developer respond quickly to support tickets?
- Are support tickets resolved in a timely manner?
- Check if the add-on or theme is PRB (Peer Review Board) approved.
- Does the developer have a GitHub (github.com) account showing code contribution to concrete?
- Has the developer written tutorials or documentation on documentation.concretecms.org?
4. Request customer testimonials
- Ask for contact information of satisfied clients.
- Make sure to follow up with these clients to discuss their experiences working with the developer.
5. Language proficiency
- Consider language proficiency when a developer does not speak the same native language.
- Look for limited working proficiency and full professional proficiency.
6. Long term projects
- If you are hiring for a long term project, arrange an in person meeting or video interview to determine if this is someone you can see yourself working with.
- You can get a much better idea of personality, temperment, and attitude through voice and video than email exchanges.
7. Project scope
- A successful project will have clear requirements and goals that you and the developer can agree on.
- Projects with changing goals and requirements will be hard to price, schedule, and execute.
- Will the project require ongoing support and maintenance?
- If so, how long will ongoing services be required?
8. Project budget and developer rates
- Be cautious of developers working for far less than the market rate for their region of the world.
- Consider the phrase "you get what you pay for" when setting your budget and evaluating developer rates.
- Avoid the temptation to hire a developer based soley on them being the cheapest.
9. Project timeline
- Communicate the desired start date and when you need the project finished.
- Once a budget and scope have been determined, it can be helpful to set development milestones for when certain project tasks should be done.
10. Project communication
- There should be regular updates with the developer.
- Agree on the update frequency (daily, bi-weekly, weekly, etc.).
- Agree on the method of update (Skype, Google Hangouts, telephone, e-mail, etc.).
11. Payment terms
- Will the payment be based on an hourly rate or a fixed price?
- What will the payment schedule be?
- How will payment be made (PayPal, check, wire transfer, etc.)
12. Work that requires a design
- Who is responsible for the design?
- Will you provide a design for the developer?
- Will the developer do the design work?
- Will a third party create a design?
This guide does not cover contracts or dealing with offshore development agencies. Both are important topics and require specific legal advice from a lawyer. Consulting a lawyer adds to the cost of a project, but should be considered a required part of doing business, especially when dealing with medium to large projects.