top | item 27801496

Three programmers got fired, including me, due to a single app crash

337 points| signa11 | 4 years ago |betterprogramming.pub | reply

231 comments

order
[+] brabel|4 years ago|reply
A company which only hires junior developers is not a company that values quality development practices and it cannot expect to get stuff done on time, let alone with high quality and industry's best practices... not that junior developers cannot be good (with proper guidance they can be awesome), but without experienced people around to guide them, and without them having experience of their own, they are bound to make every possible mistake in the book no matter how smart.

The people running the company were playing with fire and they must either be too junior themselves to understand that, or they were just knowingly doing so and hoping to get whatever product MVP they had planned as quickly as possible with the minimum amount of expenses possible.

Don't feel bad for being fired from such a company. It might have been the best thing to happen to you because now you get the opportunity of getting a proper job where you might actually have experienced people to mentor you and help you become a great developer and professional.

With that said: next time a CTO asks you to create something in a month for a demo, just go ahead and implement a mock (no DB, no error handling, just happy path code) that's just about enough for the demo, nothing else. Make it clear to the person who is going to run the demo that this is not the real deal, and arrange for only the happy path to be followed in the demo (add a few safeguards just in case so if the person does something unexpected you just ignore it, never crash!). You could have probably pulled that off in a couple of days :D but yeah, you probably thought you needed to have the real final product ready otherwise it wouldn't be demo-able... Trust me, that's almost certainly not the case.

[+] djsweet|4 years ago|reply
> The people running the company were playing with fire and they must either be too junior themselves to understand that, or they were just knowingly doing so and hoping to get whatever product MVP they had planned as quickly as possible with the minimum amount of expenses possible.

Knowingly playing with fire like this is a sign of a lack of maturity, both on the founders part and the investor’s part. Anyone experienced in the business of building software would have known that:

1. It takes time

2. Time takes funding

3. It’s probably not going to work the first time you try an end-to-end test

Mature founders would have found mature investors to give them both the funding and the time to stabilize the software. They would not have attempted to make their investor demo the first big end-to-end test, and even if they did put off testing they would have communicated that to the investors, who should have understood the state of their investment only six ~months~ weeks in.

[+] caeril|4 years ago|reply
> A company which only hires junior developers is not a company that values quality development practices and it cannot expect to get stuff done on time

I wish this wasn't such a common trope among the VC, FAANG, or Fortune 500 crowd.

Believe it or not, there exist a million small businesses who don't enjoy the luxury of burning OPM, who can't afford $200k developer salaries, no matter how much they want to.

In one sense, you're ABSOLUTELY CORRECT. But here in the real world, in flyover country, revenue will always constrain resources. Those of us running small, stable businesses are forced to make tradeoffs that FAANGs or cash-burning VC-funded operations don't have to.

That said, yes, the people in this story seem to be the gambling, poor-management types and the OP shouldn't worry overly about losing this "opportunity".

[+] dheera|4 years ago|reply
> A company which only hires junior developers

Part of it is also stingy investors in the ecosystem.

The top-tier investors often give enough cash to hire experienced developers. Unfortunately most companies don't get that kind of money, and instead of getting the $2M round they need, they settle for a third- or fourth-tier VC's $200K check with bad terms and a warrant for the rest of the $1.8M, and then they end up paying their employees crap wages and overworking them with the hope that they can attract a top-tier VC for the next round.

[+] brailsafe|4 years ago|reply
It may be a blessing in disguise, until an employer asks you why you left your only work experience, and you have to dance around a bit to persuade them to give you a shot.
[+] amelius|4 years ago|reply
> next time a CTO asks you to create something in a month for a demo, just go ahead and implement a mock

But expectations have shifted and management now expects to get the real thing.

