Is your developer holding you hostage?

Tell me if this sounds like a situation you're familiar with.  Once upon a time you hired a developer to write you a piece of software or maybe create you a website.  Now every time you need to make a change you need to go back to this developer to do it because no one else knows how. 

That's the situation many business owners and founders find themselves in and it sucks.  You're being held hostage by your developer and you can't make a move without them.  

** Important ** Before you read on I feel it's important to say a few things.  Not all developers hold you hostage because they are bad people.  Many times it originates from fear on the developers part.  Fear of being replaced, fear of leaving their comfort zone or even fear of criticism from other developers.  If you think this is the case, you may want to address those issues up front before trying to replace the person.  

 

How can I tell if I'm truly being held hostage? 

YOUR DEVELOPER WON'T DOCUMENT THEIR CODE OR TEACH OTHERS HOW IT WORKS.  Whether you're building a website or a SaaS application you should demand that the developer document their code and explain in detail how the application or site works.  If the developer won't do this find another one.  One of the oldest tricks in the book is to create client dependancy by being the only one who understands what's going on.   

Example from my experience: Recently I came upon a situation where the client had the same developer for over 15 years because he refused to document the 80K+ lines of code in the application.  Each time they hired a new developer and they came close to figuring things out, he'd tell the business owner the person was incompetent and demand they were fired or threaten to leave. I'd say this dev has them firmly over a barrel with little chance for escape. 

YOUR DEVELOPER HAS CHOSEN AN OBSCURE OR OUTDATED LANGUAGE.  Letting a developer single handedly choose the language to build your application with is just plain stupid for a number of reasons.  Languages and frameworks go in and out of vogue all the time.  Because developers are engineers at heart many of them want to be using the latest and greatest technology or sometimes even feel pressured into using them for fear of appearing behind the curve.   This results in situations where languages or frameworks quickly become outdated, lose support and fail to receive updates. Javascript is a great example of this as new frameworks are popping up all the time. Last week it was Angular and Ember, this week it's Meteor and Rendr.  On the opposite end of the spectrum are developers that are holding on to outdated and dying languages like Perl, VB, Ruby or Cobol to name a few.  Before embarking on development do some research and find out how easily you'll be able to find other devs to work on your project.  If you can't find other developers easily or you find references to the language heading out the door, find another dev. 

EXAMPLE FROM MY EXPERIENCE: I once sat in with a client who was talking to a web developer about how they were going to build the company website.  While a simple CMS like Wordpress would have sufficed, the developer instead pushed for an exotic build utilizing some custom frameworks he'd written.  While it did result in a great site, no one in the company can make a change to it for fear of breaking it. When they need an update or change, it costs them $150/hr and they have to wait on average a week to get it done.  

YOUR DEVELOPER MAKES UP REASONS OR EXCUSES FOR WHY CHANGES CAN'T BE MADE AND USES TECHNICAL JARGON TO BAFFLE YOU.  Technical jargon is part of our industry but it shouldn't be used to baffle you with bull$h*t as the saying goes.  A good developer should be able to explain things in layman's terms, if they can't or they won't you might want to consider someone else.   If you're already stuck with a developer and you don't understand their response to a question get it in writing.  Once you receive it in writing, ask another developer to review it, post it on Reddit or Linkedin Groups and other devs will be only to happy to chime in I'm sure.  I also recommend going to Wikipedia and educating yourself, it behooves you as a business owner to understand a little about the technology that powers your business.  Get an education and you'll be a lot more prepared.