Software developers are some of the most highly sought-after IT professionals, and many companies consistently struggle to find the coders they need.
Small businesses are using technology to outpace bigger rivals. Find out all the small business tech essentials to give you a competitive edge.
Read nowThat can be especially true of smaller businesses, particularly if they lack the money to tempt developers who might otherwise end up going to big technology companies. But what's also true is that not every developer wants to work for a giant, faceless corporation. And in any case, every software developer has to begin designing code somewhere, whether at a mid-size tech company or their old college roommate's startup, which means that smaller businesses are often a route into the industry for many developers just starting out.
And depending on a company's size, a developer will face different challeges and use different skill sets.
Brendan O'Leary, developer evangelist at GitLab, says that smaller companies can offer greater feelings of connectedness between a developer and their work's impact on their company. O'Leary says smaller companies allow developers to focus more on their cycle time, which is the time it takes from writing the first line of code to seeing it go into production.
That can be a huge advantage that a small company can offer, he says: "That's an intrinsic motivator that's really hard to replace with money or anything else."
O'Leary says developers at larger companies are more likely to feel disconnected from their work's direct impact on their company and its customers.
Also:The future of the web will need a different sort of software developer
Amanda Richardson, CEO of CoderPad, agrees that developers at smaller companies have a unique chance to witness the fruits of their labor by working on a project in its entirety.
"Working at a smaller company can provide the opportunity to work from start to finish on projects while seeing the immediate impact of your work," she says.
According to Richardson, small businesses might be the route new or inexperienced developers choose, as startups are typically operating within the bounds of small budgets. Developers at smaller companies will need excellent problem-solving and research skills. On the other hand, she says more prominent companies are in the market for IT professionals who might not have a broad scope of experience in all facets of software development but have a deep understanding of one specific topic.
"Because budgetary constraints often mean startups can't match the pay of large companies, they are more open to considering profiles that don't tick all the boxes in terms of degrees or professional experience," she says.
Bigger businesses do offer specific advantages for certain types of individuals. At a larger company, software developers and engineers can expect more structure, clearly designated roles and responsibilities, and established processes. A larger company is probably further along in its DevOps growth and hires developers who are ready to face a project head-on. That can be a good environment for someone just starting out.
"Working as a developer at a large company implies a structured environment with well-established processes and roles," Richardson says. "It can be especially valuable for young graduates to learn within a structured environment and see software development at scale while acquiring best practices."
The downside, of course, is that developers in a bigger business might find themselves completing mundane tasks. According to a Stack Overflow survey, 45% agreed that feeling unproductive is the number one reason they're unhappy at work, with inflexible working practices not far behind as something to complain about.
This issue is particularly true at larger companies if developers work on a small part of a larger project, with each team of developers holding one piece of the puzzle, and little sense of what the completed work looks like.
In contrast, smaller companies can offer software developers a more comprehensive range of knowledge, as each developer will need to take on more pieces of the puzzle and manage more parts of a project. At these companies, developers will be closer to understanding a problem and will work closely with the required steps to find a solution.
Both Richardson and O'Leary agree that smaller companies have a slight advantage over larger companies with how fast they can develop new software.
Richardson thinks this advantage is because larger companies must make more complex decisions. At the same time, O'Leary says it's because developers can focus more intensively on their cycle time at smaller companies.
Larger companies overcome some of the challenges of building software by using smaller groups to make the process more manageable. Smaller teams can communicate and collaborate faster, releasing software at lightning speed. As a company grows, it will need to split its engineers and developers into much smaller teams, and each team will oversee a small portion of a project.
Even some of the largest tech companies still want their developers to keep to small teams, to emulate the agility of small businesses.
"The smaller the team, the better the collaboration," says Amazon -hardly a small company -in its so-called "two-pizza team rule ", which states that DevOps teams should be small enough for two pizzas to feed everyone on the team.
"Collaboration is also very important as the software releases are moving faster than ever. And a team's ability to deliver the software can be a differentiating factor for your organization against your competition. Imagine a situation in which a new product feature needs to be released or a bug needs to be fixed -you want this to happen as quickly as possible so you can have a smaller go-to-market time," it says.
Also: GitHub vs GitLab: Which program should you go with?
Flexibility is another factor. Richardson says developers working at small companies and startups have more autonomy and responsibilities than they would at larger business. This autonomy creates room for developers to pitch new ideas to the company. According to the Stack Overflow survey, 39% of respondents said that a lack of growth opportunities makes them unhappy with their jobs. A developer's possibilities to expand and grow in their career might be much higher at smaller companies.
But the same autonomy can mean a lack of guidance and more room for error.
"The drawback of working for a smaller company is you're unlikely to have the reassuring support of a seasoned engineer to answer questions and help you ramp up or be able to test your ideas at scale," she says.
O'Leary says it all depends on the developer and what kind of career goals they have. Some people might enjoy the challenges of trialing new code and solving problems that small businesses face. Others might prefer the stability of a larger, more established company.
Working at a small, mid-size, or large company has positive and negative aspects. It all depends on what an individual developer or engineer strives for in their career, and how many responsibilities they'd like to take on in their professional lives.
But it's almost universal for developers to want to understand the impact of their work and feel like the work they complete is meaningful and valuable to society. So in a tough market, hiring managers at companies big and small should look at the work they are offering and consider how the developers they recruit can be made to feel like they are really making a difference.