If this just happened, and you are the operations executive at your firm, you may be a bit stressed at the moment. The Internet is littered with articles that discuss reasons developers and software engineers quit their jobs at otherwise high-profile tech companies.
The fact is software developers quit all types of companies. If you are a company that is not in the Fortune 5000, and your market happens to be more high-touch than high-tech, then this might have been your only developer, or half of your team of two!
Because the departure of a developer in a small IT department can leave a gaping hole, it’s not a bad idea to look at why the event happened in the first place even as you look to fill the role as quickly as possible.
Why Developers Quit
In a company with a small software department, it is often more challenging to attract and retain qualified talent. And just because you’re not a Fortune 500 company doesn’t mean you’re not in need of a talented developer. Many mid-market companies rely upon a careful mix of off-the-shelf software for the bulk of daily work and also custom software to eliminate manual functions or find a way to automate business processes unique to a company or industry. Indeed, it’s not uncommon for a custom software application to give companies like yours a competitive advantage in the marketplace or to supply a key function required for your daily operations.
While the reasons for a developer quitting are as numerous as grains of sand on the beach, that explanation doesn’t help the company executive responsible for getting a new product line or process into the custom software that the previous developer wrote or maintained. What the executive does have to worry about is how, going forward, to properly retain the next developer to come along so the problem is not repeated.
Wearing Many Hats is Stressful
If you oversee a small software department for a company in a traditional (e.g., non-tech) industry, you may understand the difficulty having to maintain the many competencies necessary to plan, design, build, maintain, and support custom business software. And you have probably learned to appreciate (even take advantage of) support from the product vendors that supply off-the-shelf or SaaS enterprise software when you can get it.
If you have a small department, or perhaps even a department with a single developer, you have undoubtedly struggled to find someone who can support some or all of the following roles:
- Project manager
- Software architect
- Quality assurance tester
- Systems engineer
- Support technician
- Technical writer
- Database administrator
If you are an executive with enough operations oversight you may have even had to pinch hit on some of these roles, depending on the breadth of your skills and that of your developers. This requirement to stretch and support many different roles, some requiring vastly different skills, are the constant stress points of a small department that can deepen over time. Bigger departments of larger companies in the Fortune 5000 will have invested millions to hire professionals that specialize in all of these areas. For an individual developer stretched between all of these functions, it can be more than a little stressful. The fact is many developers naturally prefer solving the problem and writing the code to make it happen. They will put up with the other responsibilities to be able to do that – for a time.
Problem Solvers Like to Solve Problems
Many professional trades are filled with people who enjoy solving problems. Developers are no exception. Some developers prefer building new solutions, while others prefer fine-tuning and maintaining an existing solution. Regardless of which one a developer happens to be, none are are content to live with unsolved problems for long. If you have ever heard that developers crave variety and may quit because they have worked on the same software for much too long, it means there’s some truth to that rumor.
But if that software system has some of the same problems that it had several years prior, then it is likely that the persistent problems — and the company’s inability to put a proper fix in place — have contributed to the early exit. Many front-line professionals know what needs to be done to solve a problem. If they see that actual solutions are not gaining traction or not recognized, it can magnify their frustration.
The Lack of Peers
As hard as it may be to believe, software development as a field still is in its infancy. The industry as a whole is still learning what the appropriate standards should be. There is no single school one can go to in order to gain a developer certification. Because of this, a developer’s career is often dependent upon continuous learning. The software industry is dynamic, ever changing, which requires developers to learn just a bit faster in order to keep up and, hopefully, stay ahead.
If a developer is a one man shop, it can feel quite lonely on the educational front. After all, the business professionals down the hall expect great things from a developer, but every now and then some problems prove to be quite difficult to solve. Even though developers may seem like lone wolves, they actually thrive around others with whom they can bounce ideas and see new perspectives. That’s partly why a small department with one or no peers can cause some developers to seek ‘greener pastures.’
How To Find a New Developer
An outside recruiter is certainly one way to find a developer. But you can also do your own recruiting by using some of their techniques, which are not as hard to employ as you may think. When filling a job, recruiters ask everyone they speak to for a referral or two. You can do that same! If you have friends or industry colleagues who know developers, you can ask them for referrals and introductions.
Recruiters also know where the developers are. They may go there if it’s a conference or networking event. Again, contrary to popular opinions or portrayals in the media, developers are some of the most social professionals out there. Just because they aren’t having blow-out parties with flashing lights and loud music doesn’t mean that won’t meet up in groups or happy hours in every major city across Texas and beyond. For instance, the Austin .Net User Group has been meeting monthly for 14 years! Houston, Dallas and San Antonio all have groups similar to this one.
What’s to stop you from going to some of these meetings? Nothing. Not sure where to find them? Ask around. You can also use Meetup.com, which is a great way to find groups meeting in your community for all manner of reasons and subjects. Very often recruiters contact the organizers of groups and offer to sponsor a meeting by providing lunch or dinner or contributing to drink tickets in exchange for a minute or two at the start of the meeting for an introduction, which is essentially a short commercial about your company and what kind of job you are trying to fill.
Just don’t forget personal referrals from your existing employees. They can lead to some of the best hires you’ll ever make.
How To Keep Your New Developer
Now, let’s say you went through the stress of losing a developer and then scrambled to find a replacement. What comes next? Why making sure you keep this one!
To be perfectly honest, in some cases, it is very unlikely that a mid-market company with a small developer department will be able to provide a career path that keeps a new developer for the long haul. That doesn’t mean you can’t do some things differently (maybe even a bit better?) to extend their tenure.
Set Them Up For Success
I have been managing professional coders since 2006. 20 years ago, I started my career as a professional computer programmer. I can honestly say that have loved every part of my professional journey. And I believe that that background has helped me understand the perspective of a professional developer in most every kind of company size or setting. So you can trust that I know a thing or two about how to get the most out of your investment in a developer — for the good of the company AND the developer.
I mentioned above that developers like to solve problems. As someone in a leadership role inside your company, you are charged with solving problems as well. It stands to reason that if your many company initiatives — including its custom software — are successful, well your developer will have a good time being part of that success. Everybody likes winning. Everybody likes to succeed in what they do and be part of a larger group’s success.
What developers despise is feeling like they are toiling for nothing, losing a battle against a problem they really want to fix but can’t get the proper backing or resources to resolve. For example, in today’s world of cloud computing, there is much more reliable infrastructure to be had in online servers and services at Microsoft Azure than what we can procure and manage for ourselves. If modernizing the infrastructure is not a priority, and the existing infrastructure has hiccups from time to time, then the support tickets and some late night reboots can cause frustration levels to grow. By taking care of something as basic as infrastructure, you set them up for success. Along the way, they will realize that you value the contribution custom software makes toward the company’s greater success.
Give Them Great Co-Workers
Developers enjoy learning. And they have a habit of learning from each other. In 2004, developers were some of the first ones to start blogs for websites to share their discoveries and tips with others. They were also some of the first to adopt Twitter, the first micro-blogging platform for the same reason. They embrace many diverse resources to connect and learn from other tech professionals, as in the case of Meetup groups mentioned above. As sure as the sun will rise in the east, developers will find a way to learn from their peers. A great way to keep your developers longer is to make sure they have access to learning opportunities from other professionals. Teamwork can play a huge role in achieving this. If a developer feels all alone on an island, he or she won’t be there for long. Having some like-minded co-workers will help them feel connected, appreciated and happy.
Good Pay and Benefits
One thing I’ve learned over the past 11 years of managing software developers is you can’t retain employees with pay and benefits alone. But you must meet a bar of “enough” to keep that person from looking around. If you have a frustrating environment where business problems linger for years, and your developer must cope with unresolved business issues and work around them from a technology point of view, you may end up having to use pay in order to compensate for the factors causing him or her to want to quit. At some point every developer will hit a breaking point, and with so many other options available for tech-savvy professionals it won’t take long to find a new job.
Do Your Part
If you run a software team, regardless if it is a single developer or large team of developers, you must be a good people and technology manager. That is the part that you cannot delegate to your team. If you have never played this role before, then it might be an uphill battle. Plus, as a leader or executive overseeing software, when your developer needs help, it’s up to you to pick up the slack. Or find the resources outside the company to help, if only on a temporary basis. With enough work and words of encouragement for your developer, you’ll do a great job at keeping your business humming!