I’ve hired over 100 developers and architects throughout the years. I’ve worked at around 20 companies, some very briefly, as both an employee and consultant. I like fast development teams that ride the fine line between excellence and chaos. But I’ve recently come to understand that a lot of my attitudes around being a developer in the Twin Cities are vastly different than those of our West Coast brethren. This post is full of vast generalizations so your particular situation may not apply, bear with.
Twin Cities Career Path
As a software developer in the Twin Cities, the general path is to get your foot in the door anywhere that will hire you. Small companies, large companies, whoever will pay you to learn enterprise scale, team oriented development. Honestly, your first 5 years as a developer probably cost the company you work for more money to have you there than your worth in business value. Even so, you’ll add the most value at a small Agile shop where you get to do everything from development to deployment to maintaining the Cloud infrastructure. Your learning experience at these places will set you up for your next 10 years of work.
Anywhere after your 5 year mark you get the choice to become a career developer. Around here is where all the people that can’t really cut it become PMs or BAs or some other manager. This is a fine choice as the life of development can be tough. But the choice for developers is to continue to work as a cog in the corporate machine or to become an independent or sponsored (employee at a body shop) consultant.
When you go the employee route you get perceived stability in exchange for little control of your own destiny and work. Due to the nature of financial funding of development projects, employees are often relegated to maintaining existing systems or as the token employee or two on the new development projects staffed by contractors. You’re only on these projects because they want someone to maintain the system after all the consultants leave.
Why is this the case?
Budgets at corporations split development into two buckets, capital and expense. Projects that can be capitalized allow the company to depreciate the cost of the development which saves them money on taxes. Projects that are expense go right to the bottom line of the budget and are a drain on that division’s profitability. From a bean counter’s perspective, adding flexible staff to write new development projects makes the most sense as the cost of consultants is higher than the cost of full time staff. That higher cost then gets depreciated and the ongoing maintenance expense goes to cheaper full time or offshore resources.
Why does this limits the career path in Minneapolis?
What this means to you as a developer is that, since your value is lower to the company as a pure expense, the amount company’s are willing to pay you is limited. Thus the salary of a full time developer in the Twin Cities is capped not far north of $100,000.
As a consultant, you can make significantly more with a similar amount of experience. The rates vary greatly depending on your skill set and experience level but rates to the consultant between $80 and $120 per hour are fairly common. Also, when a company pays this much for development resources, you are more likely to land a new green field project as the project is capitalized (and can be depreciated).
Given the general climate of Twin Cities development, the more aggressive and generally higher quality developers go into consulting once they realize the limitations of working in the Twin Cities. But, while the pay is better the career path is over at this point and one risks being a developer hopping from contract to contract for one’s whole career or until your skillset is no longer valued.
West Coast Difference
Having not lived there, I’m now going on conversations with the west coast engineers that I know. In general, they’ve described the opposite situation as exists in the Twin Cities, where the vast majority of developers stay full time employees and the number of contractors is limited. Also, that the best development talent is always scooped up by the numerous tech companies in the area at high salary plus stock options. Plus, the culture of the startup breaking out is always there and quite tangible. The latest story being Instagram. The Instagram writeup in the New York Times drives home the point of what is wrong with the Twin Cities. This excerpt sums it up:
The extraordinary success of Instagram is a tale about the culture of the Bay Area tech scene, driven by a tightly woven web of entrepreneurs and investors who nurture one another’s projects with money, advice and introductions to the right people. By and large, it is a network of young men, many who attended Stanford and had the attention of the world’s biggest venture capitalists before they even left campus.
What is wrong with the culture of the Twin Cities tech scene? These structures just plain do not exist here and that is the main culprit behind the exodus of top talent in the Twin Cities to mercenarial endeavors. With all those smart minds going to short term financial reward, there will be no culture of risk taking, the financial availability won’t appear and the notion that ideas for the next billion dollar startup are ubiquitous will never materialize.
How we can start this in the Twin Cities will be difficult. It involves getting the venture capitalist and angel’s around here to start taking chances on smart college kids and catching them before they hit the Twin Cities career path. Once they are in, our culture will take over and they’ll be consultants before you know it. And the next generation of risk takers will be lost.