Failing the startup game at Unbabel
esoteric-code.blogspot.com
esoteric-code.blogspot.com
In my mind "culture fit" is the responsibility of the founder. If you're recruiting someone, you need to make the call if they fit into your culture. You can't really blame the person you're recruiting for not fitting in. You can (and should) fire them if they're not a fit, but it's still your hiring mistake, and you need to take the responsibility for it.
If a mudslinging contest can somehow be avoided, it'll be great to have a response from the Unbabel founders. There are probably some good lessons for both coders and founders here.
Exactly. If you ask people to do things outside the normal employment environment then you are partly responsible to make them whole if thing do not work out.
And if you can't do that then don't get people to move halfway across the continent for you, especially not without doing more work to see if there is a good fit or not.
On the other hand, if I was hiring developers, I would stick to the contract.
I'm a founder of a startup and I would only move someone across the continents after working with him for a while. For example I would fly him over for a month to work for us to see if there's a fit (without asking him to leave everything yet), covering his expenses, flights and anything other expense he would incur.
I understand if the startup is paying for relocating you but you're still taking a big risk, there's always the chance that you would be let go if you're not a good fit.
How other are mitigating this risk? Is working remotely for a couple of weeks/months with occasional flying viable and moving only after you spent some time with the company viable for others here?
They said I would be able to stick around for a few months until I found another job, which they would be sure I would be able to find very quickly in SV. Now I've been working with them for 3 years.
The details were actually written down, so it wasn't an informal contract, but it's been 3 years.
Also remote trial work should be an option for these kinds of workers. Making your company remote worker compatible will force many best practices from the start at your company.
You should always hire the best candidate which you think will work out but that month allow you to set the right phase, this is a month where you both give the best to make that relationship work - orientation, pairing, documentation, short meetings to discuss potential roadblocks or issues.
All startups usually do this - I just consider it's a good practice to say it out loud that there's a period where we both find out if we want to keep working together.
It's important to remember that the "companies prostrating themselves at your front door offering you bonuses and perks and lavishing dining you" is an American Tech Hub phenomenon. While I doubt UK coders are doing badly, I doubt they are as in-demand as they would be in SF or NYC.
That said, I'm "old" (36), and have family responsibilities. If I were a naive recent grad I might have entertained doing this.
Trying out at a company for a month isn't really that bad when the demand is so intense you can literally line up 3-4 competing offers in under a week if things don't work out. There is sadly no place in Canada where the demand is that high.
If we had more robust hiring practices, and more money, maybe it would be better. But for now hiring out of town while requiring them to move (as opposed to working remotely, which has worked for employees) is horribly risky for all involved.
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 :)
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.
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.
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).
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.
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.
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.
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.
That's incredibly lame.
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.
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.
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.
Most inappropriate HN job posting, ever.
Is it perhaps a culture/language barrier? Do they even realize how callous their little segue is?
Interesting! I will need to be more careful in my own writing... :)
All that to say, props on making the difficult decision early.
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?
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.
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).
In Asia on the other hand, it literally is mandatory to socialize with your employer.
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.
http://www.portugalglobal.pt/EN/Biblioteca/Documents/Portuga...
This is not a complaint. I agree that "terrible" may be a bad word, but not being a correct fit is not wrong.
Not all people are great for all jobs. Even if they have the technical qualities.
A basketball player runs a lot on a game, but that doesn't mean he/she would be a great sprinter, as an example.
Culture fit is needed as much as a technical match
.oO(What's with the code quality though?)
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.
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.
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.
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.
Whether or not Unbabel did something wrong here is a matter of speculation without more details, but there's still a lesson in it for every startup founder - developers are necessary and important to your success so being nice (especially if the relationship isn't going well) is a Good Idea.
If a founder is only being nice to someone because it's a good idea and in their interest, they are an asshole. It's not a lesson you should need to teach anyone.
More generally, it's quite hard to find good <anythings>. People assume that available talent fits some sort of bell curve, with lots of 'average' people out there, but really it's more like an inverse square curve - there's a lot more people at the bottom end than the top. When you find the good ones you're nice to them because it's in everyone's interest.
Why do you have to differentiate being nice to people based on their abilities in any way at all?
Perhaps I'm misunderstanding your point?
Like the discussion of employee talent vs qty graph shape, there exists a similar graph of employer quality vs qty of some shape. And if you know as an employer you're at a very low point of that graph, unable to execute, unable to meet deadlines, unable to pay contracts in full, all you may really have left is nice personal charisma, making it all the more crucial.
You can behave like IBM or Google if you're IBM or Google. Little startup, maybe not.
If all you've got left is the ability to be nice because everything else is lost, then being nice is becomes more important than at Accenture or insert any other large company.
Its similar to the concept of "grace under fire" which used to mean something other than a sitcom or a martial arts TV show.
Being nice to someone isn't the sum of all time, money and energy expended on someone. It's just treating them with respect and dignity when your path crosses with theirs.
Not knowing the details of your contract I can't say for sure, but with the recent changes in employment law in Portugal, I think legally (not ethically) they maybe in the right. I can put you in contact with a lawyer that specialises in this kind of situations, but honestly, for 1.5 months salary, it isn't probably worth it for you (justice system in PT is very very slow, though they do tend to stick with the employee in these situations, even when the law isn't on their side).
If you don't mind me asking, what made you move from Sweden to Portugal to work at this startup? Was it Portugal that attracted you? Knowing the salaries and economic situation of the country, specially compared to Sweden, it confuses me a bit why you would do it, but if it is Portugal as a country that interests you, shoot me an email, I maybe able to help you out.
Best of luck
The thing is, were I come from, if you have a contract for three months, you have a contract for three months. And I was treated like royalty up until the exact moment when I didn't agree with their practices. Live and learn, I guess.
Unbabel is unique in that it's based in SF and offer compensation on that level in Portugal. Landing a job in SF is pretty much impossible as a European so this seemed like a nice compromise.
Thanks, but from the experience I had with both my employer and my landlord in Portugal I'd rather not do business with any Portuguese people ever again. Sorry.
Thanks!
In Sweden it seems that the employer must always give two weeks of notice, that's not the case here. But on the other hand you were paid two extra weeks of wage.
I know for a fact that Luxembourg, UK, and Bulgaria at least have trial periods as well and they are typical in these countries. I don't know about other EU countries, nor do I know whether they are typical in Sweden. But they are certainly not loopholes.
(BTW my apologies if I sound blunt, I love my country and don't like seeing false statements posted which make it seem that working here is very bad, when the truth is quite the opposite -- after the trial period is over, you are very well protected and can expect a job for life unless the company goes bust, goes through a major layoff, or fires you illegally, in which case courts and unions will defend you)
BTW here in Portugal you can also have a 3-month contract. They are uncommon in the IT world, but they exist especially in less well-paid positions (supermarkets, call centers, etc). In that case the trial period cannot exceed 15 days. If your contract says "com termo certo" (meaning "with predetermined duration"), then you did have a 3 month contract and are entitled to legal action.
Have you tried translating the contract on Google or Bing to understand what it says?
"Run your small business as if it was a large business", or, "Start as you mean to go on".
There is a great deal of bullshit in the tech industry; that chaos is somehow normal and that planning and the principles of good management can wait "till we're big". It should be painfully obvious that once chaos has set in, then that is the business environment and it cannot change.
If that environment includes hiring in panic and treating people badly, and the organisation survives anyway, then that organisation becomes one in which toxic relationships are rewarded indefinitely. It will be unsurprising that people like the OP will find it horrifying and be forced out.
- it encourages premature scaling
- many large businesses have lost the ability to innovate and lost the ability to respond quickly to market changes.
Both of those consequences can be fatal for a startup.
"Run your small business as if it were a large business" is more about conscious decision-making and awareness of consequence. Do your admin, make sure payroll is documented and people are paid on time, make sure that managers pay attention to work-load and communication, develop work practices that support people rather than assuming everyone is committed to 24-hour days ... sweat the small stuff so that your employees can get on with the thing you hired them for without concern.
It's all those assumptions that get small businesses as they scale. And then - if they survive - they become horrible, impersonal large businesses.
A small business is like a small child. All the potential is there, but surround that child with all the clutter of a poor environment and it will become an adult that perpetuates the system it was raised in.
"Give me a child until he is seven and I will give you the man," said the Jesuits. They knew what they were talking about ;)
So basically, several layers of approvals for every $10 expense report? :)
Yes, but it's not just small companies with bad processes that grow up to be big companies with terrible processes.
Sometimes, small companies with good processes turn those processes into terrible ones because they think that's what it takes to become a big company. In other words, they observe the terrible processes at big companies and emulate them.
Expense reports are a classic example. Small companies have informal procedures that are built on trust (good). Large companies have formal procedures that are built on pages and pages of policies that dictate what kinds of things can be expensed and under what conditions (terrible). It's very common for the former to turn into the latter as companies grow.
During the experimental period any of the parties may void the contract without any compensation (except for the time already worked) unless noted otherwise in your contract ...
Also there is no notice period required.
As a disclaimer, I note that I am friends with one of the founders of Unbabel. I don't know their side of the story and I am sad this happened to you.
Still, from what you say, as far as I can tell, they acted within the boundaries of the portuguese labour code.
As someone who lives in Europe I find American hire / fire at will contracts terrifying (getting rid of someone in the UK can be a torturous process, in other European countries even worse) but obviously in most states (?) in the US they're the norm.
Lesson to learn - before you agree to work somewhere else, understand the culture and legal framework you're going to be working in if at all possible and set your expectations accordingly.
It's really easy to get rid of employees in England. While it's not quite "at will" it's pretty close.
You don't even need to give a reason in writing if the person has been working for you for less than 2 years.
> You have the right to ask for a written statement from your employer giving the reasons why you’ve been dismissed if you’re an employee and have completed 2 years’ service (1 year if you started before 6 April 2012).
There is a lot of detail hidden behind this:
"If you’re dismissed, your employer must show they’ve:
* a valid reason that they can justify * acted reasonably in the circumstances
They must also:
* be consistent - eg not dismiss you for doing something that they let other employees do * have investigated the situation fully before dismissing you - eg if a complaint was made about you"
There actually aren't that many valid reasons. Cultural fit certainly isn't one (and has the potential to get you in all sorts of equalities issues if there is any possibility that age, religion or anything else can be seen as a proxy for the way you didn't fit).
If you want to claim someone isn't good at their job you need to be able to back it up and show you gave them every opportunity to turn it around (including having given them all the relevant support and training). Generally speaking that would be a performance management exercise (several weeks of monitored performance) which is time consuming and rubbish for all involved.
And that's before you even get into the whole performance is hard to accurately measure in IT issues.
The investigated fully part is also important. If you diverge from your stated policy (or a reasonable policy if there isn't one stated - the ACAS one is usually the template) then you can be found against at a tribunal even if you reasons and evidence were sound.
Obviously people do ignore all this and get away with it (particularly in IT where people can often get new jobs relatively easily) but that doesn't mean you will or that what you did was legal.
Your best shot is if the contract has a defined probation period (3 to 6 months) during which you can pretty much get rid of people at will but after that, even before 2 years is up, it's going to take some work. It's not impossible but it's an exercise which will take a lot of your time and likely have a significant impact on team morale.
I've noticed this kind of alteration a number of times on stories about YC-backed companies, and I don't recall ever seeing it when the story was positive.
EDIT: And now the post is getting rapidly demoted on the front page, below links that are older and have fewer votes.
> I don't recall ever seeing it when the story was positive
... is just sample bias. By far most cases of this are positive stories. Indeed most are blog posts written by the companies themselves. Sometimes they even complain and think we're biased against them, which of course is not true, just sample bias again.
Re the story rank: users tend to flag stories that have a high controversy-to-substance ratio, and moderators penalize such stories. In the case of negative posts about YC or YC-funded startups, our policy is to penalize them less, not more. But that doesn't mean we do nothing. Why? Because the heat of indignation guarantees massive upvotes. There needs to be a countervailing factor or such posts would fill the front page every day. It's a balancing act.
I hope this leads to a positive conclusion for you, as I have a lot of respect for the difficulty of startup life, but none for those who behave dishonestly rather than face the consequences of their actions.
It became clear very quickly that the two founders who brought me in wouldn't embrace any change that didn't come from them, and they had a total fear of empowering anyone else to make executive decisions - even about their own team members; I constantly found my guys being assigned to firefighting for other teams without my knowledge, so workload planning and scheduling knowledge sharing periods was impossible - we had information silos all over the place and if someone went on vacation they would often be called or emailed frequently because they were the only ones who knew about a specific part of a project or system. I wasn't allowed to attend support review meetings with the customers - the Directors went alone and told me what had been agreed, and they constantly dealt directly with one of my guys (the company 'guru'), assigning him work and making it impossible for me to grab his time so he could share his skills with the rest of the team - I highlighted it as a serious business risk that this guy was the only person who knew some of the tricks with some of our internal and customer infrastructures, and that he wasn't encouraged to document or share his knowledge, but they dismissed my concerns.
When we had that Friday afternoon talk after 9 months of trying to bring in some best practices and semblance of organisation, I left the office for the last time with a sense of great relief that I was out of the clusterfuck.
It only took me a few weeks to find a much better role and I hope things work out for you too.
Edit: Looking back at what I wrote, it might be that the OPs circumstances just offered the opportunity for a bit of a personal rant, which was not the intention. My main point was based on the fact (not explained at all by me in my post) that when I met the two Directors (twice), prior to joining, the setup and opportunity for me looked very positive, and I was convinced I was going to be empowered to fulfil the role. Things turned out very differently, and I clearly did not fit in with the company culture the founders wanted to both leave and stick with simultaneously (it was their comfort zone, and although they knew is was not the best was to run a business, they ultimately couldn't leave it). Moral: Shit happens, despite due dilligence, but that doesn't make it right.
You can definitely see it in government, non-profits as well as existing businesses. It's the end result of a culture that values "getting shit done" and ends up with nothing but "shit".
* Paying a contact manufacturer to design and build electronic hardware, then not getting any sources for the software.
* Selling R&D prototypes.
* Mistaking being customer-driven for waiting for customer orders before developing a product.
* Promising customers 3 month lead times on products that exist only as R&D prototypes.
* Not documenting what was built until product is shipping.
* Not documenting design decisions.
These are all real things that happened at a 20 year old company that I used to work for. This is also a short list of the many reasons I left.
After seeing this and similar situations like https://news.ycombinator.com/item?id=8152933 involving YC companies, it's hard not to conclude that there may be something culturally broken at the accelerator level.
But to be fair, I don't think any other accelerator focuses on this part. Most, if not all, accelerator only focus on growth and momentum, because that is what ultimately that is what gives the best ROI.
But in most cases, problems like in this particular case become obstacles for growth. I think YC should add provision of experience to the YC formula. What is the point of having so many experienced investors and founders in the accelerator if their companies are so bad at doing real business not only growth.
This is obviously all speculation, since I am not part of the program. Just commenting on the fact there are so many cases like this one in YC companies. So take my comments with a grain of salt.
My biggest concern about Steve Jobs's legacy is that people can all too easily draw the wrong lessons from it, or use it to justify bad managerial practices. Steve Jobs's managerial style was as much of a hindrance as it was a benefit.
Obviously I'm not saying you're one of those "Steve Jobs was an asshole, so I can be" types of people, or that you're condoning them as such. But a lot of people do think that way, and a lot of people condone thinking that way. On the whole, it's an influential and problematic narrative.
I think the trick is to grow past the 'whatever it takes' phase and get to the long term, steady, maturation phase. Which is what we are trying to do.
That said, I strongly disagree with not paying your employees fully. If you are a founder, you have an obligation to the people you hire. YOU SHOULD PAY THEM! If you think you should pay them only for a month and a half, fire them on time. In the end, bad match should always be founder's responsibility.
EDIT: HN could really use "Preview" button. :)
The core of the problem is that they didn't hire him for a shorter time (test run) / weren't able to use him for the remaining time.
But better that you are out of there now than a year down the line, if they are like this then that saved you a bunch of time and a lot more hardship.
As a 37-year-old who has been writing code since 8, I feel that you should be more used to finding clumsy code, especially in a startup (that I suppose is iterating very fast, trying to make ends meet).
As someone who confidently relocated from Sweden to Portugal, were you aware of the Portuguese economic situation? Didn't you make sure you had enough savings in case it all went down the drain (as it turned out to happen)? I can't help to feel that you took this somewhat blind leap with little to no information at all.
This doesn't all mean that I blame you solely; the situation is, of course, tremendously shameful for Unbabel.
Unbabel is based in SF and is unique in offering SF level compensation in Portugal. Perhaps I was naive in expecting them to honor our contract, it does seem like fucking people over is business as usual in Portugal.
Regarding your comments:
> That's one thing I really hated about Portugal, they just don't offer any information in English
>Thanks, but from the experience I had with both my employer and my landlord in Portugal I'd rather not do business with any Portuguese people ever again. Sorry.
>it does seem like fucking people over is business as usual in Portugal
>Have you had any experience with the Portuguese state or legal system? I'd probably still be standing in a queue somewhere.
Blaming the whole country for a 90 day experience does not seem very proportional to me.
Again, I do not know your story and can not speak for the veracity of your facts. What I do know is Lisbon (and I have lived many years in Spain and Germany to compare with). From that I know that you are just being, at best, exaggerated and I wonder if you have been exaggerating other stuff too.
He may be escalating his issues, but - again, as a portuguese - I don't think he got the wrong idea about the sad state of affairs here.
I made a similar leap from an OK-paying regional job at an established niche cashcow to a London start-up. The perks: a coffee machine, senior pay cheque.
The reality: a shit coffee machine, low moral, no realistic prospect of a profit and no willingness to pivot. 80% of costs have been sunk on a Facebook clone 'with a spin' while the owners try to sell snake oil to investors. We operate like the bad slides of 'Good vs Bad Startup' are a blueprint for success. The owners, almost weekly, come up with an idea someone has to coach them away from - a long ironically drawn out confrontational meeting of: "we don't have the resources". The bit I expected to pay off (medical monitoring hardware) turn out to be crappy I2C/SPI bridges any e.eng graduate could whip out in a month :(
I've had long look at myself: how could I turn down other offers yet accept this?! I'm still unsure why. For a while I feared that I deserved this - I'm one of them, one of the guys who decided to create their own header based HTTP authentication system key by a timestamp: a crap programmer.
It's been 4 months. Poor tests are still committed despite my best efforts to teach the one doing it that they should test a result not implementation (only 1 test damn it!). We don't use any JS frameworks on the front-end (yet alone my other true love: Typescript) because the last lead dev couldn't understand the immeasurable benefits of model binding. I've done - by no means single handedly - an incremental rewrite of the entire code base (front, middle and back). Although they're paying me on time, they missed my post probation increase :( I could go on but this is probably not the right forum.
In short: it's not worked out for me either. Thankfully I've got an excellent track record so I'm off in 3 days to a proper PLC. I heard large companies, like the BBC have 15 (FIFTEEN) designers in their News division alone... I can't wait to have just one designer unencumbered, available and talented.
The whole saga has left me with the strong suspicion most startups are a joke (no I don't want to be a DBA/CSS/JS and C# guru who maintains the iOS codebase!).
Inept owners who're unwilling to pivot, often trapped by the sunk cost fallacy, or owners expect to create a market with their 'one true solution [to a problem you no-one has]' plague the startup scene. No product should ever be a Facebook clone :(
For what it's worth, if I was hiring now I'd interview you solely on your written language skills (which are better than most native English speakers, myself included).
So if the benefits can't be measured, you're suggesting that the front-end should be rewritten as a matter of pure faith in model binding?
(Honestly, that's my impression of how most people decide to adopt a JavaScript framework. "Yeah, we don't really understand the whole, and there are all these edge cases where you have to work against the framework, but overall it's immeasurably better because of philosophy and purity.")
I can't wait to have just one designer unencumbered, available and talented.
Good luck with that at a large corporation, I guess... :)
Recently, especially at a startup I've felt the need to use libraries and frameworks more and more just to hit deadlines and meet the desired user experience.
Model binding is a prime example of this: on the web today everything has to be dynamic and reactive. Rather than do something (i.e. animate) and tightly couple the onComplete handler to N other things to do afterwards (via callbacks/promises etc) I prefer to compose my code around n-event subscriptions and react to changes.
Thanks to things like model binding (and their frameworks/libraries that offer this) the 'immeasurable benefits' of decoupled and composable functions trump the spaghetti soup reactive Javascript requires.
(P.S. one designer is a step up from none!)
What I find is that each framework works really well for about 80% of a project, and then the last 20% get really painful. I haven't found anything that's elegant, flexible, simple, and native.
So unless this startup can start where FB is right now, no one will "clone" FB.
So replacing FB means recruiting some niche of customers, and providing something fresh and useful. That can be done without unlimited perks.
With thinking like that you will never displace the #1 company, because you're not thinking ahead of them, you're only ever trying to catch up.
It's much more likely that they exploit some new thing.
But they're definitely in the wrong for how they handled it. In particular, knowing that you moved to Portugal for the job, they should have given you severance sufficient to cover relocation back to Sweden.
They violated his three month contract. They are not just morally wrong, but legally so as well.
If anything it sounds like they're pushing him around because they don't think he'll make the legal effort to get 1.5 months of pay.
Again, without knowing the contract, I can't say for sure, but what most likely happened was he was hired with a fixed term contract (Contrato Termo Certo), which is a kind of employment contract very common in Portugal. This doesn't mean he can't be fired for 3 months. There are various provisions for the company to do so (from probation period to lack of productivity or unfit for the job) but they do require some process (the employee has to be informed by writing, is entitled to some severance, etc). On this, and if the account is true is where the company maybe in more trouble. If he worked for 1 month and got 1.5 months of pay, that .5 maybe the severance he is entitled to (not sure about the values so I can't specify if that is correct or not)
As for the generality of the Portuguese employment law, you usually have 3 kinds of contracts:
- independent contractor/recibos verdes: This is usually a business to business contract, where the 'employee' has little rights regarding employment law except the ones provisioned in the contract itself. Employee also has to pay all taxes/social security. There has been some crack down on these as employers were abusing employees and avoiding paying taxes. There are similar provisions to this in the UK for example with their IR35, which means even if the contract is of this nature, they will be taxed as full-time employees.
- fixed term contract: An employment contract with a set end date (can be renewed for a certain amount of times). The usual rules apply regarding vacation, pay, firing processed etc. These regulations are law and while there is some margin to tweak the amounts, they can't be modified or you can't sign of your rights away.
- non-fixed term contract: This is what most countries have as standard employment contract but in Portugal it is a bit harder to come by. While things changed recently, up until a few years back, most employers didn't want to do this contracts since firing an employee in this cases is next to impossible without paying a huge settlement amount. So employers usually did fixed term contract with new employees, renew them for the allowed number (usually in total used to be no more than 18 months) and then either let them go (with no severance) or move them to this kind of contract.
None of this rings true to me. Not at any startup I've worked at/founded at least(6 in total over the last 12 years). In reality good startups are relatively even keel.
Hell I would argue that startups, almost by definition, think MORE in the long-term than their larger counterparts. In a startup you are always progressing towards a long-term goal, constantly taking in feedback and making adjustments.
It's much like sailing to a small island thousands of miles away. A mistake in navigation in the beginning that goes uncaught will put you farther off course than one farther along on your journey (although sometimes that mistake means you discover North America and then pretend like you meant to do that all along).
The point being, if your startup is constantly in panic mode or is constantly trading long-term stability for short-term satisfaction then you should probably be thinking about leaving. At least from my point of view.
Compare to the startup that can just “pivot” at will and/or just end it with one of those “it was an amazing ride” blog posts.
Not trying to be smart, just presenting some perspective.
You better not, who cares about UML diagrams?
But startup code doesn't have to be messy. I don't write messier code (to be used in a company that pays me), just because I'm in a hurry, and neither should anyone.
If code is particularly messy, unplanned, and untested you might be feature searching as opposed to having a vitamin or medicine feature that a customer will pay for.
Release early, get feedback often. Choose a core competency.
I hope that if it turns out your story is true, that these guys are in some way brought to justice, karmic or otherwise. Best of luck.
I don't care what financial disasters may occur - I very much doubt they'd occur in such frequency that over 20 years of working in a high income job this guy wouldn't have 15,000$ handy for something like this. If he made 80k per year for 20 years, that's 1.6M dollars. Let's say 800k after taxes. You're telling me in 20 years, he couldn't save 15k out of 800k? Less than one half of one percent of all money made?
Also, I'd expect if he didn't have that much handy, he wouldn't have been naive enough to relocate without any kind of backup funds in case things went south with a startup, which often happens.
It all points to a certain ignorance when it comes to financial matters with this guy - the fact he relocated without enough funding to fall back on suggests not that he has weathered several storms over a 20 year period, one every year wiping out all his savings, but that he has a pattern of monetary mismanagement stretching back to the beginnings of his career.
EDIT: Accidentally replied to my own comment but meant it to be to the "you dont know me, you don't know my problems" naysayers below.
On the other hand, people should get unemployment benefits when situations like this occur, unfortunately for him, the moving countries may have prevented that (for Sweden employment agency, he quit his Swedish job, not fired, and for Portuguese one, he didn't work enough months to qualify. I'm sure there are some international provisions for these situations but they are beyond me).
[1] http://www.bostaddirekt.com/Private/default.aspx?custType=0&...
Honestly, if I hired a 37-year old, that started programming at the age of 8, I would have thought that I was hiring a “senior developer” (or hopefully a “wizard”).
Salary would be, appropriately, much higher than that for a beginner, or an intermediate.
What I would expect is, that the “senior developer” will look at our code, understand what is right, and wrong, and tell us what to do to fix it.
What I would not expect is, is that the “senior developer” is twiddling his thumbs waiting for a “guidance”. And is bitching about the quality of the code. Well, you were hired to tell us what to do, and to make things happen. What we expect is advice and leadership. If all you can offer is bitching & random complaints, thanks, but “this is not a perfect fit”.
What do you know about his life? Could he have lost all his savings due to a a divorce, or an accident, or some other type of tragedy? What if he always had to support others?
Part of the benefit, you mean. Although we're only hearing one side, sounds like the culture there is pretty screwed up, so bringing in a guy with higher standards is obviously an epic culture fit fail but possibly the only way to repair the companies culture.
Although "pretty screwed up" sounds subjective, there are objective observations, and if they're not fulfilling contracts that's a rather objective measure (did a bank deposit occur or not?)
If you have a screwed up situation, and hire a guy who fits right into it as a perfect cultural fit, you haven't solved "the" problem, you now have two problems.
1. https://plus.google.com/108299200044097592336/posts
2. http://esoteric-keys.blogspot.com/2013/12/consciousness.html
I know it's in the past now, but try to avoid situations like this. If you can't, talk to your boss about what can reasonably be done in what time frame. Now I would try to figure out which parts can realistically be refactored and which can be isolated and rewritten iteratively make things better. I wouldn't take on new features unless I was confident I could deliver with spaghetti around.
But I agree, some of the parameters that got us here are probably cultural. One thing I did notice was that a lot of the communication in the office was in Portuguese, which obviously means I didn't get that information.
edit: I mean no offense but just wanted to make you aware how this would be perceived by US readers potentially. US is lacking in a lot of labor protections.
In Portugal, I believe, that unless you let people go before the trial period is over, then a whole lot of protective measures kick in.
For anybody looking to hire anybody abroad it is having the conversation about what happens when things don't go well.
It would be good to hear the Unbabel side of the story.
[Disclosure] Two of the founders are what I would call acquaintances of mine.
Say something like, "You guys seem like you're pretty organized, but I've heard a horror story or two about startup hiring... Companies pivoting and laying people off/etc. Given that I'm moving for this opportunity, can we have a clause in the agreement that spreads the risk around a bit? Say, if you guys let me go for any reason before the end of the contract, I get $X as a severance in consideration for my moving expenses, etc."
- Is Unbabel making money? If they haven't shipped yet, bad for them, but on the other side, the software may be doing its part (of generating revenue)
- People sometimes come with an idealized view that in a perfect world all code is fully tested and follows all rules and conventions. Most often than not, it doesn't.
There's a balance between improvement for the sake of code and adding new features and bugfixes (not necessarily related to the lack of unit testing or stuff like this)
" I repeatedly asked for more guidance but all I got was reprimands for not taking every little detail into account in the code I wrote."
Here's the thing, no one will hold you by the hand. There's a lot of things you'll have to find out by yourself.
I've hired, and directed, people who just didn't work out, and many of them could write something very similar to what the author submitted.
Because what I was hiring were people to help propel us forward in short-order, and did everything possible to filter and convey expectations of the same, but some hires needed so much direction, so much hand-holding, and so much oversight that they ended up literally being a net negative on velocity of the whole. So it just wasn't a fit and we had to split ways.
There are different companies, at different stages and sizes, where that sort of thing is perfectly okay. But at anything where the word "startup" might be applied, it just isn't the case.
Every workplace has its ups and downs, would be weird if it were 100% perfect, eh?
What I can't get through my head is why you'd write a contract at all if both parties are free to do whatever the fck they want anyway...
Did you take the contract to someone outside Unbabel to check?
I am sure you will find another job easily enough as good devs are in demand. Hopefully at a place where you are valued and can contribute your skills
Not being a good fit won't be good enough. If it was, the minimum period in a contract wouldn't be worth anything as that's easy for an employer to say with no backup.
This issue is a major difference between typical contracts in the EU and the at will employment status which is typical in the US. It makes it 'easier' for startups to operate in the US, and means that international companies will hire slower in the EU, but are more likely to let US staff go if they have to change staffing levels quickly.
Depending on the rental contract - if it's anything like the UK, the author may have a cause of action against the landlord as well - normally there's a minimum notice period.
"kicked out" could include "followed all the legal procedures and evicted me".
Did you seek help from Portuguese legal system for your landlord problem?
The reality is that if you join a startup, you should take your job day to day. You should consider it an adventure. Do not expect it to be organized like a corporate job. There is going to be a lot of GROWING PAINS, for young folks with no real world experience, they don't know better. For someone experienced in the industry, man, is it painful! But with that experience, you have to figure out how to lead, your work is not just to code, the bigger puzzle to solve is how to slowly bring about best practices, and you will get a lot of resistance.
You lead by showing. Don't worry about others, they don't wanna write tests? fine, write your own tests, write extra for others if you can. They don't want to document or use revision control? Do so, one day, someone is going to read the comments in your code and realize that it makes sense to document, or read a process document. It might take time, but they will see the light.
In a startup environment, do not complain! It helps nothing, you must wade through the garbage, that's just the way it is. I'm much older and I know this reality. I work for a big company, it's "boring", it pays great, a lot of startup's court me trying to get me to get on board for half the salary and promise of fun, but nope! I'll work more with less discipline and less pay and no stability. I know this. Should I ever join one, I can assure, I won't cry if they shut down the next day after I joined, that's the gamble. Startups fail more than they succeed.
I did try to flag problems, I added more tests, I proposed improvements and went ahead and implemented them. And here we are. Seeing the light implicates seeing anything at all besides pieces of paper with funny faces on.
>We are a fast growing, fast paced startup who is trying to change the world by making comunication seamless in any language. Source: https://www.unbabel.com/jobs/
#Comment:
Well there is something wrong with their communication.
I feel for you. But with your experience, this shouldn't be a surprise for you??
The focus in Startups is to get the code out and get a (paying) customer and the priority is not always on the quality of the code/tests. In the Enterprise world you have some more time to do more tests, code review et. al and may be you got used to it.
A bit curd perhaps, but following the rest of the story I suppose it makes sense? This sounds very much like a culture misfit to me.
(To be clear: I am not passing any judgement on the handling of the matter here. Or on who to blame on the misfitting)
I know that as a first-time founder I screwed the pooch in all sorts of ways I could've avoided with a little more guidance.
Moving to a new country seems like pretty big risk to take on a 3 month contract. Heck I wouldn't move from a current job to another one in town without a signing bonus to cover the risk.
I hope it works out better for you in the future. I'm pretty sure it will, you obviously have the skill... just need to find a better fit.
Could say the same thing to Unbabel if this story is as OP has written it up. Not going to pay out the contract? What a great way of ruining your future. Future employees will avoid you like the plague.
Yup. Neither party comes out looking good from this.
Also, informing the community that a company doesn't seem to value the work of its employees should be valued.
I agree, but in what way is Unbabel not compensating for the work actually done? They just prematurely said no more work would be done for them.
As a very small scale employer, I feel responsible for my employee(s). They depend on me for rent payments, mortgages, savings and so on. I think that responsibility extends further for someone moving country to join your company.
I think retaining enough savings to stay fed is on the employee and don't buy that likely exaggeration, but with early termination like this, I think an employer should be looking to accommodate a foreign employee where they can, at least provide a bit more warning or mediation.
And that leads to contracts not being worth the paper they're printed on unless you're independently wealthy, and without any rule of law or justice, the system goes down the tubes.
That's weird.
I would have thought that firms would prefer ex-employees to use the courts appropriately to settle disputes, rathar than using blog posts.
That said, even if he had a "3 Months Contract" there's probably a release stipulation with a notice period. As long as he's got paid that, there's no legal recourse.
What do they know about it, outside of cases that actually end up in the news?
Shoot me an email (in profile); I'd like to help get you some food at the very least.
That being said generally all contracts have an early termination clause. He doesn't comment on what that is. Generally with 3 month contracts, it can be pretty short. It doesn't necessarily mean finish the 3 months.
To give you an analogy if you hire a general contractor to renovate your home for a 3 month contract, you can terminate the contract early if it's not working out for you. Maybe the contractor is amazing but you just ran out of funds. In any case the issue is that there is always an early termination clause in contracts. I would be curious what his is...
Unfortunately saying you did understand the language is not a valid reason. It sucks but that's also the reason why thee were so many bad mortgages in the recent real estate bust. Too many people didn't read their mortgage agreements.
As the saying goes everything is good while it's good and everything goes bad when it goes bad.
Also, here is the law itself in case you want to read it (articles 111 to 114, also in Portuguese): http://www.legix.pt/Portals/3/docs/CT09-23_Jul_2012.pdf
The typical way to hire full-time workers in Portugal is indeed a full-time contract with an experimental period (EP), what Vasco colloquially called an "at-will" period. These contracts are called "por tempo indeterminado" (or sometimes "sem termo" or "com termo incerto"), which means "for an indefinite period". The EP can last between 90 days (3 months) and 240 days (8 months) -- non-managerial roles get 90 days, which is what Andreas had on his contract (shorter durations benefit the worker). After the EP is over it is VERY hard, from a legal standpoint, to fire a worker, which is why the EP exists in the first place.
During this experimental period, the employer can terminate the contract with no advance notice and paying no compensation for the first 2 months. Between 2 months and 4 months (if the EP lasts that long), the employer must warn 7 days prior, or pay 7 days of salary as compensation. After more than 4 months, and until the end of the EP, it is 15 days. The worker can always terminate the contract with no notice during the EP. After the EP is over, the worker must provide 1 month of advance notice to terminate the contract, and the company usually cannot fire the worker at all.
According to Andreas' original post, he was fired after 1 month, during his EP, which means he is entitled to no compensation. Unbabel paid two extra weeks of salary (Andreas admits that in his blog post), which shows that they treated him better than the law requires. If indeed he was also paid $1000 extra (from Vasco's post), that is even further above what the law requires.
Andreas' blog post suggests that he thought he had a 3-month contract, which he did not. Legally, he could even be fired after 1 day on the job, and get paid 1 day and nothing more. While Unbabel may be slightly guilty of not explaining correctly what Andreas signed, I still believe that Andreas has the majority of the blame for not understanding what he signed or searching around what are the typical work laws in Portugal. Heck, if I went to Sweden, I'd ask for an English translation of the contract from someone outside the company, even if the company itself provided an English translation. What happened with the landlord seems to confirm this, since he had the legal right to stay for as long as his deposits lasted, and simply calling the police (no need for a lawsuit) would ensure that he could stay until his deposits ran out. It is, again, very hard to evict a person just like that.
In summary: Unless I'm missing something here, Andreas was treated considerably better than required by law and has no legal grounds for complaining.
What is legal an what is right are two separate things. Yes, everything that the company did was legal. Everyone knows that. They still acted in bad faith, though. And this is going to come back to bite them as a developer would have to be crazy to work in that kind of toxic environment.
>So here I am, back where I started with barely enough money to eat.
Come on, you're 37 years old Java professional from Sweden (which is not Nigeria or something). Even unemployed people there get more money which I used to make being programmer.
> When I informed my landlord that I wouldn't be able to stay as long as planned she kicked me out of the apartment
What, she kicked you even before your paid period? Obviously you're loosing your deposit but she is not supposed to kick you out.
This story made to sound dramatic, but in reality, I believe, he just wants unbabel's managers to follow contract rules.
Unbabel is wrong, but it's not a reason to say you're starving and it's their fault. You're a grown up man, be responsible for your life.
I've seen people be treated in a very coarse manner by their employers and this story does not read 'off the scale' in any way to me, it could very easily have happened as described. I've seen far worse than this.
Yes, the poster has a partial responsibility in how this all happened and turned out, I'm certainly not denying that. But as an employer, before asking someone to move halfway across Europe (which I would cover with a signing bonus) I'd be much more critical about fit before letting them commit to the move. Maybe a few weeks trial staying in a hotel before finalizing things.
Author calls his former job a mind-numbingly boring Java consulting gig.
Then calls his new job at Unbabel insane and abusive.
As the author does not explain how working for 30 days at Unbabel was abusive, this only reflects poorly on the author. He seems impossible to satisfy.
That code at start-ups is messy is the norm, not the exception. Highlighting this as: "a tangled mess of mindless duplication, half-implemented features and misleading comments" again reflect poorly only on the author. What did he expect as an experienced coder? Why air this "dirty" laundry? How do the people (your former and future colleagues) writing that code feel now?
Then continues to describe the horrible experience: "The team lead was the only one who knew anything about the system". Then seems surprised at that Friday afternoon meeting with the founders.
This may negatively influence hiring practices of YC companies. Want to avoid such culture fit disasters? Do no hire anyone over 30. Do not want fire and brimstone blog posts when you fire someone? Hire someone local or remotely outsource. Taking a chance on someone works both ways.
Yes, I imagine it sucks for the author and I wish such an experience on no one. But I also wouldn't want to be the startup to read this on the frontpage of HN, see yourself be misrepresented and having to consult with legal before you can even think of replying. A bad hire is unfortunate for the employee, but very expensive for the startup too: Too many of these and the company will go down. EU labour laws are far more protective of employees than US labour laws. If this was within the law, it may not have been too nice, but remember: This is (a) serious business.
There is probably a grain of truth in this story, and perhaps Unbabel made a poor business decision, but these stories can never be taken at face value, they are closer to hit pieces. Drama-bait.
my money stopped here