Leading software development in a small software company is different from running a software team in a large company. A manager from a large company who is put in charge at a small firm can run in to big problems. Let’s look at some of the key differences between what happens in large software firms and your experience leading engineering in a small company.
In a large company, support staff handles many of the different routine things.
In a small firm, you are the support staff.
In a large company, the engineering manager reports to another manager up the management chain.
In a small firm, as head of engineering, you report to the CEO.
In a large company, process is often set by senior executives and precedent. Changing the processes can be difficult.
In a small company, you set the engineering process and methods. You should review them regularly to make sure it meets the needs of the company.
In a large company, tools are not always the choice of the development team as corporate purchases can be made with the goal of saving the company money overall. However, full consequences and impact of these choices appear to the development team and not always the manager arranging the deal.
In a small company, you should be actively choosing the tools to use and methods of using them. If what you have today doesn’t - change them. And, if they do work, you won’t be forced to change them because of a good deal made way up the management chain.
In a large company, strategy is set by senior managers; tactics related to those strategies are directed at the engineering teams. Separation of strategy and implementation responsibility can lead to choices separated from reality. For example: defining a new market to aggressively attack or product to create that is outside of technical reality or reasonable timelines.
In a small firm, you work with the executive team to set the strategy and then carry it out with the appropriate tactics. If the strategy turns out wrong, you will need to find out why and make the changes.
In a large company, failure of a product may not be too serious; however, success may not guarantee that you keep your job.
In a small firm, failure will be devastating to you and your company’s future.
But, success is easy to recognize.
Managers trained in large companies sometimes do not appreciate the potential mismatch when they join a small firm. With their expectations and focus set while working in a large firm, leading in a small company requires a shift in thinking. But, a small firm can offer a great challenge to the engineering manager who takes it up.