15.09.2024, By Stephan Schwab
In-house software development is complex and expensive. Even if you can utilize employees with relatively low salaries, the overall costs are still very high. For example, in Europe a small team of just 5 people with relatively modest salary expectations can cost around $400,000 per year. In North America that number would be significantly higher. Depending on location it might be something like $1.5 million annually.
When demand increases and you need to expand the team, you’ll likely look for agencies or freelance IT specialists. At the lower end, they may charge a rate of around $90 per hour. With the agency’s commission, this rate often rises to about $110 per hour. If used over an entire year, this can add $200,000 or more to your costs, depending on the extent of the engagement.
So, we have $400,000 in fixed costs for the in-house team, and an external specialist increases this by $200,000. If the need for additional staff continues to grow, costs can quickly spiral out of control, becoming a serious issue.
Moreover, typical IT freelancers usually expect to complete a clearly defined task and will not work beyond that. If you request a specialist for “Backend Development, Java, Oracle, Hibernate” from an agency, you’ll get someone who has worked with that exact combination for many years but likely has no knowledge or interest beyond that.
Software development can be very cost-effective. Small teams of talented and capable individuals can manage an entire product independently, and the contribution per employee can be impressively high.
At an insurance company I know, a small team (around 30 people) is responsible for all aspects of a car insurance product. The core team is advised by specialists from the insurance industry, and the product is sold exclusively online. The team handles all aspects of the operation independently.
This level of efficiency is achieved through a combination of:
US business consultant and former submarine captain David Marquet explains in his book Turn the Ship Around! how he transformed a poorly performing crew into one of the best in the US Navy through a combination of the above measures.
But where and how do you start?
The role of a Senior Developer Advocate describes an experienced software development specialist with broad expertise and a willingness to share knowledge with others. This type of profile is often overlooked by agencies, as they fail to recognize the value of broad experience and prefer someone who has been doing the same thing for 10 years.
In my case, this also includes knowledge and experience in building and leading companies, even internationally. Understanding business aspects is crucial because many software solutions are not developed as products for the free market but to efficiently support economic activities, such as in the case of the car insurance mentioned earlier.
Although an essential part of such an engagement is improving the skills of existing employees, it’s also about delivering tangible, short-term benefits to the company. The ability to deploy valuable software solutions earlier and with fewer defects or rework is a clear economic advantage. That’s the primary goal.
The focus on practical work as a developer helps gain the acceptance of the person and the proposed measures by the other team members.
The previously mentioned coaching plan is constantly visible to all team members, and the Senior Developer Advocate actively looks for the right times and opportunities to implement training objectives and actions. This happens situationally and through personal interaction.
The goal is to fully end the engagement after a few weeks of reduced presence. If necessary, the engagement can be resumed.