Set up the development department from scratch
Sooner or later, marketplaces and shops outgrow their technical outlet. When this happens, stores seek out developers to create a new website or app, modify an existing one, or develop a new startup. Then arises the choice: third-party agency vs in-house dev team. As professional as agencies may be, nothing beats the flexibility and comfort of having your own development department. However, creating one is a challenging task. To help you avoid all pitfalls, Mirasvit brings tips and advice derived from our own realistic experience.
Pros and cons of in-house teams
First, let’s figure out what benefits inner development departments bring and potential downsides on the contrary. There is much to say about the convenience of internal dev teams. However, it's not a magical solution that has no nuance. Some businesses will do fine by occasionally working with external agencies, but an inner team will strengthen others. Understanding this solution's pros and cons will help you determine which side your business will end up on.
Flexibility. Fast and responsive communication with the internal team streamlines the development process. You can ask for demos and previews, give feedback on the go, and correct terms of reference without much wait. Also, a stable internal dev team can use assets from previous tasks and be more in touch with your workflow.
Speed. The inner development department works only for you. There is no other client that may stall the work. You can control what tasks are in priority, switch focus, and change deadlines so all the work is done when needed. Responsive communication also helps. You can set up direct connections with devs so that no hierarchy ladder will slow communication.
Social aspect. You can shape an in-house team so employees will support your business values and be tuned to your workflow. Moreover, devs will be directly interested in the success of your company. Together with strong, friendly relationships, all these factors may give a huge moral boost and enhance the department's overall productivity.
Finances. With enough skill and work, paying internal wages may be cheaper than hiring external developers.
Finances. Yes, the financial part of the solution can also be a downside. If there is little to no work for the department, you will pay for idle standby. Also, hiring and training can be significantly more expensive, depending on the current state of the labor market. Not to mention that forming new departments takes time.
Downtime and bugs. The early life period of the development team may be riddled with problems and specific bugs that newcomers need to learn about. The adaptation process can be slow, so as building up proper skill level. In time or by hiring experienced developers, this problem may be mitigated, but it is a real risk.
Retention. Skilled devs can easily grow bored with simple tasks and unsatisfied with subpar paychecks. Unsatisfied professionals will quickly jump ships, so you must think about retention. Offer interesting tasks, payment raises, and workflow improvements.
Where to start building?
So let's say you need an internal development department. Where should you start, and what steps should you take? Every separate project, team, and business will have its specificities, but generally it goes like this:
- Create a task list. Think about what you need to do. You may need to maintain the website, update it, create a new one, fix bugs, develop apps, etc. You need to know what kind of work must be done to figure out what people to hire because you don't need a full-stack developer to fix a few mishaps.
- Figure out who you need to hire. Depending on your tasks, your team may consist of very different people. You’ll need a system administrator to handle a dedicated server. Middle and senior developers can implement new features. Juniors may fix bugs under the watchful eye of one or two superiors. People should be hired task-appropriately.
- Find a good leader. Any team must have an experienced overseer who will know the craft and can control the workflow. Directionless devs bring significantly less value than those with good leadership. Preferably, you need a middle PHP developer with a few years of experience with Magento. An experienced senior developer passionate about becoming a manager is even better.
- Create a solid loop. Your department must be a well-oiled clockwork device rather than a chaotic fireworks show. People must know and maintain the development cycle. If you or the team leader need a specific workflow – create and organize it from the start.
After hiring a team leader and establishing a development cycle, you can let go of the wheel in the best-case scenario. By that, we mean delegating management to the leader. It is best for the department if they select employees, run interviews, form tasks, and control the quality of the output. The experienced leader will know how to maintain and improve their team.
However, this way of work will be unavoidably more expensive. Essentially, you will hire an additional manager because, with all this workload, they rarely will do any programming. Small businesses with less work and simpler tasks are more likely to lose funds by hiring in this manner. Larger companies, however, will benefit from management with skills and experience in development.
There are also two very important tips for team building:
- Oversee your juniors. Junior developers may be the best or the worst people on the team, and often, the difference is in a good manager. Unsupervised and inexperienced juniors can cause more bugs than they will fix. However, with proper training and experienced seniors guiding them, they may soon become the most valuable assets.
- Don’t micromanage. No one will be happy if you poke around the department at any given chance and interfere with their work to direct each dev personally. Micromanaging is rarely a good thing. By micromanaging, you lose time and erode relationships with your team.
You may be surprised how much harm can be done by avoiding these tips. For example, studies report that micromanaging destroys teams and negatively impacts the psyche.
In-house teams are worth the effort if you can give them a lot of work and good conditions for employee retention. You should start to build a team with a set of need-to-do tasks, based on which you can hire staff. Then, you should find a team leader. Preferably a middle or senior developer with experience with Magento and a passion for management. In the best-case scenario, the leader will interview newcomers, form tasks, and oversee the output.
The largest pitfalls are slow wind-up before the development cycle is set up and potential financial instability. Things to avoid: unsupervised junior developers and micromanaging by higher-ups.