I am a co-founder and CEO of Unbabel. I feel that I should respond to these allegations.
1 - The contract we had with Andreas was full time employee contract. The first three months were "at will" which means that either one was free to terminate the relation at any time. We have a signed contract to prove it and I am happy to share a sample of the contract to anyone that wants. When we fired him, we not only paid him what we owed, but we paid him an extra 15 days of work in addition to $1000 dollars to offset any unexpected costs. Which we didn't have to. We also have receipts of all the transactions, If need be.
2 - We fired him because he was a terrible fit to Unbabel. It became clear very quickly that it would not work. In the end the responsibility of hiring him was ours, and we are really sorry it did not make the right choice. This made it clear that we have room for improvement in our hiring processes.
3 - He did really well on interviews and we went to considerable lengths to bring him to Portugal. We paid his airplane ticket, we lent him money for rent, we helped him search for a house, amongst other things. I am personally really proud that Unbabel is an example of how we can capitalize on excellent talent in Europe and Andreas was the first person from Sweden. We have people from 5 nationalities at Unbabel and we pride ourselves in having a great environment to work with.
4 – We believe that the culture of the company is extremely important and we devote a lot of energy to it. Everyone in Unbabel is expected to participate actively in the company Meaning that they are part of the planning, and encouraged to be autonomous in creating the best products possible. We truly enjoy working with each other and spending time together. For example, every week we go surfing on Wednesday morning in the beautiful beaches of Lisbon. It is not mandatory, but every one has loved it so far. It is an amazing way make sure that every week we hang out together outside the company.
We try really hard to make sure that working at Unbabel is an amazing experience. We pay well above average for Portugal, which means that you get a really good life here. We offer health insurance, surf lessons, catered lunches once a week and beers on Friday afternoon. We give you autonomy and agency, we are transparent about the company every employee has a chance to make a difference. Come and see for yourself what it is like to work at the best Translation Startup in the world. A position just opened up :)
I'm always surprised when a company is so quick to publicly comment on a sensitive personnel matter, but that said, it's interesting to note what this response doesn't contain.
The OP basically called into question the quality and stability of Unbabel's platform ("The code was a tangled mess of mindless duplication, half-implemented features and misleading comments. Of the few automated tests that existed, most didn't even run anymore") and the competence of the people behind it ("The team lead was the only one who knew anything about the system and he was either busy trying to patch things up by himself or working with the other person they had hired for my position before I got there"). The subtle implication of the post: the OP may have been terminated because he recognized these things.
Are the OP's claims true? Who knows, but the response here doesn't directly address them at all. Instead, there's ambiguous language like "terrible fit", corporate-speak like "we believe that the culture of the company is extremely important" and a poorly-timed "A position just opened up :)"
Frankly, if I was the founder of a tech company and I made the decision to respond publicly to a situation like this, the claims about my platform and the competence of my team would be my focus and I'd address them head on. After all, such claims could become very harmful when encountered by prospective employees, customers and partners. Given that, it's curious they were completely ignored.
> The code was a tangled mess of mindless duplication, half-implemented features and misleading comments.
In my experience, a lot of code is like this, and the majority of startup code is like this. I have found there's almost zero correlation between startup success and good coding practices. I have no data, but I suspect there's a negative correlation.
Before you protest, I know that your code is a shining example of clarity. But if you consider all the incentives for a startup, there's much more value in being experimental, and highly responsive to customer demands, than there is in charting a stable, long term course. People celebrate pivots like it's cool, but this is what it does to the code.
Just a forewarning for anyone who is going from a more corporate world into startupland.
I can't comment about any specific code bases for obvious reasons but I'm more often than not positively surprised by the quality of the code at the start-ups that I look at. Of course there are corners being cut, but usually that's for very good reasons marked with copious 'todo's. Start-ups definitely aren't equal when it comes to this and in my experience there is a definite correlation between those that ride that fine line between being in a hurry and making a good product and those that create a mess and those that try to be perfect out of the gate.
The idea here is that you do the best you can within the constraints, not that you use your start-uppishness as an excuse to be sloppy or to produce crap.
In fact, the majority of the real messes I see are not in start-ups but in more established companies where the original developers have long since moved on. Large codebases where very few people (if any!) have an idea of what is really going on.
I have been at startups where it's a total mess that will never be cleaned, and I've been at startups where the code is always tip-top because everyone knows you get big B2B points for implementing their dream feature right after a regular "how are you liking our service" followup.
I haven't worked at mega-corps, but I've seen bits of code that is so much worse than imaginable that I expect there are places that scrape pretty far below the bottom of the barrel, but that might just be a volume issue (the worst 1% of code will be mostly mega-corp code because most of _all_ code is in mega-corps).
I don't know if it's worth going on the defensive about that kind of stuff.
If the founder made an in-depth reply explaining that "No, we don't suck, we use language X, framework Y and methodology Z", then that just opens up a pointless side discussion about whether the X+Y+Z stack sucks, and how much exactly.
All that will remain in search engines, so in a few years' time the company will appear in public searches as a company that uses X+Y+Z even if they have moved on.
You're missing the point: if you're going to respond to a matter like this publicly, you had better respond substantively. Anything less can have the effect of making the claims against you seem more credible.
Note that this wasn't a debate about languages, frameworks or methodologies. The OP flat out referred to the company's code as "tangled mess of mindless duplication, half-implemented features and misleading comments" and claimed that only one employee "knew anything about the system." The response here mentions surfing on Wednesday but doesn't dispute any of the OP's claims about the state of the company's technology and technology organization. That looks horrible.
I disagree, there really is little beyond a "he said, she said" type argument to be had here and that really doesn't benefit them (or indeed Andreas). Much of that is subjective and they're not going to publish code to prove it one way or the other so there will never really be agreement. Best case is they reply and he refutes it which puts them pretty much back where they are now.
As a company you want to shut this sort of discussion down as quickly as you can. A detailed rebuttal may appear to do that but doesn't - the more you say, the more you raise questions, invite rebuttals and encourage further debate.
Maybe this doesn't answer some claims and they suffer some very slight damage because of that, but far worse damage is often (possibly even usually) done by detailed replies which keep the story going and fuel the fire.
The claims are most certainly not true. Regarding the code and team we have an mazing team and our code is pretty good, especially since going through YCombinator we have grown at a tremendous rate which sometimes forces us to cut some corners. Of course our code could be better, and it was precisely for this that we hired someone that we thought could be a valuable contributor to the code. Unfortunately we were wrong, as it is ow publicly obvious, but fortunately the rest of the team is truly excellent.
an amazing team of surfers? It's funny, if you go to their facebook page, on a lot of posts, they'r either praising their "engineering team" or making up excuses on downtime and bugs. And from the looks of the team it seems besides the elder ones (who must be the founders of course), the rest are recent grads whom they can sell their surf's up crap to then make work on weekends, and extra hours
"the OP may have been terminated because he recognized these things"
He wouldn't be the first one.
I had a bunch of jobs, where I had to work with crappy code and have seen many people getting "terminated" because they prefered to complain about it.
I complained too, but I worked with what was given, when it didn't change after a few years (most of these "the whole system is fucked up changes don't come easy) I just quit.
> The subtle implication of the post: the OP may have been terminated because he recognized these things.
These things are self evident to any programmer who isn't in their first year of work. I can't see anyone being fired over recognizing what their experience allows, especially since you hired them for that experience.
the claims about my platform and the competence of my team would be my focus and I'd address them head on
Why? A former employee criticizes the company they were fired from -- that carries essentially zero weight to pretty much anyone, and you seem to be among very, very few who took it at face value. Heck, even if they weren't fired and didn't have the axe to grind, people complain about "spaghetti" code with such vigor and frequency in this industry that it has become essentially meaningless: It's the standard fall-back when someone is in over their head -- attack others, malign their code and technology, and try to pull up yourself by tearing down others.
Further, how in the world can you complain about them commenting on a "personal" matter, when they are responding to a guy who posted a highly-critical extortion rant. I call it an extortion rant because he even claims that if he warned them that they need to pay up or face his public flailing.
It's hard to find fault with either side for the core problem of not fitting in. However, everything else could have been handled better. This is a learning experience.
First, hiring people based on interviews is known to be a bad procedure. To determine if a person fits a company, you have to let them do some actual work first. Working remote for a period of time is good, but if you're looking for an on-site employee: fly them out, pay them and cover all their expenses for a week, and have them work at least three days. Both sides could have figured out so much about each other if you had only done this.
Then, if someone still turns out to be a bad fit long-term, firing that person is a good decision. Both as a CEO and as the company, you have to take the high road, and make sure you're way more generous than you need to be (especially if that employee moved to another country for you). Clearly you went a step in the right direction there as you stated, but it's still not enough. You should have sat down with that guy and figured out together what it would take to get him back home as smoothly as possible.
Finally, your communication style. It's hard to come out on top when you're faced with this kind of criticism. But keep in mind that you allowed this situation to develop in the first place. While it's certainly your responsibility to raise buzz and sound enthusiastic on behalf of your own company, don't fall into the trap of congratulating yourself too much. We're here because something went wrong, not because everything is beyond awesome over there. Acknowledge that. Implement measures to avoid this in the future. And "a position just opened up :)" is certainly not the right tone at the moment.
Hard to believe the skill acusations when there's such a glass house. In terms of rookie mistakes they sure make a lot
http://unbabel.co/admin (django admin exposed).
http://dev.unbabel.com/ (django dev toolbar with delicate details on settings and so on).
So Andreas,don't bother,even these guys are well funded,in terms of python and django skills i wouldn't enjoy work here
That's just how employment is handled here in Portugal. Something along the lines of: "Don't want to enjoy our amazing company culture and below average compensation? There are dozens who would, for even less pay".
It could be a culture/language barrier - I am not a native speaker (and obviously not from USA) and it didn't strike me as callous (or even inappropriate) at all. Especially given the in-depth explanation above the remark.
Interesting! I will need to be more careful in my own writing... :)
Firing someone is 10 times harder than hiring them. I've seen startups almost die due to putting off firing people until the very last minute. If it's not a fit, it's inevitable and will happen eventually, but in 6 months when he is eventually fired anyways, irreparable damage will have been made to the company, both in terms of culture, and it terms of wasted time, energy, and money.
All that to say, props on making the difficult decision early.
"Everyone in Unbabel is expected to participate actively in the company Meaning that they are part of the planning, and encouraged to be autonomous in creating the best products possible. We truly enjoy working with each other and spending time together. For example, every week we go surfing on Wednesday morning in the beautiful beaches of Lisbon. It is not mandatory, but every one has loved it so far. It is an amazing way make sure that every week we hang out together outside the company."
Maybe I'm reading too much into your comment, but are you saying that enjoying surfing is a necessary part of your company's “culture fit”?
If someone is physically or otherwise disabled or unable to participate, does that preclude them from being a part of your company?
Personally the "we go surfing every Wednesday" would be a red flag.
I'm not at your company to have fun. Beyond a paycheck, job satisfaction and personal growth would be nice, but surfing, nerf guns, pinball etc are things I'd prefer to do in my spare time with friends and family, thanks.
Sure, the annual company retreat or Christmas party are expected, but there's nothing worse than a bunch of co-workers trying to have "fun" because it's an unspoken requirement of the company culture.
And just for the record, everyone hasn't loved it so far. The last thing I did before being fired was opting out of surfing because I didn't enjoy it at all. I got the feeling that most of the employees would rather have done something else, including working.
De facto and de jure are two different things. Mandatory is "De jure", when you say (for example), ”Surfing with the team every weekend is part of your contract. Otherwise, you will be let go.”
What I'm asking about is ”De facto”. If practically, you are letting go of people who can't or won't surf with you on the weekends because of ”culture fit issues”, surfing becomes a de facto (but not de jure) requirement of the job. And the reason I'm asking about it is that it has been mentioned as one of the four points related to letting this employee go. Otherwise, why is it even in the response? Notice that it is not part of the advertisement (which comes later, outside the points).
Not to mention that even if it's OK for people to not go surfing, there are still other issues that can arise from it. Like, say the surfing trips are because the CEO loves surfing, and part of the team goes on them and the other part doesn't. Now the CEO has to be extra vigilant about not giving preferential treatment to those that do go, because of having good feelings about them as his "surfing buddies."
Not sure why other commenters are jumping on the bandwagon to criticize your response. Frankly, OP made a tasteless move by posting a public rant/complaint about being fired. There are no substantive allegations of mistreatment or inappropriate behavior by Unbabel (other than vague assertions of "abuse"). In the light of that, I'm sure a lot of folks at Unbabel are annoyed. I appreciate that you avoided personal attacks on the former employee (because I'm sure you're angry at this distraction).
It sounds like exactly what you said: OP was a bad fit for this company. Rather than sour grapes and trying to publicly shame Unbabel (for what? Recognizing a bad fit and acting on it?), OP should take this as a lesson learned.
EDIT: In light of gamblor956 (https://news.ycombinator.com/item?id=8259687)'s response, I should clarify that what I found tasteless and possibly illegal was the posting of this personal information, not the arrangement itself (about which I think it is wisest to offer no opinion).
))
I agree with bkeroack (https://news.ycombinator.com/item?id=8259618) that Andreas's posting this rant publically may not have been desireable (although the poster says that your company was given some warning about the content appearing), but I think that does not give you the ethical right to compound the wrong by complaining about the poster ("he was a terrible fit"), or the ethical or legal right to post sensitive and private information about an employee.
Without commenting on the merits of the situation (I have no idea who is in the right, and think that this kind of unpleasantness should probably not have made the front page), I think that it would have sufficed to say that his allegations are demonstrably untrue, but that you cannot provide documentation due to privacy concerns, without giving personal information about his performance and salary details.
To follow up on your comment about the illegality of it...
The following source notes that while at will termination is no longer completely illegal in Portugal, probation periods must generally be at least 90 days in length for indefinite-term contracts:
Regardless of what is true and what isn't, it must be tough to have your company featured on HN like this. Thanks for handling it so classy in your post.
I believe the intentions were good on both sides, but again, good intentions were not enough.
There needs to be great care addressing company culture. It may be clear what those values are when the team is small and made from people with similar backgrounds and life experiences. But how do you expect those values to be transmitted to others? If you don't clearly state your mission, vision and values, then you are going to have a hard time justifying any decisions based on company culture.
Is "at will" a very American concept even valid in EU/Portuguese employment law? - I certainly haven't heard that Portugal has American style employment laws
I was in the military were they have a thing called mandatory fun time. basically, you are required to go to a bbq or some other "fun" thing. I hated it. I'm one of those people who draw a hard line between work and the rest of my life. when I'm at work, I'm working crazy hard to get the job done. period. when I'm not at work, I'm doing my own thing. period. I have no desire to mix the two.
> beers on Friday afternoon
again, this is a negative, from my perspective. I would much rather be home relaxing or out drinking with my friends then forced to go out with coworkers. I like my coworkers, and we are friends, but the minute you try to take my Fridays away is the minute I start looking for a new job.
I'm an good employee. I work hard and over deliver compared to what I'm payed. but I will not give up my freedom for my job. no way.
and it doesn't matter of you say it isn't mandatory. if you hold company events, they are mandatory. a rose by any other name it's still a rose.
This point was cited in a recent article I think debated here (or Reddit), "This is why you never end up hiring good developers." You push away a lot of talent when you select for some narrow culture fit, or mandate that they be your friend too.
IMO, the obsession with culture fit and team bonding is really just a way to trick engineers into devoting more of their life, mindshare, and personal freedom to laboring for your startup.
In some countries (the UK is one), you need to be very careful with "cultural fit".
For instance, not hiring someone because they don't want to go for beers on a Friday can accidentally become a proxy for excluding certain religions at which point you can be in all sorts of bother legally.
Red flag. Copy-paste from another comment: "37 old Java professional from Sweden spends all of his savings in two months? You have 5 kids or something?"
I am a co-founder and CEO of Unbabel. I feel that I should respond to these allegations.
1 - The contract we had with Andreas was full time employee contract. The first three months were "at will" which means that either one was free to terminate the relation at any time. We have a signed contract to prove it and I am happy to share a sample of the contract to anyone that wants. When we fired him, we not only paid him what we owed, but we paid him an extra 15 days of work in addition to $1000 dollars to offset any unexpected costs. Which we didn't have to. We also have receipts of all the transactions, If need be.
2 - We fired him because he was a terrible fit to Unbabel. It became clear very quickly that it would not work. In the end the responsibility of hiring him was ours, and we are really sorry it did not make the right choice. This made it clear that we have room for improvement in our hiring processes.
3 - He did really well on interviews and we went to considerable lengths to bring him to Portugal. We paid his airplane ticket, we lent him money for rent, we helped him search for a house, amongst other things. I am personally really proud that Unbabel is an example of how we can capitalize on excellent talent in Europe and Andreas was the first person from Sweden. We have people from 5 nationalities at Unbabel and we pride ourselves in having a great environment to work with.
4 – We believe that the culture of the company is extremely important and we devote a lot of energy to it. Everyone in Unbabel is expected to participate actively in the company Meaning that they are part of the planning, and encouraged to be autonomous in creating the best products possible. We truly enjoy working with each other and spending time together. For example, every week we go surfing on Wednesday morning in the beautiful beaches of Lisbon. It is not mandatory, but every one has loved it so far. It is an amazing way make sure that every week we hang out together outside the company.
We try really hard to make sure that working at Unbabel is an amazing experience. We pay well above average for Portugal, which means that you get a really good life here. We offer health insurance, surf lessons, catered lunches once a week and beers on Friday afternoon. We give you autonomy and agency, we are transparent about the company every employee has a chance to make a difference. Come and see for yourself what it is like to work at the best Translation Startup in the world. A position just opened up :)