When you are just starting out in a web development business, it can be really tempting to try to handle most (if not all) of the work entirely by yourself. It’s not hard to understand the logic: the more of the work you complete personally, the more of the profits you get to keep, right?
But there’s a side to this approach that many new entrants to the industry overlook when they decide to start up an independent business instead of joining an established agency: if you do most of the work yourself, you may end up spending nearly all your time working. Inevitably this means late nights, gallons of cola and countless home-delivered pizzas. You end up with red eyes, bad skin and a swollen belly…hardly what you envisioned when you first decided to go into business!
You also probably won’t make nearly as much money, because if you are immersed in code and dealing with customer problems and follow-up work, you can’t devote as much energy to generating new customer leads. Before you know it, many of these solo flyers are burnt out and nearly broke.
Fortunately it doesn’t have to come to that, because if you can see the wisdom of team-building, delegation, and sharing wealth for mutual benefit, then you’ve already improved your odds of success. There’s just one last thing standing in your way… you have to find the right people to work with.
Building a team: you need people with skills!
A good web development project nearly always has the following necessary roles:
- Sales person – helps generate new customers for the business
- Project architect – develops the overall concept of the project (not the design)
- Project manager – manages the project and keeps everything on track
- Site designer – designs the look and functionality of the site
- Back-end developer – creates the framework the site interface will be placed on
- Front-end developer – creates and implements interface components
- Site tester – ideally does everything possible to try and break the site until it can be broken no more.
just because you are building a team does not mean that nobody can multi-task
In addition to the core roles listed above, there is sometimes a need for specialists:
- UI specialist – works with front end developers to make more awesome interfaces
- UX specialist – extensively examines the human factors of a site to ensure a good user experience
- SEO specialist – determines (and possibly implements) an SEO strategy
- Content writer – provides high quality text content
- Graphic designer – creates custom graphics
Let me be clear that just because you are building a team does not mean that nobody can multi-task. So the team you put together does not necessarily have to be large, and in fact there can be disadvantages to having a team that’s too big.
Generally speaking, the larger and more important a project is, the more specialized your team needs to be. Smaller and less important projects allow more scope for individuals to perform multiple roles in the development process.
Who does what?
The first logical step is to determine your own role in the team.You may be tempted at this stage, since you’re the business owner, to automatically assume you should also be the project architect and project manager, since the names of those roles implies leadership.
Never let your ego get in the way of good business decisions
But stop and think for a moment… is this your strength? If you see yourself as more of a coder or an illustrator, then it may be wise to consider delegating the management roles to somebody with more experience or ability in those roles and taking responsibility for the area of expertise where you are strongest. Never let your ego get in the way of good business decisions.
Now you come to the fun part, which is also by far the most difficult part.It is time to select your co-workers. The first thing to know about this is that it’s usually better to maintain a permanent core team who perform the same roles in each project, and when necessary you can consider bringing in additional freelance workers on a temporary basis to fill special needs of a project.
If you have to mess around building new teams for every project, you’ll waste more time and spend more money, and occasionally you’ll get disappointing results. You could even lose clients. So find people that you like and trust, and make them a permanent part of your team.
Finding good team members
The mistake that many people make when hiring is to define lists of skills that are too complex and too restrictive. Sometimes hiring managers don’t even understand the role. For example, here are the requirements listed for a recently advertised front-end developer role:
- Minimum 3 years experience in PHP development
- Minimum 3 years experience in SQL/MySQL
- Proficient in WordPress, custom themes, plugins, widgets, HTML, CSS, JS, JQuery.
- Understand basic Unix CLI
- Experience working with GIT
- Experience with unit testing and QA
- Strong knowledge of Unix Administration
- Good knowledge of UI design
- Experience with Agile Scrum methodology (essential)
- Strong documentation skills
- Experience in email marketing, SEO, and Social Media
If you can’t see the problems with the above, then you are part of the problem. Very few of the skills listed as required skills have anything to do with front-end development. Most of the skills are back-end, administration, and marketing skills. It absolutely does not make sense to require these skills for a front-end developer, and you may lose quality candidates by making such a restrictive list.
Another thing you need to know is that the requirement for familiarity with agile methodology is also ridiculous. Agile development is effective in software development where the projects are large and require months of high-level investment. Web projects are completely different and it’s just a straight-out waste of money to use agile methods in most web development environments as you’ll need to hire extra coders that you don’t really require.
A much better way to advertise for a front-end developer would be to simply specify:
- Familiarity with CSS
- Ability to think on your feet
Grow your team and your business at a sustainable rate
Most small development agencies should be able to fill all the required core roles with just 3 or 4 staff, appointing freelancers where necessary. As your business grows, you should start to think about narrowing down the tasks that each person has to cover and creating a bigger team.
Try to avoid developing a corporate hierarchy and culture. That kind of thing is what leads to the stagnation and failure of creative businesses; with an hierarchical structure, you get competition between your staff, you get people being promoted up to their level of incompetence, and you get divisiveness.
What you really want is everyone having equality within the organization, no major differences in pay between people with different roles, and everyone feeling like they make a valuable contribution to the success of the team. In this way you can ensure you have an effective development team who will grow your business and expand your portfolio more quickly.
Featured image, teamwork image via Shutterstock.