77
xprnio
6y

rant? rant!

I work for a company that develops a variety of software solutions for companies of varying sizes. The company has three people in charge, and small teams that each worked on a certain project. 9 months ago I joined the company as a junior developer, and coincidentally, we also started working on our biggest project so far - an online platform for buying groceries from a variety of vendors/merchants and having them be delivered to your doorstep on the same day (hadn't been done to this scale in Estonia yet). One of the people from management joined the team working on that. The company that ordered this is coincidentally being run by one of the richest men in Estonia. The platform included both the actual website for customers to use, a logistics system for routing between the merchants, the warehouse, and the customers, as well as a bunch of mobile apps for the couriers, warehouse personnel, etc. It was built on Node.js with Hapi (for the backend stuff), Angular 2 (for all the UIs, including the apps which are run through a WebView wrapper), and PostgreSQL (for the database). The deadline for the MVP we (read: the management) gave them, but we finished it in about 7 months in a team of five.

The hours were insane, from 10 AM to 10 PM if lucky. When we weren't lucky (which was half of the time, if not more), we had to work until anywhere from 12 PM to 3 AM, sometimes even the whole night. The weekends weren't any better, for the majority of the time we had to put in even more extra hours on the weekends. Luckily, we were paid extra for them, but the salary was no way near fair (the majority of the team earned about 1000€/mo after taxes in a country where junior developers usually earn 1500€/month). Also because of the short deadline given to us, we skipped all the important parts like writing tests, doing CI, code reviews, feature branching/PR's, etc. I tried pushing the team and the management to at least write tests and make feature branches/PRs, but the management always told me that there wasn't enough time to coordinate and work on all that, that we'll do that after launching the MVP, etc. We basically just wrote features, tested them by hand, and pushed into the "test" branch which would later get tested and merged into master.

During development, one of the other juniors managed to write the worst kind of Angular code you could imagine - enormous amounts of duplication, no reusable components (every view contained the everything used in the view, so popups and other parts that should logically be reusable were in every view separately), fuck - even the HTML was broken (the most memorable for me were the "table > tr > div > td" ones, but that's barely scratching the surface). He left a few months into the project, and we had to build upon his shit, ever so slightly trying to fix the shit he produced. This could have definitely been avoided if we did code reviews.

A month after launching the MVP for internal testing, the guy working on the logistics system had burned out and left the company (he's earning more than twice the salary he got here, happy for him, he is a great coder and an even better team player). This could have been avoided if this project had been planned better, but I can't really blame them, since it was the first project they had at this scale (even though they had given longer deadlines for projects way smaller than this).

After we finished and launched the MVP, the second guy from management joined, because he saw we needed extra help. Again I tried to push us into investing the time to write tests for the system (because at this point we had created an unstable cluster fuck of a codebase), but again to no avail. The same "no time, just test it manually for now, we'll do that later when we have time" bullshit from management.

Now, a few weeks ago, the third guy from management joined. He saw what a disaster our whole project was. Him joining was simply a blessing from the skies. He started off by writing migrations using sequelize. I talked to him about writing tests and everything, and he actually listened. He told me that I'm gonna be the one writing them, and also talked to the rest of management about it. I was overjoyed. I could actually hear the bitterness in the voices of the rest of management when they told me how to write the tests, what to test, etc. But I didn't give a flying rat's ass, I was hapi.

I was told to start off by writing a smoke test for the whole client flow using Puppeteer. I got even happier, since I was finally able to again learn new things (this stopped at about 4 or 5 months into the project).

I'm using jest as the framework and started writing the tests in TypeScript. Later I found a library called jest-extended, but it didn't have type defs, so I decided to write them and, for the first time in my life, contribute to the open source community.

Comments
  • 22
    For some reason I couldn't post the whole thing, even though I had 10 characters left. What I wanted to say was that it felt good sharing this, and cheers for reading it all the way through if you did. Cheers!
  • 11
    I must say only the hardcore ranters get's this far. 😎

    The rant was quite an emotional rollercoster.

    First chapter:
    — It's still kind of okay still if they get paid really, really well.

    Second chapter:
    — Okay what the actual fuck.

    Middle chapters:
    — Worse, worse, how low can a man get.

    Third last chapter:
    — Finally light! There's still hope.

    Final chapter:
    — Testing, TypeScript, open-source contributions. You go man!

    Fantastic read though. Cudos to you.
    But look at that parabola. 😱
  • 2
    Glad for you. Keep it up. Code your best.
  • 6
    @joas

    Middle chapters:

    — Worse, worse, how low can a man get.

    Let's just say that if it wasn't for some certain substances, I would have burned out and/or given up and quit already. Something green helped me chill and sleep after work, something trippy helped me enhance my creative part and restart my logical part, and something crystalline to swipe off all the work-related stress at a rave.

    Also, I always tried to have hope that things will get better. The reason I don't want to quit is because everybody here is amazing as people, even the management. We've had a lot of fun, and so far it's been the best place I've worked at environment-wise. That's why I've still stuck around, I don't want to leave and leave the untested, unstable, undocumented codebase the rest of the team, who have already put in insane work hours and dedication to this garbage project. My father always told me not to give up, and to work hard every single day until you either make it, or grow too old.
  • 4
    @xprnio That, and also my girlfriend who's always been there for me, and supported me emotionally every step of the way. Without all that, I would have been long gone, either from this place or from this world.

    </depressive-messages>
  • 1
    Seems like my last company.
  • 0
    @rantsauce I bet that's the reason they're your last company, and not your current one :D
  • 1
  • 0
    @xprnio
    The depressing messages have been the topic of this morning.
    https://devrant.com/rants/1332797/...

    But you do sound just like, exactly like me. Life pulls you down but your mind is stronger.

    Wasn't the purpose to be more depressing or creepy, but there you go.
  • 2
    @joas I'll definitely give it a read when I get to school in half an hour
  • 2
    There should be a medium like system where we can give multiple upvotes to a great post like this.

    Loved the rant twist in the end
  • 1
    Proper rant is proper :)

    Great read!
  • 1
    I wanted to quit my job just by reading this... gosh how did you managed that?
  • 2
    Aww... I was expecting a blow up against the dumb managers.... And maybe the while Dev team revolts by quitting for better jobs
  • 3
    @namenlossss Man, I wish. Both me and the cool-management-guy know that it will have to be done, but we're starting out with baby steps. But I do see a light at the end of this really long tunnel.

    @shozukan I'm a 19 year old, and this was my second actual job in the tech field. My first one was even worse in my opinion. They basically hired me as a junior Node.js developer, paid me 600€/mo, but a month or two into the job, they took me off of development and instead put me on system administration and tech support. I hated it, so I quit.

    @billgates It probably won't come much as a surprise that most of the non-management people working on the project had considered leaving quite a few times, including me. Mainly what kept me from quitting was that I had nothing to fall back to. I'm 19, technically a junior, even though I see myself as maybe mid-tier. I moved out of my parent's place a while ago, and I do not want to go back there, so leaving wasn't really an option for me.
  • 3
    Also, I did not expect this rant to get the amount of traction that it did. Thanks, everybody. I guess the way to win on devRant is simply to rant. Makes sense, some don't get it. Anyways, thanks again for the upvotes, now I can get myself a sticker I think :D
  • 0
    var postType = ~rant & story

    Not a rant, but a cool story. A rant is when you are frustrated.
  • 1
    @filthyranter somewhere along the story i was frustrated though
  • 2
    @filthyranter he doesn't know how to write down his frustrations. His story has so many rant-worthy opportunities. I was saying "fuck" "fuck" "fuck" since second para.

    Maybe some rant specialist should give a How to Rant 101?
Add Comment