[+] gentleman11|4 years ago|reply
Depends on the students. The top students in a graduating class can be extraordinary compared to the average experienced person, although there is a lot they don’t know
[+] aniforprez|4 years ago|reply
I have a similar story but since it wasn't an internship and I had about 5 years experience in far better companies, I reacted with relief that I got out. I only stayed in the company for 2 weeks in which the CEO and his wife, who was the COO, yelled at me multiple times. I was yelled at for not understanding the code base and delivering a feature within 3 days of joining, trying to relax in my chair when they were talking, using their stash of tissue paper cause they didn't bother keeping some in the bathroom for wiping your hands etc. In retrospect I wonder how I even got through those 2 weeks without quitting on the second day. I just stopped showing up and the CEO came to my house, banged on my door to try and get me to delete their crappy code written by a mountain of interns from my personal laptop. I pretended I wasn't home and we later had a call where I deleted it all. I also wasn't paid for the time I worked there. Everyone who wasn't me was pretty much an intern writing awful code because they really didn't know any better

Unlike here I have no qualms about naming and shaming praktice.ai

[+] wirrbel|4 years ago|reply
> I also wasn't paid for the time I worked there.

That sounds like wage theft.

[+] simonbarker87|4 years ago|reply
“Hopefully the company aren’t working in an important area like healthcare” ... oh, that’s exactly what there are working in
[+] gedy|4 years ago|reply
Sounds the typical "I have an idea" leadership who wants slaves to implement their "vision", but who have no clue or skills to make a real product.
[+] pm90|4 years ago|reply
incredible. Thanks for naming and shaming; I hope this person is never able to fuck someone else like this.
[+] an_opabinia|4 years ago|reply
It doesn't sound like the writer was fired for doing her job. It sounds like she did a really good job, given the circumstances, and that her bosses used two pretty quintessential management techniques - deadlines and negging - to motivate her and her colleagues to outperform.

But this demo - her bosses ran out of money, and even if the text field did work, but they didn't get the money from this investor, they were going to be fired.

That aside, as other commenters have noted, junior developers need instruction. That's easy to say if you're Facebook, and every 22 year old you hire is "junior" but also went to Harvard. They're not really the same kind of "junior" as the 50th percentile 22 year old college graduate. In my experience Facebook hires these "junior" developers because they thrive despite receiving little to no meaningful instruction - as if "code reviews" or a month of onboarding on Mercurial really teach anyone anything. The small startup is gambling that maybe they can find these 22 year olds that Facebook has missed, which is a reasonable gamble, there are a lot that were missed. But it was never about finding someone who needed instruction.

Also, it's never been my experience that paying bad developers more money made them better. Paying good developers more money does. It's tough.

[+] lmilcin|4 years ago|reply
The problem is really simple.

I know this may sound contentious, so read carefully.

Junior developers, BY DEFINITION, cannot be trusted with important projects. If you do, you are responsible if something fails, not the developer.

By "important" I mean anything that may significantly impact company. If you would fire for it then it is important.

By "cannot be trusted" I don't mean they can't do it. Maybe they can, maybe they can't. You need to have somebody experienced to make sure there is no technical surprises, that you are getting what you think you are getting and that you will get feedback if something is not happening right.

My personal distinction between senior and junior developers is whether they can be trusted with important projects. A senior person is somebody who is experienced enough, intelligent enough and mature enough to recognize something is not right and come back to you for direction.

I work with a lot of people who get a label of "senior" but are not. This is a problem.

It is interesting, that at one known company people who can be trusted with important projects are called "officers". So basically you have junior developers, senior developers and officers. I guess "senior" is given just to pacify developers who would be called junior with a lot of years of experience but "officer" as a real recognition of maturity.

[+] wruza|4 years ago|reply
Heh, my experience is two decades of for-business custom software development. But no matter how much you brush the 1-month-old half-project and how strong you stress them on not diverging from the script at the presentation, there will be some idiot who will tap randomly to show all critical issues of a not-yet-product to investors, including the ones that you warned them about in capsbold beforehand.

