How companies can find and keep the best developers in the world


Share

In the midst of apparent financial uncertainty, when only the projects with the highest potential for quick return on investment in the shortest delivery time seem to make the cut, there is a way that software companies can ensure they are delivering world class services, without requiring drastic change. And on top of that, they can attract first class developers to help them get there.

Start sharing

The amount of code duplication present within even one organization, especially one structured as a consulting practice, where contracts are typically forged as work-for-hire (when all intellectual property claims to the produced work transfer from the provider to the buyer, exclusively), is needless waste. You don’t need to start at square for one every project you undertake, and it only invites defect déjà vu and an inability to share knowledge across teams. If this is you, then this a good place to start before moving forward. If you do have a reasonable about of sharing across your delivery teams, then you can start thinking about how effective this has been for you, and how you can extend that circle of sharing into a bigger picture that guarantees you’re getting the best talent for the best price: open source. That’s right, financially supporting open source efforts means the best developers in the world are working on your software.

Where and what great developers want to work, and work on

Wherever they want, and whatever they want. That goes without saying, and it’s actually to your advantage. Discounting the obvious wins in energy consumption overhead, the fact that the best developers in the business are focused and dedicated to one or another specific challenge in software design means that they will find better answers, and faster, to the problems they champion. No matter how talented your development team is, they cannot afford to focus on these often subtle and difficult problems, and still deliver your project on time. It’s not in the budget. Open source developers with funding are happy developers. They get to create the massive value that they see in their mind and turn into functional software. You get to use it.

The reality of innovation

There is very little in the way of real innovation in software development at the product, services, and delivery level. Chances are, if you are a services company, you aren’t interested in building a fully-featured object-relational mapping solution within your company, but you are interested in using one, as it’s a staple in your own developers’ mission to build your next data-driven solution. So you’ll likely perform some due diligence and in the end, buy something off the shelf or use an existing open source project to get the job done. You aren’t making any progress here in terms of technical ability, you’re making an investment in someone else’s effort, using it as is, and hoping your team can bridge any gaps there might be in implementation.

Identify the open source projects that are important to your organization

Your developers can help this process immensely because they already know, and will tell you, “what hurts” in their current development process. If you can match that pain to projects that stand a good chance of removing that pain, then you’re on the right track.

You likely can’t afford the services of someone like Ayende on a regular basis, but you certainly need his talent and vision, if you’re not already making use of it, whether on purpose or by accident. If you’re willing to admit that what makes your brand successful is not the constant, painful reinvention of a hundred wheels, but in the quality, personality, and depth of the services you provide for your clients, then you can see the value that a vibrant, active, and well-funded open source effort is going to have on the details of realizing your vision.

The big idea

It’s actually a small idea. Companies will win the best talent in the world if they “hire” that talent as a collective. Imagine providing one developer’s salary worth of open source investments in projects that will directly benefit your teams so that they can do their jobs better, faster, and in big way. If only a few companies followed this lead, then the most promising efforts in data persistence, web services, search, and anything else important to your company, could come to light much faster, as the developers working on them would be able to dedicate their days to solving and growing those spaces in earnest.

It is cheaper in the long run to fund interesting projects that deliver bottom-line productivity to your team, whether that’s today or in the near future, than it is to swell your ranks with more developers to run up against the same challenges, project after project, day after day.

The debate

Open source was never truly free, as many companies cite support as the primary reason for hesitancy to adopt an open source effort despite what that software might do for them. So, rather than go open source, a company will buy a product where there is some commitment to support it (and if you’ve gone this route before, that support is never guaranteed to be of the expected quality). Yet investing in open source breathes life into a group of developers who want nothing more than to create that software for you; incidentally, Ayende is raising funds to build LINQ to NHibernate.

The only differences between where you place your investment in software is that funding open source means empowering the creation of the software you actually need, buying software is the act of getting close, and then hoping you can make enough noise to get your real needs addressed, and hiring developers is hoping you’ve rounded up enough intellectual capital to solve the problem in-house while still meeting deadlines. If a retail software product closes shop, you’re left with a frozen project; if an open source project loses steam, you can fork it, or bring it in-house.

And no, funding open source does not mean funding your competitors. You already know you do not differentiate yourself in the marketplace based on how well you persist business objects (and if you do, likely you’re not investing in that particular strain of open source). The point is to “outsource” the technical tasks that are not the intellectual property of your delivery to the best developers in the world (or at least the most passionate, if you’re splitting hairs) at those tasks, where the number of companies that take a similar approach drives the cost of that “outsourcing” down.

Getting it done

Web sites like fundable.org make these transactions transparent and goal-oriented; a project only gets funded if there is enough demand, and you may even be able to direct your funds to the specific features and enhancements you need most in your organization. Naturally, if enough companies decided to take this route, we’d end up with a custom web site designed to bring open source and its benefactors together in one place.

Just imagine if even one developer salary per company was invested in open source technology. Certainly that salary would contribute more to your company’s ability to produce great work across your whole organization than one more hand on deck.

Kick It on DotNetKicks.com
blog comments powered by Disqus