I recently stood up with this subreddit, and in the past few days I've been reading some of your stories and I wanted to share mine. Let me introduce myself, I'm a frontend developer (the one who make web pages) and a system's engeneering student. As the title says, this is the story about how two people managed to made all the developers quit. I will divide this in sections, in the hope of helping some of other fellow developers and non-developers who may be passing through this and aren't realizing how bad the situation can turn. Also, I will provide examples if you are not familiar with some of the concepts I'll use.
Working on minimum wage
I'm the person who thinks that we must start somewhere, taking into account that most of the companies want experienced people it is difficult to find a job that want to pay more than the minimum wage to a junior developer. I started earing a $272 salary, I'm not from the US so this is the minimum wage you can earn here (Colombia). This would be great for me, a student with no debts and working in a area of my career. But, they did not intend to raise my salary unless I worked for them for a year… and the raise would have been like $100. This almost felt like robbery, knowing now that junior devs makes $60,518/year (in average).
Hours per week
The problem here was the amount of hours I had to work for these people, 48h a week its just something that should be illegal. Going home, one saturday evening, tired and wanting to sleep just to wake up a sunday knowing the next day you must go again to work make you feel like you are actually a slave. Not happy with that, due to the fact that I was doing online classes at the university he made me replenish all the hours I loose during examns. So I had 4 examns in one week I would need to work for an entire sunday.
The quiet quitting
My boss was not a clown, he was the entire circus. This guy said that “We need to do more for the company, using our lunch hour to sleep and rest was selfish… and leaving at the end of the day is just putting more nails to the coffin of [name of the company]”. I can't tell you how much I laughed after that meeting. But there is more, one day this guy call me to his office and told me: “Hey, why don't you take the laptop home and advance some work from there this weekend? I could give you a ride so you don't feel in danger taking the bus”. I don't care to work after hours if at the end I'm going to get paid. But then HR comes to me and says that “He will take into account the hours you work and pay you what he considers is good“.
The software architecht
With this, I want to advice you to hold on your contract. Specifically on what are your role. If the contract says “Developer”, make them change it to your actual field, for example “Frontend developer”. Why? Because one day you may be working on something, and then they ask you to work on some other project that does not have to do with your actual field. I was working on a mobile app, developed in React Native, one day the software architecht, let's call him Dick, decided to just develop the app himself in Flutter because he would earn a bonus. Dick took the design of the app, used it as a toiler paper and then do what he thought was the best UI, spoiler: it was garbage. Dick made the boss throw our entire app to the recycle bin and he ordered me to start working with him because “he needed someone who helps him”.
For non-developers, imagine that I hire you as a librarian and then ask you to repair the whole electrical system. I had to learn an entire programming language in 3 days because “we were behind on the schedule”.
Dick was a piece of cake, the most wholesome man you could ask to be your SA. One day he just come to me and tell me to “fix something easy on the app”. The man just lend me file with more than 5K lines of code. For non-developers, this is like instead of stacking 5K boxes in groups of 5 so you can move them more easily, you stack all of them in one giant tower, making it imposible to handle without making a mess.
His app was slow, didn't work most of the time and also used deprecated libraries (It's like giving a lecture with debunked papers). But Dick always found a way to brag on his work.
One day I could not stand it anymore, so me, a Junior dev with no more than a month and a half working on the company, told him: “You are not a good developer, nor a good SA. Your code it's shit, because you are just full of shit”. We almost start hitting each other.
The next day we managed to get his app and use it. He was begging us to stop, but we continued to use that garbage just to laught. Buttons weren't working as inteded (you could not tell when you pressed them either), the camera did not open on most of the phones and you could not log into your account after closing the app. Yes, you needed to re-install the app again to do so, one year later I still don't know how he did that.
The inevitable ending
It was only a month after I started working there when the boat started sinking. Delayed payments, a single developer working in 4 projects and half of the support area gone. One of the seniors managed to get an job in another company, the boss talked shit about him, “How someone can just leave when there is some much opportunites here?”. A week later, another one left. A week later I left and so on until the all the developers left.
This guy was losing 1 developer per week and didn't realize the problem there. Dick? I don't know where he is right now, the last thing I knew about him was that he was asking for a job in some facebook posts, and that he did the same thing he did to us in the other company so he had to quit.
Thanks for reading my story. I know that this subreddit can kill your hopes on finding a good job, but there is still hope. Now I'm working fully remote and with flexible hours, earging more for doing less. So, even if you start in the 4th circle of hell you can always reach to a point in where you are happy and doing something you love.
Have a great day!
PS: I may post again doing some advices for people starting working as developers.