You can’t trust something done in a hurry, by a junior, by a senior, or by a chief officer of rockets and things. Of course I would test for gibberish in fields, but only because I have OCD to fix crappy frameworks or glueware before using it for anything. I don’t usually dare to use as-is from-scratch methods for presentations, only parts of already tested projects. Management knows this and feels very relaxed at their shows, which allows for what I described above. Deception is a team work, and if you want to succeed, just follow the damn script. Make it threaded, excessive, whatever, stress your brain matter and foresee the questions, we’ll harden the path. But I “double dare you” to step off it. That’s just not realistic.

[+] ratww|4 years ago|reply
I had something similar but not quite at the company I worked previously: about 90% of the developers there were senior, and some had only 1 or 2 years of experience. However there were levels and a level 5 Senior was paid about twice as much as a level 1 Senior. In the end it was more about making everyone "happy".
[+] macintux|4 years ago|reply
Steve Jobs had to follow a very narrow happy path in his first iPhone demo because the product was still very buggy. It still amazes me that the iPhone shipped so (relatively) soon after.

Failing to prepare for a business-critical demo was absolutely the CEO’s fault.

[+] throwawayboise|4 years ago|reply
I saw Jobs give a demo of Enterprise Objects (when he was at NeXT) at a trade show. He wasn't actually operating the keyboard and mouse, but he was on stage directing and explaining and suddenly the whole demo crashed with a kernel panic on the big screen. He handled it pretty smoothly, just said "oooops!" and waited for the reboot and then continued.
[+] mst|4 years ago|reply
Yeah, the demo malpractice was the thing that stood out to me as peak idiocy.

I mean the general toxicity was awful, but even in a functioning company with sensible timescales and staffing that's 100% how to end up with a mid-demo disaster.

[+] i0nutzb|4 years ago|reply
You only had to hold it differently and you'd have no issues ^_^
[+] jldugger|4 years ago|reply
When Jobs demoed the original iPad, half of the NYT front page failed to load because it used Flash, and Flash was not supported (and in the end, never was).
[+] hn_throwaway_99|4 years ago|reply
There is a very simple solution to things like this: just leave. Software developers are currently fortunate enough that there is enough demand that they don't need to work for shit-shows like this. Other red flag: if a shop is only hiring junior developers, it's because any senior developer can smell the stink for miles and wouldn't want to join.

Best lesson I ever got in business was when I saw a highly touted exec get hired, then actually hire a few folks on his team, then quit after 2 weeks when he saw he wouldn't be able to work with the existing exec team. A lot of lower level folks think that leaving is somehow a mark of failure, and while I would see a string of very short tenures on a resume as a red flag, bailing out of a bad company once or twice wouldn't bother me at all (and, if the tenure is less than a month, no reason to put it on your resume anyway).

[+] spamizbad|4 years ago|reply
It's actually harder for Junior developers to just leave. Until you have 2-3 years experience under your belt, you're just not that attractive to employers; and your competition for those lower-level positions is fierce.
[+] commandlinefan|4 years ago|reply
> there is enough demand that they don't need to work for shit-shows like this.

See, people keep saying this, and insisting that it’s a sellers market for programmers, but stories like this one continue to be the rule rather than the exception. If we’re so in demand… why is the treatment so poor?

[+] mperham|4 years ago|reply
Not everyone has the experience to quickly find another job or the savings to weather a period without a paycheck. The business as described is a modern day sweatshop.
[+] MaxBarraclough|4 years ago|reply
> if a shop is only hiring junior developers, it's because any senior developer can smell the stink for miles and wouldn't want to join.

That's possible, my assumption was they didn't offer enough to get any senior developers on board.

