Hey guys,

this rant will be long again. I'm sorry for any grammar errors or something like that, english isn't my native language. Furthermore I'm actually very sad and not in a good mood.

Why? What happened? Some of you may already know - I'm doing my apprenticeship / education in a smal company.
There I'm learning a lot, I'm developing awesome features directly for the clients, experience of which other in my age (I'm only 19 years old) can only dream.
Working in such a small company is very exhausting, but I love my job, I love programming. I turned my hobby into a profession and I'm very proud of it.
But then there are moments like the last time, when I had to present something for a client - the first presentation was good, the last was a disaster, nothing worked - but I learned from it.

But this time everything is worse than bad - I mean really, really worse than bad.

I've worked the whole week on a cool new feature - I've done everything that it works yesterday, that everything gets done before the deadline of yesterday.

To achieve this I've coded thursday till 10pm ! At home! Friday I tested the whole day everything to ensure that everything is working properly. I fixed several bugs and then at the end of the day everything seems to be working. Even my boss said that it looks good and he thinks that the rollout to all clients will become good and without any issues.

But unfortunately deceived.

Yesterday evening I wrote a long mail to my boss - with a "manual". He was very proud and said that he is confident that everything will work fine. He trusts me completly.

Then, this morning I received a mail from him - nothing works anymore - all clients have issues, everything stays blank - because I've forgotten to ensure that the new feature (a plugin) and its functionality is supported by the device (needs a installation).
First - I was very shoked - but in the same moment I thought - one moment - you've written an if statement, if the plugin is installed - so why the fuck should it broken everything?!
I looked instant to the code via git. This has to be a very bad joke from my boss I thought. But then I saw the fucking bug - I've written:
if(plugin) { // do shit }
but it has to be if(typeof plugin !== 'undefined')

I fucked up everything - due to this fucking mistake. This little piece of shit I've forgotten on one single line fucked up everything. I'm sorry for this mode of expression but I thought - no this can not be true - it must be a bad bad nightmare.
I've tested this so long, every scenario, everything. Worked till the night so it gets finished. No one, no one from my classmates would ever think of working so long. But I did it, because I love my job. I've implemented a check to ensure that the plugin is installed - but implemented it wrong - exactly this line which caused all the errors should prevent exactly this - what an irony of fate.

I've instantly called my boss and apologized for this mistake. The mistake can't be undone. My boss now has to go to all clients to fix it. This will be very expensive...

Oh my goodnes, I just cried.
I'm only working about half a year in this company - they trust me so much - but I'm not perfect - I make mistakes - like everyone else. This time my boss didn't looked over my code, didn't review it, because he trusted me completly - now this happens. I think this destroyed the trust :( I'm so sad.
He only said that we will talk on monday, how we can prevent such things in the feature..
Oh guys, I don't know - I've fucked up everything, we were so overhelmed that everything would work :(
Now I'm the looser who fucked up - because not testing enough - even when I tested it for days, even at home - worked at home - till the night - for free, for nothing - voluntary.

This is the thanks for that.
Thousand good things - but one mistake and you're the little asshole. You - a 19 year old guy, which works since 6 months in a company. A boss which trusts you and don't look over your code. One line which should prevent crashing, crashed everything.

I'm sorry that this rant is so long, I just need to talk to you guys because I'm so sad. Again. This has happend to frequently lately.

  • 16
    Mistakes happen. To everyone. Trust me I fucked up a lot of shit.
    But that is why blindly trusting doesn't work. You always need someone else to look over it. Even the most seasoned veterans do.
    Try to get yourself that someone so it isn't as bad next time.
    Also keep your head up. You are still very young and learning.
  • 24
    I once set a server on fire.
    No no, litteraly.
    I put my laptop on the server rack and the additional heat generated made blue smoke appear.
    Fire alarm goes off.
    The whole building had to be evacuated.
    Firetrucks came.
    Customer eyeballed my quite a bit when talking to the firemarshal and he explained where the smoke came from.


    No firetrucks had to come to correct your mistake huh?

    Just another one of those hard learned lessons in life.

    Like not putting a laptop on a server rack.

    Cheer up! It's not as bad as you think!
  • 11
    Wow, just 19, working VOLUNTEERILY, and you feel so bad..... You are kind hearted and young. Mistakes happen and it's fine to feel bad too. Just make sure that you don't repeat your mistakes. Time will heal you my friend. Go on and don't take too much stress and responsibility, its bad for your health. (Hell i cannot change a person). Just do your best. If you dont face failure, you will never be able to taste success.
  • 0
    @itch96 I'm not working volunteerly in general, i'm working there "normal", but I've worked volunteerly at home to get this done and tested it
  • 4
    I was 19 or 20 back then and I was tasked with coding a slideshow to work on mobile with swipe control (the old one only had clickable arrows)

    Guess who forgot to put the google analytics (plus wemf that's what the advertisers relly on in Switzerland) code there. Yep me. We found out about half a year later.

    Not all was lost as ads still got delivered and the adserver counted the traffic, but the traffic didn't show up in the normal traffic report.

    Bottomline: every body makes mistakes. There is a solution, the company won't go out of busines and you (hopefully) learned something.

    P.S. suggest your boss to get a "staging" system, one that behaves like the system at the clients, maybe even replicates their db as a slave or restor it from db dumps, to test the whole update proces.
  • 2
    Don't be that hard on yourself. From what you have said, your boss's reaction seems to be on the positive side. So, there's that.
    And you know how life is, test comes first, and the lesson follows. And those who doesn't fail, doesn't learn to be better.
    So, don't blame yourself, help in any way to make things right and help the company setup a good review process to stop things like this from happening.
  • 1
    @pascalwacker We have such a staging system and we also tested it this way - but we used our version which is newer than the client ones. This is the reason why WE didnt get any errors :/
  • 2
    Pain is the most effective teacher.
    It is small comfort right now, but I suspect that this incident will sharpen your attention to detail by orders of magnitude.
    I don't know your boss, so I do not know how this will effect your job, but it will not end your career.
    Keep your chin up. 👍
  • 4
    @GC97 Maybe you should make the staging environment match the client versions. Maybe suggest that extending the scope of the staging environment to cover more production scenarios
  • 2
    Don't be so hard on yourself. You are young, use this to your advantage and try to improve internal processes, at least code review, proper staging and deployment.

    For code reviews, do not skip them, never! Especially when this goes to your production. Mistakes can be made, always, regardless of the person doing the changes. As you've learned even a single line can cause problems.

    Then, improve your staging, make sure that you are testing for all versions your clinets have installed (and are still officially supported).

    As far as the deployment goes: do not rush it and be prepared for severity one reports. If possible, rollout in batches, with your most keen clients to ensure smooth transition.
  • 3
    Also, for the Monday meeting, I suggest not to go too deep. You ackowledge your mistake. Based on your rant, you really won't have to say much - your colleagues, and your boss above all, will see it in your eyes! Try to focus on making improvements, preventing such things could happen in the future.

    Finally, again, based on your rant, you are the kind of person I would love to have on my team! So don't worry about it too much!
  • 2
    AWS went down because of a typo.
    Gitlab was down because of backup failures.
    If all softwares were perfect, there would be no need for patches which are released from time to time.

    Just keep that on mind. Learn from it and move on. From what you said about your boss, I think he would understand.
  • 1
    Dude relax man! You're still in growing age all this stress is going to be very negative for you. Take a deep breath accept the mistake learn from it and move on. No one in this whole community is free from mistakes. We all make them. Hell I actually once lost all my code from seven days of coding
  • 1
    Everyone makes mistakes bro. Don't worry and Keep on grinding. Maybe a little break could help you to get refreshed.
    I know that most people don't care about the 99 good things you do but focus on a single mistake. but as you explained your boss sounds like a really good person so I think he still trusts you. I hope everything will be fine soon. ♥
  • 2
    Dude, cut out the 19 years old bullshit, I was working around that age too, being young is a very advantegious situation.

    For the mistakes, that is all alright.

    This frustruation is going to make you write better tests.

    What's gonna happen anyway? Lose the job? You will get another one. Ruin your reputation? Fuck that, you will fix it by starting your own shit and excelling at it.

    I am just saying you know? Take every fuck up as a challenge between you and yourself that you will get better and actually do the sacrifices necessary.

    Good luck bro.

    PS: Explain your mistakes to your boss as you were explaining them to a colleague developer as far as importance is concerned, if it is something that was out of your reach, let them know so, so that they understand that there is certain hiccups to using technology including installing dependencies etc...
  • 1
    One of my colleagues accidently deleted the one of our customers databases. With like 100000 documents in it.
    It took him one day to recover the data with the backups.
Add Comment