AboutAm Debeleper. Many good. Such code. Dev good. Manager Bad.
Joined devRant on 4/29/2021
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Manager: The way you built this doesn’t accommodate any of my future plans!
Dev: What future plans?
Manager: I have a bunch of different ideas, I haven’t decided which ones to go with yet or how it will all work but you’re making it so we’re running out of room in the UI. It’s too busy, you need to clean it up so we can add more stuff!
Most business apps end up being overcomplicated and convoluted because that’s what most businesses are:
Overcomplicated and convoluted.
Building an app to operate systems like that will always be an exercise in garbage in garbage out. Fix your process before saying wE nEeD An aPp To Do ThIs. You don’t need an app. You need a smack upside the head.11
HR: I’m sure you know what this meeting is about
Dev: My script that converts the name of our 3rd party IT provider in any email thread I reply to with “PooPoo Inc.”?
HR: No, that is a separate meeting
Dev: This is the first version of this new app, we’re still experimenting with how it’s going to work but initial headway is looking promising. It cost very little to make, came together very quickly and is already resulting in productivity increases for users. We’re just doing a bit of code cleanup now and we’ll make a move on the next iteration.
Corporate IT: This project is being completely mishandled! In order to successfully build an app you have to determine every single requirement beforehand! It takes millions upon millions of dollars due to the complex system of governance and approval that needs to exist. Massive numbers of stakeholders need to be involved and coordinated to even make so much as a login screen! I bet your project doesn’t even have a documented list of core values.
Dev: Has you ever successfully built an app using that methodology?
Corporate IT: 😡 That’s a loaded question. I went to school to study project management and have over 25 years of experience in the field. If you had the training and experience I do you would know that tech projects are naturally very volatile and there’s nothing you can do about that!
Senior Management: We are severely disappointed in the timeliness of the two apps you built this year. You had budgeted 3 months for one and it took 4 months and the other was budgeted to take 4 months and took 5 months. We understand that we doubled the requirements halfway through and but that doesn’t take away from our need for you to deliver on time. We provided you with two extra devs on the project! We know they were novices and you had to train them from the ground up during the project, that doesn’t matter. The extra resources should have helped you but your lack of leadership ability is what caused them to hold you back. We know our other team with a budget of 6 months took 2 years on their project and was still unsuccessful but that is a different scenario! That was a pre-built 3rd party ERP plugin, way more complicated and nuanced than simply building and deploying something from scratch. Yes we’re aware your projects were the only successful tech projects at the company this year, that’s just luck and coincidence. The next app we need you to build in 6 months, no questions asked. It needs to consolidate and tie together our 3 different ERPs. Everything that we need out of these products that they don’t do out of the box we need you to wire up. We will decide the exact requirements in a month or so, for now just get started. Yes your apps changed the way we do business and allowed us to complete projects smoother than ever before while saving millions of dollars in wasteful and archaic processes that is OLD NEWS. Stop bringing it up. The successes of yesterday are the status quo of today. Don’t expect any new resources either, you clearly can’t handle them. You will now be giving status updates to 3 different managers as a corrective action to your missed deadlines in order to ensure the timeliness of future deliverables.
HR: Everyone must fill out these 100% anonymous surveys about how you feel about our company, it’s leadership, and how likely you are to leave in the next 6 months etc. Please be 100% honest, since again it is 100% anonymous. Reminder! You must use the individual links we sent to you, do NOT use someone else’s link. Oh did we say it’s 100% anonymous?
www. surveygen .com/ companysurvey123 ?employeeName=boombodies &employeeId=6969
Manager: I NEVER SAID THAT!!
Dev: *Brings up email where he said exactly that*
Manager: I DON’T REMEMBER ASSIGNING YOU A TICKET TO LOOK THAT UP. GET BACK TO WORK!!
Holy fuck I did it. I convinced my non tech manager not to do code QA after he brought the whole system down approving things without testing them and getting devs to make changes that caused bugs. Don’t get me wrong he threatened to fire me twice during the conversation but I dunno…I think I’m just about ready for my second dev job anyway ¯\_(ツ)_/¯.10
Day 2 of my non tech manager reviewing PRs in order to “speed up QA” he’s taken to commenting on every PR with. “I don’t understand how this code works, we need to setup a meeting for you to explain it to me”. Amazing.7
Manager: We need to fix this QA backlog. I’m going to share the workload of doing QA.
Dev: Please don—
*Dev email notification getting spammed with approvals*
Dev: …Are you even pulling the code down to test it locally?
Manager: There’s no time for that! We have to get this PR backlog pushed through! I’m just looking at the code to see if it looks good and approving based on that.
*Later that day*
Manager: HEY NONE OF THE FEATURES ON STAGING MEET THE REQUIREMENTS AT ALL. THIS IS A BUGGY MESS, WHAT HAPPENED GUYS??
If I flag a bug on your PR don’t fucking do this:
if (bugOccurs()) handleBug()
Fix what is causing the bug, don’t bandaid it.
Manager: wElL yOu NeEd To ExPlAiN tO tHeM eXaCtLy HoW tO fIx It, hOw ArE tHeY sUpPoSeD tO kNoW?!
“Yeah but you’re not a *real* developer”
I wrote 80% of this code base. I do 80% of the tickets/storyboard points. I do all of the QA. My nose is to the grindstone every fucking day honing this craft and sweating my balls off like a blacksmith staring into the red hot kiln while the sores of previous mistakes scream bloody murder from the unrelenting exposure to heat. I saw this amazing industry of opportunity, freedom and self examination and wanted in no matter what it took. I glued myself to every pithy resource I could possibly get my hands on and crawled through the muck and filth of it all until I could keep myself warm with the smallest spark of my own making. I stoked that spark until it became a fire and stoked that fire until I could set entire forests ablaze. I listened to the ungrateful people keeping warm by my combustion saying it “wasn’t hot enough” or “would have been a nicer colour if they did it” or “could have warmed up just fine jogging on the spot”. I made painstaking alterations to my ignition and watched my undeserving benefactors gradually be silenced and begin to sit quietly by the heat. I jumped into that inferno daily, was reduced to ash daily and emerged reborn daily. But you are right! I didn’t get scammed out of $40k+ studying technology in an archaic institution from instructors who don’t give a shit and answering “D all of the above” for 4+ years straight therefor my opinion doesn’t mean shit. Push your bullshit to prod and watch the server come burning out of the cloud as the apocalyptic swarm of angry tickets come flooding in why don’t you? Bet they didn’t teach you that in school. You’ve never poked around inside an open source codebase in your life. They are just a mystery boxes of magic that unless someone holds your hands with finely crafted instructions containing a 50/50 picture to word ratio you throw a hissy fit. Every problem that comes up instead of working to solve it you reflexively point to the first person in the room while thinking with your pea brain how you can possibly scapegoat them into taking the fall for whatever it is that’s come up today you couldn’t possibly understand.
Not a real developer?
HR: Here at company A we have a great culture. It truly is the best place ever to work!
Dev: How many companies have you worked for?
HR: Besides babysitting as a teenager this is the only company I’ve ever worked for.
Dev: I thought so.3
Dev: Your PR only addresses a quarter of the ticket
Dev2: *limps a commit so that now 1/2 of the ticket is addressed and creates a new PR for a separate ticket*
Dev: Your original PR only addresses half of the ticket
Dev2: *limps a commit so that now 3/4 of the ticket is addressed and creates a new PR for ANOTHER new ticket*
Dev: Your original PR only addresses 3/4 of the ticket
Dev2: *limps a commit so that now all of the ticket is addressed but two new bugs are introduced and creates a new PR for ANOTHER new ticket*
Dev: Your original PR introduces 2 new bugs
Dev2: *limps a commit addressing one of the two new bugs and creates a new PR for ANOTHER new ticket*
Dev: Your original PR still has one bu—
Manager: WOW GOOD JOB DEV2 THAT’S 5 PRs TODAY AMAZING! Dev you need to pickup the pace, you only have 2 PRs so far today. And get these PRs from Dev2 QA’d fast. He’s a rockstar!
*The 4 other PRs turned out to be equally dogshit*
Manager: Hey hurry up with QA, you’re holding Dev2 back!
Corporate IT: YOU MUST COME INTO THE OFFICE. WE JUST RECEIVED AN URGENT NOTIFICATION FROM APPLE OF A SECURITY VULNERABILITY IN iOS DEVICES. YOU HAVE BEEN IDENTIFIED AS HAVING A MAC ASSET. COME INTO THE OFFICE IMMEDIATELY AND UPDATE IT.
Dev: I don’t use that mac, it sits in my office desk drawer unplugged. I’ll update it if I ever need it for anything. Which I won’t, we don’t do iOS dev anymore.
Corporate IT: NOOOOO!!! YOU MUST UPDATE IT NOW!!!
Dev: I’m not wasting time driving into the office this week. We have an important deadline we’re working on, I can’t afford to lose 2 hours to this. Plus it can’t be turned on right now, It’s been unplugged for 2 years.
Corporate IT: THAT WOULDN’T STOP A HACKER!!
Manager: *taps dev on shoulder* We need to do B
Dev: I know, you created a ticket for it yesterday
Manager: Yeah but it hasn’t been done yet. It needs to get done.
Dev: I’m currently working on A which is higher priority
Manager: Ok but B needs to be done too
Dev: I know, it’s next on my board
Manager: I’m just making sure you are aware of it
Dev: I am aware of it, it’s next on the board
Manager: Ok but make sure you do it after A
Dev: Yup it’s next up
Manager: Ok, don’t let anyone distract you
Manager: As you all know I called this meeting to discuss what we will do with all of the extra resources if we are done early. I was thinking a start a new ap—
Dev: We are not going to be done early. There are two weeks left and we are way behind schedule.
Manager: Don’t be so pessimistic! You never know when or how fast tickets will be completed.
Dev: Yes I do…I’m the one doing them3
Dev: Hey I need something from Team B
Manager: Ok I’ll get it from them now
Dev: Unfortunately they have the current time blocked off as uninterrupted coding time for the next two hours.
Manager: Yeah that means they’re not occupied by anybody else. It’s the best time to get a hold of them!
Dev: Ok issue fixed, you just need to log out and back in again on your end to receive the fix
User: It’s still not working
Dev: Did you log out and in again?
User: No why would I want to do that?
Dev: It’ll reset your locally saved login information which is causing the issue
User: I thought you said the issue was fixed?
Dev: On our end yes, we just need you to reset your end in order to receive the fixed version
User: Look I have been dealing with this issue for 6 months. Fixing bugs are your responsibility. I have too much to do, you have to get this fixed. *click*.
Dev: Yeah you submitted the bug ticket yesterday night though
Email from users manager later that day: <User> is saying you are refusing to fix this bug. This is unacceptable. Fix it or else I will escalate this. Also there are other bugs we noticed today too, fixing them is absolutely critical!
Dev: What other bugs did you notice?
*no response for 2 weeks and then:
User: Hey you can close this ticket, the issue seems to have resolved itself.
Manager: Why? That’s stupid.
Manager: Well I’ve never had that issue before! Besides that’s only a fraction of a cent off, that won’t even matter!
Dev: … literally the plot of office space but ok25
Manager: Hey how come you left so many comments on my PR?
Dev: Well you’ve just recently learned how to code so there’s going to be a lot of things to learn beyond what you’ve picked up in your online coding tutorials. Don’t worry it’s only minor things like you put everything all in one function, left outdated comments in the code, have if statements 4 levels deep, have a console.log after every line of code some of which log .env variables, skipped error handling, cast to “any” a bunch instead of using more specific types, didn’t write any tests and some unrelated tests are now failing due to a circular dependancy.
Manager: THAT IS SO DISRESPECTFUL!!APPROVE MY PR IMMEDIATELY. IT WASN’T EVEN EASY FOR ME TO CREATE THE PR, NOW I HAVE TO MAKE AN UPDATE!? YOU’RE THE DEV, YOU SHOULD FIX IT NOT ME!! NEVER COMMENT ON ANY OF MY PRS AGAIN.9
Manager: This dropdown is hard to use on mobile
Dev: I thought building this for mobile wasn’t in the scope?
Manager: I changed my mind. It’s a lot easier for me to test on mobile so just rework it so it works on mobile. But only for testing.
Dev: How about I make the dropdown a rotary dial instead?
Manager: Good idea!
Manager: We have a new equity survey from HR that is ABSOLUTELY MANDATORY. Anyone who doesn’t fill it out will be severely reprimanded for being against diversity in the workplace. We need this data in order to ensure we have the ABSOLUTELY EXACT ratio of EVERY minority so that we can show the people that we do not discriminate against ANYBODY for ANYTHING. One of the problems with hiring new people is that most people we want to hire turn out to be white and we are absolutely not allowed to hire any more white people because we are over the quota for white people. Now there’s a loophole to this, if that white person belongs to some sub-minority like they are muslim or gay or something like that it’s totally cool and we can show people we don’t discriminate on these things when making employment decisions!
Dev: That’s…not wh—
Mandatory Survey: Please select your sexual preferences and/or religion from the dropdown below.
Dev: jesus christ.18
Manager: IT and I have decided that you will not be doing any rewriting of the legacy code. We paid a lot of money for it and throwing it away would be impossible. Instead you will create a “config file” that will customize the legacy code behaviour to whatever spec we need. IT said this would be possible and would be a very simple way of operating everything going forward. That way no future code needs to be written or maintained, it’s just a matter of changing this “config file” to match our needs.
Dev: Nobody in IT codes though.
Manager: Yes but they work with config files all the time. If you need to be shown how they work just ask them.
Dev: I know how they work it ju—
Manager: Good!! So that should speed things up quite a bit. See this is why developers need managers.17
Manager: Why haven’t you shipped any code today? It’s almost lunch.
Dev: Stuck on a bug
Manager: I’ll help you
Dev: Please don—
Manager: Have you tried thinking outside the box?
Dev: …Dear god please end my existence
Manager: You could try stack overflow too, have you ever used that site before?
Dev: 😮 🔫
Manager: Also sometimes bugs are caused by npm modules so rule that out first
Dev: *On knees praying to Zues for forgiveness and/or conveiniently placed lightning strike*12
Manager: Why aren’t you working?
Dev: I am, I’m just not typing because I’m thinking an issue out.
Manager: Well what is taking so long? You haven’t written any code for like 15 minutes, you’ve just been doodling on your notepad.
Dev: I’m not “doodling”. I’m taking notes and trying to visualize the issue. It’s a complicated issue with application stat—
Manager: Well just simplify it then
Manager: Instead of making it a complicated issue just simplify it and then it won’t take you so long. You’re likely overthinking it, I never spend more than 30 seconds thinking about any issue before coming up with a solution. That’s what makes me so effective at my job is my ability to be lean like that.
Dev: …this issue is a bit harder than deciding what to have for lunch28
Manager: That last dev you hired is working out well. Where did you get him from?
Dev: *Looking at new hire’s resume which only contains a single bootcamp and nothing else*
Dev: He’s a rescue.11
User: We have been dealing with this bug for a month now! How come nobody has fixed it?
Dev: Who did notify about this issue?
User: You’re not listening we have been dealing with this for a MONTH!
Dev: When this issue first occurred did you tell anyone?
User: …. Ok I don’t remember but I know I said something to someone. Anyway it doesn’t matter, your job is IT so how come this isn’t fixed?
Dev: Did you have an email? Ticket number? Teams message? Any record of where this was dropped?
User: I think you’re missing the point. We haven’t been able to do out jobs for A MONTH. We’ve just been sitting around completely helpless. We’ve been trying to figure a system using paper and pencil to replace the electronic one but it’s too complicated. How come this wasn’t fixed the second it happened?
Dev: It’s hard to respond to an issue if it’s not brought to out attention.
User: Ok but we are too busy to create a ticket! We have a million things to do and we can’t do any of them because your app doesn’t work! We’ve been sitting here telling each other how terrible this system is AND IT HAS BEEN A MONTH.
Dev: …. Yeah I got that13
Dev: There’s a file in your PR with over 1000 lines of code, I think it should be broken apart into a couple smaller pieces to be a little more in line with the single responsibility principle
Muppet Dev: That file only has one responsibility! It can’t be broken apart!
Dev: How’s that?
Muppets: It’s single responsibility is managing that group of functionality