[+] macNchz|4 years ago|reply
The company described in this post is clearly highly dysfunctional, however the self-sabotaging pattern–scheduling an important meeting before even starting to build the make-or-break thing that will be demoed in the meeting–is one I’ve seen in plenty of ostensibly functional organizations. Nobody should be surprised when something brand new built by an under-resourced team on a non-negotiable timeline blows up in front of whatever important {investor, client, prospect} it was supposed to impress.
[+] glangdale|4 years ago|reply
One thing I've noticed in a number of different contexts is that women seem to disproportionately feel shame and guilt in circumstances where the majority of men would just cynically punch the clock and collect cash until it's time for the next thing. It wouldn't surprise me if childhood conditioning (where girls are meant to 'make nice' with people) and different standards for male/female behavior ("he's independent" / "she's a ruthless bitch") contribute to this too.

But I've encountered so many men who recognize bullshit jobs for what they are and openly just coast and get while the getting's good, while a larger portion of women seem to behave earnestly.

It's also more of a thing with juniors, too. When you've been around for a while, you realize that no-one gives a shit about a 2 month gap on your resume.

[+] ipaddr|4 years ago|reply
I noticed this too. When the author mentioned crying all day that stuck out as unusual.

Getting fired instantly and paid for two months feels like a win here. Getting fired vs having your company shutdown affects you more personally. It takes a strong person to not think I suck and this was my fault.

Being in that situation I wouldn't know how to explain it. Looking at it now I would be honest and say we created an a and the team was let go after the demo to investors.

[+] logicalmonster|4 years ago|reply
I don't blame the CTO too much for taking the project: startups need to take risks and try and make money and if something is physically possible you usually have to try. On a tight deadline, you put together a proof of concept and succeeded so it seems like a correct decision. You did your job.

> He didn’t even try the app once before presenting it to the investors.

It's this that really floors me. Ok, not everybody is going to be Steve Jobs and rehearse like a madman to try and put on a spectacle, but at least try an app before a key meeting.

[+] TameAntelope|4 years ago|reply
The only thing I see here that's surprising is that pay was docked if you arrived late to work. Everything else seems pretty typical of an early stage contracting firm, and start-up life generally.

The part about getting pay docked for showing up late does sound pretty abominable, though. If the workers are "exempt", their salaries shouldn't get touched for any situation except to lay them off.

I would bet small sums this didn't take place in the US.

[+] andrewfong|4 years ago|reply
It almost certainly wouldn't have been legal in the U.S. to dock an exempt employee's pay, but I've seen plenty of U.S. startups with absolutely no understanding of wage and salary laws.

The $100 / month thing was for an internship, and I've seen plenty of U.S. startups straight up assume they can treat interns as unpaid labor.

[+] mratzloff|4 years ago|reply
Well, it clearly didn't take place in the US since she had an employment agreement that required a two-month separation notice from the employer.
[+] 0xEFF|4 years ago|reply
$100/month pay surprised me as being way too low.
[+] grumple|4 years ago|reply
The behavior described means it was not a first world country, couldn’t be US, UK, EU, Canada, or Australia. The amount of money is also too small for those places.
[+] walshemj|4 years ago|reply
I would guess Europe possibly India

And if you are "salaried" normally that means no fixed hours of work its literally one of the defining characteristics in labour law.

[+] buildbot|4 years ago|reply
Not only red flags, but most likely it sounds like seriously illegal wage theft was occurring. What company?
[+] stavros|4 years ago|reply
I agree with everyone else, but also, isn't the only way to lose an investment because of a bad demo to have basically misrepresented the state of your product to the investors?

Investors aren't looking for a bug-free app, they're looking for an idea with market potential. Sounds like the CEO wanted a scapegoat so he wouldn't have to admit to his/her mistakes.

[+] squarefoot|4 years ago|reply
You should have showed this to that idiot CEO, just before the middle finger.

https://www.youtube.com/watch?v=er8g6D_PqvY

They got rid of the only people that, assuming it was your error, wouldn't have made it twice. Making mistakes is part of learning, which is part of doing things. Also, you had been put under excessive workload due to absurd time constraints, and the pay was ridiculous. Your only "error" was to accept from start working in that environment, but that's an error most of us do as young devs; sometimes the enthusiasm after landing the first job plays tricks on us. Been there done that.

