Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

I am running a boot-strapped startup with another technical co-founder and we are making revenue (not profitable yet) and things are extremely tight. We are both experienced programmers and my co-founder has experience working at one of the world's largest software companies. We both make a lot of effort to continually learn and follow as many best practices when coding (mostly .Net / webapp / SaaS). Its something we feel is really important to the long term health and growth of the company.

For instance we work hard to:

  • Use BDD / TDD / Unit Test where appropriate
  • Separate application logic from ui logic
  • Follow best practices in stuff like Code Complete
  • Follow a lot of agile / extreme programming guidelines

Obviously as we are a startup so we cut corners occasionally and no-one is perfect so we continue to learn and strive towards writing better code.

The main issue is right now we have an employee who is doing pretty much all of our css/js/html for our front facing websites (we have a graphic designer). He's been with us for about 6 months and we've spoken and tried to teach him good practices but he doesn't seem to care or want to learn.

His background is a IT/scripting where it was all about "getting it done". The positives with him are he is very cheap and does get stuff done although good luck if anyone else ever needs to work on it or we need to make any changes that aren't trivial. The stuff he is working on is all our front facing stuff that we will need to continue to improve / refine for the next few years.

We have a policy that anyone can order technical books and everyone has a Safari Books account. I budgeted a lot of time recently for him to work through an MVC 3 book as we were porting our website over from basic Asp.Net. The book promoted all the best practices and I made him do the tutorials. He hasn't followed pretty much anything from the book with our website port and I've been too busy to enforce / go over stuff.

In the short-term this is good as it frees up the co-founder and I to do a lot more specialized complicated back end coding which would cost a lot per hour ($80+) to contract out but in the long term its really going to come back to bite us.

I guess my question is should we:

  • Keep working on trying to make him improve (code reviews etc) and if he doesn't improve fire him if he can't learn how to code well.
  • Keep working on trying to make him improve (code reviews etc) and if he doesn't improve keep him on but don't spend any more time teaching him.
  • Try to get more money from somewhere to hire someone who produces better code and not bother spending our time trying to teach someone who doesn't / might not be capable of learning.
  • Don't worry about it get things hacked together as soon as possible and try to become profitable / make money and then worry about it when we are making $1,000,000+ rev a year (random number)
  • Any other suggestions?

Cliff Notes

Have a super cheap employee who does all js/css/html but produces working but crappy / unmaintainable code. Seems like he doesn't want to learn. Suck it up as its so cheap and it works? Put lots of time into improving him? Find the money from somewhere to get someone better?

share|improve this question

3 Answers

up vote 2 down vote accepted

Following best practices when coding is great, and strict adherence to them at the start can save you significant time and pain later on down the road. Having said that, whenever I go to implement something, I always try to put things into perspective and ask: is focusing on this the best use of my resources at this point in time?

For the majority of web apps, the front-end (be it HTML, CSS, JS, whatever) is the light-weight side of the application. It is typically much, much easier to change this later on down the road versus the back-end where the application's core logic and functionality is handled.

You said it yourself that money (and likely time) is extremely tight right now. I'd recommend keeping him on given your situation, and keep trying to nudge him in the right direction, but also start making preparations to replace him in the future if he doesn't improve.

Worst case scenario, having to redo the HTML, CSS, and JS later on, shouldn't be too expensive--especially when comparing it to having to replace this guy at a critical time, deal with any fallout, and then not only having to find a new employee, but also bring them up to speed.

share|improve this answer

I do think you are forcing him to the wrong rode because obviously he does not want to learn ASP.NET MVC ( or any other web frameworks) .

Your time, energy and the money is what brings down to the lean startup. Don't forget it is not only the money. If you can pay 10 bucks more and get one without any crappy code, I do believe it is more valuable rather than going down the road with energy, time and the MONEY. But don't expect they are willing to learn. They might say yes, but test the assumption!

One more option is to teach him not to produce crap. Pair program with him to refactor some of the code. Put refactoring into the task list and be strict about it. Make it a rule or whatever suits well. Focus some of your energy on this, not the MVC part IMHO. I believe this is a long road, and I don't suggest in your case.

At the end it depends on how hard the problem you are solving at backend. Stick with bootstrapping rather than asking money.

If you can produce good code with half of the time of his and capable of all the task he does; fire him, do the job by yourself. Earn more money and get a better one.

If not and you have money; get a better one. As you know, good ones cost a lot. Cheap ones produce crap. Life is not fair for a startup.

And excuse my quick brain fart :)

share|improve this answer
i think you misunderstood. he is not a graph designer. we have a graphic designer who does all the graphics so he can just focus on javascript / coding etc. – nextgenneo Aug 28 '11 at 22:33
Ah - if the startup technology is asp.net mvc thn it is "learn or get out". – NetTecture Aug 29 '11 at 4:56
Which makes the decision a bit easier – Bahadir Cambel Aug 29 '11 at 6:51
what do you mean by "learn or get out"? – nextgenneo Aug 29 '11 at 7:51

Only you can answer this question, as I'm sure you realise ;-)

Really, it is a cost-benefit conundrum.

I guess you should give your employee an opportunity to improve and be really honest with them. Tell them straight that you are not happy and impress upon them how critical their performance is.

If the stress of managing this person is too large, let them go, and do the work yourselves in the short term.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.