Nice guess, but I'm not Indian and Vignesh isn't my real name. I'm also not an MBA. The real question here is, who made you all-knowing? ;)
I'm not a prick, I'm just an ambitious startup marketer trying to learn about how to improve relations with my dev! Instead of being hostile (and racist), try to be understanding and sympathetic. Who knows, maybe your prick CEO will promote you!
Hi everyone! Thanks for all the helpful comments and suggestions!
I've learned a lot by reading through your posts and I applaud alttab for recognizing that communication (rather than hours of operation) might be at the core of the issue.
For the sake of the discussion (and to help advise me on how to proceed), I'd like to clarify a few points.
First, we have an intern who does work 9-5 (by his own choice, I told him he could set his own hours). For the first 3 hours of the day, he comes to my office asking when my tech-partner will be here so he can resolve some issues. The reason the office hours is such an issue is because he's not being there for the intern. Also, we're hiring more interns that start this week who will also need face time with him in order to advance their projects.
Second, and this is the most important point, because it's come up again and again in the comments, he is consistently missing deadlines and has failed to be very productive. His work is of top quality (why I selected him), but his progress is disappointingly slow. And for the record, he sets his own deadlines and repeatedly misses them.
Third, if he actually was spending his time outside the office working, I would have never made this post. He spends some spare time on the weekend working on the project. The rest of the time he stays up late and gets drunk/high with his girlfriend. He is constantly distracted by a partyboy lifestlye. I didn't want to mention that initially in case my identity is exposed, but at this point, its too relevant of a detail to ignore. I can't control what he does in his spare time, but I know he can't do those things in the office.
I would like to note that I have learned a lot from this post and I now recognize the insistance on timing his schedule is doing me a diservice. I am going to try to sit down with him and have a heart-to-heart about the work progress and abandon discussion about the hours. I have been giving him a convenient excuse to be unproductive by coming off as a prick. I need to focus more on producing and less on the particulars of when production occurs. Despite what many posters have said, I like to think of myself as open-minded and have no problem abandoning my prior philosophy in favor of something that works. Startups are always a learning process and I appreciate those who have helped me learn by sharing wise words of advice. Thank you once again posters!
You're fucked. Your co-founder doesn't like you (which is why he's showing up late and not doing his work) and you don't like him (because he drinks and gets high with his girlfriend). You should figure out a way to wind it down and move on as quickly as possible.
Just because he misses his own deadlines doesn't prove that he is slow or a bad developer. Especially in the beginning, a lot of unforeseen problems can occur during development. Very few developers (if any) get the estimates right. Perhaps he also decides to pursue specific problems (ie if you are close to the deadline, you could either decide to release shoddy code, or miss the deadline - would you prefer shoddy code?).
Also, about the intern: the intern wants 9 to 5, your technical co-founder wants 12 to 20, and you are siding with your intern? Priorities? Get another intern who also prefers 12 to 20, or can get stuff done on his own.
This is a good point. If the intern is showing up at 9 AM but the dev partner is showing up at noon, the intern should have tasks he can do for three hours until the tech shows up. Ideally, those should be his hours of 'uninterrupted work' or research. Once the dev shows up, that's your collaboration time, and the intern leaves at 5 with a task list for the next morning.
I don't want to start a long post rehashing what has been already said, but there's something I want to tell about programming schedules : everyone is so bad at them that there are many jokes about it, like these:
Hofstader's law : "it always take longer than you expect, even when taking into account Hofstader's law"
the Cargill's law: "The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time."
And this hilarious Douglas Adams' quote : "I love deadlines, I love the whooshing noise they make as they go by."
Then I'll conclude with this anonymous word of wisdom: "Confidence, n.: The feeling you have before you understand the situation."
You're right to forget about the strict hours, but it does sound like there's some latent problem here. I disagree with the siblings that you're "fucked". Your cofounder says he's interested in the project still, so it's worth figuring out what the real issues are and addressing them by talking with him and cooperatively fixing them. He might not know right away and need some time to figure them out, but it's important to get the discussion started.
First of all, people are terrible at estimating how long something will take. You'd be better off noticing the patterns in his misestimation and adjusting his estimates accordingly in your own head. If it always takes 2x what he says it'll take, then just double whatever estimate he gives you.
Secondly, not being in at the same time as the intern always shouldn't be a big deal. If your intern really needs constant handholding, he's probably not good enough for your project. He should be able to make progress on his own and send an email to the boss if he has a question, or just work on some other task until the guy gets in to ask for help. This is just a normal part of working with other people and everyone has to learn how to do it. We can't all be at the same place all the time, and hell, some teams never see each other.
You might also want to remind your cofounder that drinking creates significant sleep debt, even if you get a full night's sleep, and sleep debt leads to higher distractability and subtly worse problem solving/thinking. It's possible that he's in a cycle of stressing out about work -> drinking -> not being at 100% mentally -> performing poorly -> stressing out more. In that case it'd be important for him to stop drinking and make sure he has enough stress-relieving leisure and breaks, time when he doesn't feel obligated to be thinking about work. Remember that software is a creative field, not a rote field, so the quality of his thoughts are what matters, not the hours spent at his desk.
So anyway, I suggest you treat your partner as a partner and start a discussion to work cooperatively to figure out why he's not being productive, or not appearing productive. It's very important to show him respect and show that you see him as an equal partner, and that you're not just condescendingly bossing him around. After all you want him to want to correct himself, not begrudgingly keep up appearances.
Note: interns who need more than a few minutes of hand-holding each day after being brought up to speed on the project (which is an initial significant cost) are non-starters in a startup that's got one full time long term technical employee.
One of the major objectives of many internships is to learn how to do a job, any job. It doesn't sound like a company of this size can afford interns of this nature.
BTW, who's idea was it to staff up with interns? Are they going to leave in August? December/January?
You'd be better off noticing the patterns in his misestimation and adjusting his estimates accordingly in your own head.
Better yet, encourage him to become a better estimator. The book Software Estimation: Demystifying a Black Art presents several strategies for developing this skill.
For example: before starting a project, classify it as “small”, “medium”, “large”, “x-large”, etc. (If you don’t understand what you’re supposed to be doing well enough to even make an estimate, you have a bigger problem.) After the project is over, record how long it took. After a few months of work you should be able to see what ranges of time are associated with what intuitive size estimates, and then you can translate your intuition into numbers.
Great response. Admitting you were wrong on an issue (hours) is a great step and that puts you amongst the small minority of people who can admit they're wrong.
That being said, there are several things to keep in mind:
* Your co-founder is an introvert.
* As others pointed out, if you want him to manage interns, you have to make it clear to him. Some (e.g., me) would never agree to take on a management role, no matter the money or equity involved, so you have to be prepared for him to say "no".
* As for deadlines, keep in mind that you know how to sell or (presumably) you'd have little to contribute to the company. Make sure you are not selling the engineer on unrealistic deadlines.
I have to think a startup whose plan requires the head technical person to spend any significant amount of time holding interns' hands is going to have problems, anyway, but if said technical person is more interested in partying than actually making stuff, forget it.
> he is consistently missing deadlines and has failed to be very productive. His work is of top quality (why I selected him), but his progress is disappointingly slow
Programmers "misunderestimate" deadlines. There are countless books written about this, and very little to do about it other than recognize it as an inconvenience.
The largest factor is usually "scope creep", where business interests inject additional details as the project progresses, each of which adds time but rarely get adjusted into the estimate. All these time deficits accumulate and interact to snowball delays far beyond expectations of both technical and marketing teams.
Either stoically push deadlines back for every change, or ruthlessly postpone these requests till future releases.
Also keep in mind that if your startup is doing something new, you're often asking for deadlines on "inventing the lightbulb". It will work when it works.
Startup development is usually not "engineering". Building a bridge is a known and quantifiable effort. Inventing a new business engine is often not.
> Second, and this is the most important point, because it's come up again and again in the comments, he is consistently missing deadlines and has failed to be very productive.
So I wrote a pretty harsh post previously before this little bit of -very important- info was added. Not getting things done while not working full hours is WAY different than getting things done on an unusual schedule.
One thing I notice about a lot of "biz" guys is that that have no idea how long some piece of work should take. If you don't know the effort, how can you possible judge if he's being productive or not? Lots of people suck at estimating. It doesn't mean they aren't productive. Maybe his top notch work is taking exactly how long it should? Maybe you should discuss a strategy where delivery is more important then code quality?
As long as you remain clueless about software development, you'll just have to take his word for it.
If you're "clueless about software development", your ONLY choice is to absolutely trust at least one software developer. No half-way about it, and if the OP can't (eventually) do this with his co-founder techie he should get out, and very possibly get out of this line of work. Otherwise at best he and his techies will be miserable.
Try using Skype. Many hackers are most productive when not constrained by schedule or even location. Startups are hard, especially in the early stages with little/no compensation. Communicate with your partner about what is most crucial for the startup to succeed. If both of you are committed to those things, then it's probably just a matter of finding a way to make it work. Your task is to find out if he's truly lazy, or it's just a lack of communication/understanding.
Okay. This definitely helps paint a more clear picture of the situation.
First off, the situation with the interns sounds like you have a few issues. You're trying to turn your developer into a manager, which is fine if he's on board with that, but if you're trying to build an army of interns under his direction, you and he have to come to an understanding that he's going to be acting in both developer and managerial capacities. If he's not on board with that, you're boned. At small scales, the interns, being subordinate, need to conform to the project lead's schedule within reason. Email and IM are wonderful tools and can be used to time-shift conversations, as well.
Second, being underproductive is a very real and very bad problem. There's a glimmer of hope, though. Was he always this bad, or has he deteriorated? If he's deteriorated, it might well be due to a hostile work environment - nothing shuts down introverted creative types like an abundance of criticism and an absence of praise. If he feels that he's the constant butt of complaints without any recognition for progress he's making, he's gonna get very demotivated very quickly. A tech founder in a startup has to love what he does to succeed. If he doesn't, you'd better be paying him damn good money to keep him motivated, or it's a lost cause. There's too much blood, sweat, and tears wrapped up in a startup for it to succeed otherwise.
You seem to be saying the he's very talented, so it's likely not a lack of ability, but a lack of will. Either he's not cut out for a startup, or there are blocks in his way preventing him from executing. Recognize that developers are very bad at estimates and deadlines until they've had years of experience in failing at them. Work with him to figure out why he's missing deadlines (feature creep, unexpected maintenance, infrastructure problems, people problems, misestimation, whatever) and figure out how to help fix those problems, rather than just hand-waving him away as "missing deadlines". Give him the leeway to say "This will take 12 weeks" if it's going to take 12 weeks. Don't try to pressure him into making it happen in 4. What'll happen is that in 4 weeks, you'll have a shoddy, half-done milestone that is going to take twice as much work on the back nine to fix. If he feels like he's being asked to do too much in too little time, that's going to crush his resolve. Estimates should be just that - estimates - and it's critical to not just figure out when a deadline is due, but what the path to getting there is, as well. Have progress indicators to check up on periodically. Adjust the estimate if necessary. Find out what other job-related responsibilities are bleeding off time, and either adjust the estimate to compensate, or offload them to someone else.
You have two paths to take here: Figure out how you can repair your working relationship and restore his passion for the company, or figure out how to get out.
If you can't restore his passion for the company, either due to his being too distracted with a "partyboy lifestyle" or due to that bridge already being burnt, one of you needs to exit, immediately. There could very well be the possibility that his job is hell due to a breakdown in communications and the friction that results from it, and he's medicating that away with drugs and alcohol. That's your one chance to save this - if that's the case, then fix the problems he's medicating away, and you can get it back on track. If not, it's time to start executing an exit.
> You seem to be saying the he's very talented, so it's likely not a lack of ability, but a lack of will.
False dichotomy ... If a developer does quality work as claimed above, its unlikely he's missing deadlines from lack of will, wasting time, or laziness.
Thankfully the post continues by offering more likely reasons:
> there are blocks in his way preventing him from executing ... feature creep, unexpected maintenance, infrastructure problems, people problems... figure out how to help fix those problems, rather than just hand-waving as "missing deadlines".
Hi. Sorry I thought this was a troll post initially; it just had that smell to it, but your later posts cleared that up.
Is it possible to ask interns to work different hours? For example, some interns might love the chance to work an 11-7 or 12-8 job instead of a 9-5 one. And that way, you'd better align your cofounder's schedule with theirs.
"he sets his own deadlines and repeatedly misses them"
Are you putting him under any sort of pressure when he sets those deadlines?
If you are, is that due to real and concrete customer requirements (e.g. they say something like "If you can deliver this to us by July 17th we can complete our contract", what I call "pesky customers")?