[+] binkHN|4 years ago|reply
> If anyone came to the office five minutes late, he cut their pay to a half day’s salary.

Assuming this was true, it simply screams get out now. Perhaps someone can chime in on its legality too.

[+] bshep|4 years ago|reply
Well if you’re 5mins late then just come in after lunch, might as well take 1/2 day off if you’re only getting paid for 1/2 a day.
[+] Aeolun|4 years ago|reply
It’s apparently legal in Japan. If you are late to some companies you automatically get charged half a day off. I presume that means that you lose half a day of salary if you run out.
[+] Yoric|4 years ago|reply
I sympathize.

I worked in such a company, many years ago. The workload that was totally disconnected from reality, the humiliation and punishments, the scapegoating, the improvised demos based on products that were not expected to work. We also had to cope with a CEO who was... very imaginative when it came to facts and a CTO who didn't contribute much besides repeating to the CEO what the CEO wanted to hear.

When the entire team got laid off (to be replaced by other people, with less experience, to do the same job), it was actually a relief.

[+] noobermin|4 years ago|reply
What a story of abuse. One of the arguments I've heard generally for small businesses being valuable is the flatter structure allows you to be closer to higher ups and thus higher ups can be more human and decent to worker bees because of the closer distance. Experience of course suggest it varies.
[+] tgv|4 years ago|reply
No reason to feel ashamed. I had a similar-ish experience. At first, I also felt bad about it, but looking back, it's a good thing we got fired.

I had just taken the job, being a nice upgrade from the previous one: it was a bit more in my personal interests, and I could get a "hands-on architect" or "senior systems designer" or whatever you want to call it role. The team was small: a front end designer, me, one trainee with a BSc in CS who wanted to learn more, and a team lead annex director of the local branch. But the chain didn't end there. There was an account manager (although there wasn't an product yet) stationed 6000km away, there was a team working on a product that we were supposed to incorporate, 1500km south from him, and the overall bosses were 2000km further west. All had different expectations. So, three months in the job, the CEO from the mother-mother company came over, and fired the whole team working on the new product, because reasons. They apparently had almost 200 people working on similar products (in various companies), and they were going to build it. As a European, I was shocked. And embarrassed.

In hindsight, it really was an absurd project. Not that it couldn't have worked, but it was just set up to fail. And it turns out that, years later, the company is still selling the old product, and has bought one or two more companies in the same field (library software, if you want to know).

Strangely enough, it opened the way for me to work on a wonderful project, which unfortunately never was a commercial success.

[+] aenis|4 years ago|reply
I had a job like this 20 years ago and I did learn important lessons - mainly how to spot toxic work environments and people. These days, in pretty much any part of the world, one can get a job as a programmer in a matter of days. My company is now handing out $100k in deferred comp (stock, not even options, vesting in 3 years, with a performance-based multiplier of up to 3x) to key devs despite being a large company with a $30bn topline that, until quite recently, considered programmers an expendable commodity. Well, not anymore -- covid accelerated shift to 'fully digital' business processes and companies are struggling to find devs in all the western world.
[+] dilippkumar|4 years ago|reply
>...If anyone came to the office five minutes late, he cut their pay to a half day’s salary.

Again, highlighting the importance of who you work with over what you work on.

There is nothing to be gained by teaming up with the wrong people, irrespective of how much effort you put in.

[+] MeinBlutIstBlau|4 years ago|reply
>I missed two interviews because I couldn’t manage time to attend them and I was not in a position to take the risk of losing this job.

Comments like this make me feel fortunate myself that I always walk in with the mentality that I can be fired at a moments notice or I am willing to quit if a better opportunity arises. It's relieved an astronomical amount of stress off my shoulders even though normal people would consider that absurd. I frankly don't care. It's out of my control so why would I be worried about an employer that threatens to cut my salary in half if I'm late due to unforeseen circumstances? Unfortunately, nobody ever tells you about these events or how to handle them. You just gotta figure it out on your own.