If this is the first you’ve heard of Karma, I recommend that you get the appropriate context from these two short posts first: To Help Create a More Informed, Accountable, and Honest World & From Concept to Karma.
I’d also like to explain why this post has been censored in parts. My brother Clyde and I wrote and posted an uncensored version of it on Tumblr last week. A few days later Tumblr removed the images, citing copyright infringement. We contested the accusation immediately, but a couple days later they pulled the whole post down. We moved our blog to Medium, but without notice or notification they deleted it too.
I don’t blame these companies, they’re acting in their best interests within the legal system. But as someone who believed in the internet’s protections of free speech and information, this has come as something of a surprise.
What follows is an edited and censored version of original post, I hope it contains something of value.
He Who Shall Not Be Named
My name is Dayne Rathbone, I’m a comedian. My brother, Clyde, is a recently retired rugby player turned writer. Five months ago, over dinner, we stumbled onto an idea that could change the world. The following morning we wrote down our mission statement, pooled Clyde’s savings with my debt, and started a tech company.
Learning about people is difficult. The internet connects us with almost every other human on the planet, but beyond our circles of friends, family, and colleagues it’s hard to know who to trust. Our startup is called Karma, and our aim is to make learning and sharing information about people, easy. Our mission is to create a more informed, accountable, and honest world.
About two months ago we hired a software engineer named █████. I imagine it’s not often that a startup encounters the very problem it aims to solve by the person employed to help solve it, but that is precisely the situation that Clyde and I found ourselves in.
Had we known earlier what we now know about █████, we could have saved ourselves thousands of dollars and months of wasted time. I’m writing this blog to give an account of our experience, highlight the errors we made, and to caution others from making similar mistakes.
Wherefore Art██ Thou
A company is simply a collection of people, so its fate is largely determined by the character and competency of those individuals. But entrepreneurs tend to agree that finding and hiring talented, good humans is incredibly difficult.
Clyde and I experienced this problem too. I have a background in programming, but I don’t have the skills or aptitude to build Karma on my own. We needed to find a talented software engineer who shared our values and our passion for this project.
Our preference was to work with someone local, but Clyde and I live in Canberra, the “bush capital” of Australia, so pickings from this tiny talent pool are slim. I spoke to everyone I knew in tech, posted ads on Freelancer, oDesk, and Elance, and conducted a bunch of interviews. Eventually we found a Romanian engineer who had the skills and attributes we needed, Mihai Huluta.
Mihai, and I worked with our tech mentor Manish to determine what technologies we should use to build Karma. We settled on two languages, Golang and Cassandra. This is a risky choice because they’re both cutting-edge, so finding other engineers with experience with them could be difficult. However, Manish and Mihai are both strong advocates of Golang, and Mihai suggests that Cassandra will scale well for the billions of users that I assure him we’re soon to have.
Lesson #1: Premature optimisation is at best a big risk, and at worst a disaster.
About two weeks later Mihai sends me a message on Skype:
He’d received an offer from another company for 80% more money than we’re paying him. We can’t afford to match it, and Mihai takes their offer. He apologises profusely and refunds the money we paid him. I’m disappointed, but since we’d employed him as a contractor I accept that he’s not being unfair. We remain friends, and Mihai offers to help out with Karma whenever he can.
It took us 2 months to find Mihai, and I’m disheartened by the thought of another long search. In an attempt not to lose too much momentum we spent $450 for an ad on Stack Overflow.
A few days later, █████’s resumé arrives in my inbox.
The application included a video of █████ giving a lecture at a programming conference in Moscow, specifically about integrating Golang with Cassandra. █████ is Russian but he was based in Vietnam at the time. We interviewed him on Skype, and he told us that he shared our passion for creating more honest and transparent societies. I asked Mihai to review his code:
I was so excited that I immediately offered █████ a place on our team, which he happily accepted.
Lesson #2: Always talk to at least a couple references before making a hire.
To Russia with Love
The first week we worked together was great. █████ and I chat every morning about the previous day’s progress, and what we’ll get done that day. I haven’t programmed in 5 years, and have no experience with web or database programming, so it’s difficult for me to evaluate his code. However, █████ seems passionate and motivated, so I trust what he tells me.
Lesson #3: Proportion trust to evidence, rather than intuition and conversation, obviously.
Monday morning of the second week begins with a surprising message from █████.
I follow up with some questions about the move, but █████ logs off without responding. The following morning he misses our scheduled Skype chat, so I send him an email.
I send a few other messages and emails, but I don’t hear back from █████ for the next two days. The obvious explanation is that he’s on a plane to Russia, Clyde and I conclude. It’s strange that he didn’t tell us any of the details, but at least he’ll soon be settled and back at work.
On Thursday afternoon (six days since we last worked together) █████ finally sends me a message on Skype.
The pirate skull should have been a warning sign.
We chat on Skype later and █████ tells me that he’s had bad food poisoning. I find the story suspicious because he couldn’t explain why he hadn’t mentioned it earlier in the week. However, he does seem embarrassed and keen to get back to work.
Clyde and I suspect that he’s experienced a personal issue that he’s not comfortable talking about. We tell him that we want to keep working with him, but need to improve our communication. █████ apologises again and tells us that he agrees… but on Friday and Saturday he goes missing again.
I’m confused and frustrated. I send █████ an email on Sunday, and Clyde and I decide that his response will determine whether or not we should continue trying to work with him.
There’s a sucker born every day
The Amazing █████ and the Illusion of Progress
The following week █████ finally arrives in Russia, and we hire Monish Parajuli (not to be confused with our tech mentor Manish) as our front-end engineer. Monish jumps right in and starts producing results at an astounding pace.
█████ sends me daily email updates, and progress seems to have resumed. Collaborating together with our designer, Lily, and our mentors Ken, Manish and Mihai, for a while it felt like we were one big happy, productive team.
The following weeks were hectic. Lily was working weekends for free to finish the design work, Monish continued making amazing progress, and Clyde and I were flat out with grant and incubator applications.
█████ seemed to be working hard too, though I began to notice some concerning behaviours. He’d subtly avoid collaboration, if meetings went for more than 15 minutes he’d say we were wasting time, and it was difficult to get clear answers from him about his work.
I attempt to review █████’s code myself, but it’s beyond my ability. I’d ask █████ to help explain parts to me, but the language barrier made that a laborious process. I decided to ask Manish to conduct a review, but he was in India for a friend’s wedding so I put it off until later. With a dozen competing tasks on my plate, “later” soon turned into weeks later.
Lesson #4: Pay close attention to the company’s immediate risks. █████ was by far our largest expense, and in hindsight it was stupid of me not to know exactly what he was up to.
█████’s Big Break (from work)
I’d given Mihai access to our code repository some time ago. Around the end of March he sends me a message saying that he’d taken a quick look at it and noticed that █████ hasn’t committed (uploaded) any code for about a week.
I ask █████ about it.
I relay his message to Mihai and Manish, and they both tell me that it’s plausible but suspicious (there are simple ways to commit buggy code without causing problems).
Lesson #5: When managing a software development project, it helps to understand the tools your team is using.
Manish asks if the time-tracking software that I’m using to monitor █████’s work takes screenshots. I can almost hear the facepalm from Sydney when I tell him that I’m not using any time-tracking software.
I ask Manish if he’ll conduct a code review. He’s flat out busy, but says he’ll get to it within the next couple days.
Lesson #6: Use time tracking software and conduct regular code reviews. This is especially important for remote employees, and double especially for remote employees that go missing for weeks without notice.
I send an email to █████ and Monish detailing new work processes, including time tracking and daily commits of code. I also tell them that Manish will be conducting a code review, and ask them to upload any extra code they’ve been working on.
That night (Russian morning), █████ sends me a message:
He signs out without responding to my question.
A sense of vague unease slowly turns into suspicion. Clyde agrees that it’s a pretty big coincidence for him to be sick on the morning that he’s asked to upload all his code and track his time.
I find █████ active on Skype a few hours later and send him a message asking if we can chat. He tells me that it’ll have to be quick and via text because he’s about to call his mother. I ask him to please commit all his code immediately so that I can get Manish to conduct the review. █████ agrees to do so.
I stay up late waiting in vain to see █████’s commit. I’m desperately hoping that it’ll be a substantial chunk of code commensurate with the time that he’s been working. At 3am I reluctantly fall asleep.
The following morning I jump out of bed, turn on my computer, open the repository and find… nothing.
Eight hours later, he commits.
I pour through █████’s code, it takes about 10 minutes. Even with my limited programming experience I can tell it’s unsubstantial.
I send Mihai a message on Skype.
I reluctantly tell Clyde the bad news. He’s been working his ass off to pay █████’s salary out of his own bank account, and obviously not happy to learn that the result might be “almost nothing”.
I feel embarrassed and betrayed, but we decide to withhold judgement until we’ve given █████ the opportunity to explain his side of the story.
Later that night we have a video chat with █████. It’s a baffling conversation. He begins by casually asking “what is problem guys?”, as though he can’t imagine what the fuss is about. We recount Mihai’s unflattering review, but █████ responds as though we’re totally off base.
He calmly explains to us that programming is not like building a house, and that he’s spent significant amount of time “solving problems”. I’m aware of the differences between software and construction, however I don’t know enough about the technologies that █████ is using to confidently discount his arguments.
Clyde asks █████ to estimate how much time he spends on Karma per day, to which he boldly replies “at least 9 hours, plus extra time on weekends”.
After a while █████’s confidence and conviction begins to give me doubts. Perhaps Mihai had missed some of his code, maybe he’d underestimated the complexity? Do the technologies and languages we’re using really require that much extra time and engineering upfront?
We end the call more confused than ever. If █████ is telling the truth we owe him an apology, but if he’s lying, he stolen $10,000 from us, and wasted almost 2 months of our time. Clyde is extremely skeptical of his excuses, but we agree to wait for Manish’s review to give us more clarity. Manish worked for 6 years as a senior engineer at Google, he’s a friend, and we trust him to be honest and fair.
About an hour later █████ sends me a message suggesting that he works to milestones instead of using the time-tracking system I’d requested two days before (and which he was still not using).
Clyde sees the correspondence and loses his shit.
An hour later Manish’s code review arrives.
The email is a devastating blow, obviously, but it’s also an unexpected relief — it’s been incredibly stressful trying to make decisions in a state of confusion and uncertainty.
Clyde and I puzzle over why █████ hasn’t been working. What had he been doing for the last 7 weeks if not working on Karma? Was he lazy, working other jobs, or did he have other commitments or personal issues that he wasn’t telling us about?
We also consider the extent of the damage to Karma, and what to do about it. We send █████ an email terminating our contract, and requesting a full refund. We realise we’re unlikely to get all our money back, but I feel confident that in the face of the overwhelming evidence █████ will refund some of it.
Later that night █████ sends a reply that floors me.
The Art██ of War
Clyde and I are incredulous. We’re offended, bewildered, and angry. I think I would’ve been less insulted if █████ had sent me a photo of himself, in the nude, on a bed of our cash.
The irony of the situation strikes us. Karma, the very thing we’d employed █████ to help us build, is about making people accountable for their behaviours. If it existed we’d use it right now to write about our experience with █████.
But since it doesn’t, Clyde and I consider how to respond. It’s clear we’re not going to get our money back, but the least we can do is warn others against being harmed by █████, and compel him to act more honestly in future. We begin writing this blog.
Over the next couple days Clyde and I have two fascinating Skype calls. The first is with an engineer who worked with █████ just a couple months ago in Vietnam, and had written him a recommendation on LinkedIn. A few seconds into the call he says “I’ll tell you a story about █████…”.
It’s a story Clyde and I are all too familiar with — █████ started work, was brilliantly productive for a while, and then “hid away doing nothing”. The guy was embarrassed when we asked why he’d given █████ a recommendation. He said that he’d written it soon after █████ started work in the company, and that he intended to remove it. I was kicking myself for not having this conversation 2 months ago.
Lesson #7: Always always always talk to references!
The following day Clyde and I had our last chat with █████. We wanted to inform him that we would be publishing our experience, and to give him the opportunity to decide how the story ends. I was genuinely curious to find out what his reasons were for not doing any work. Perhaps he’d reveal that he’s been working 3 full time jobs to pay for his sick grandmother’s medical bills? Maybe he’d been suffering from depression? Or was he a robot sent from the future to destroy Karma?
Strangely, it ends with █████ threatening that publishing this story would be illegal, and calling Clyde and I “little girls”.
What have Clyde and I learnt from all this? Well, for one thing being first time founders of a startup is a very steep learning curve, and we’ve certainly learnt some practical lessons about hiring people and managing projects.
While I’ve made a lot stupid mistakes, one unintended benefit of being an incompetent manager was that I gave █████ enough rope to hang himself. If I had supervised him closely, used time tracking, and required daily commits, perhaps we’d still be working with him. Maybe we’d have given him equity!!
But more than anything this experience has reinforced our belief that there is a real need for better information about people, and for more transparency and accountability online. The tragedy here is that if Karma existed █████ wouldn’t have behaved the way he has. If our treatment of others can become public knowledge, then we’re likely to act with much more honesty and compassion.
And what does this all mean for Mr █████████? █████’s life is unlikely to become immediately better because of this post, but Clyde and I are convinced that it’ll be beneficial to him in the long term. Honest, truthful criticism can be a hard pill to swallow, but it is medicine.
We should be mindful not to vilify █████. He’s certainly made himself an easy target, but let’s not forget that he’s just an imperfect human monkey like the rest of us.
People can change. My hope is that this article will encourage █████ to consider the impact that his decision and actions have had on Clyde and me, and motivate him to be a more compassionate and honest man. █████ and his wife plan to buy an apartment in the beautiful city of Kazan in the new year, and start a family. We wish them happiness.
Though I've tried my best to be honest and objective in this account, there are always two sides to every story. █████ is invited to provide us with his version of events. If he does, we'll post his unedited words below.
As for you, dear reader, I hope you found this an insightful and entertaining read. Don’t worry about Karma, this experience has only strengthened our resolve. Monish has quit his lucrative job to join the team full time, and Manish has kindly taken over our back-end development.
A company is just a collection of people, and right now I couldn't be more satisfied with the humans that comprise this one.