Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "wrong repository"
You know what? I'm gonna rant about it because it's 2AM, I can't sleep from anger, and the pain from the workout wasn't enough to keep my head straight. I don't care if you read this. I just need to let it out.
You're a fucking dick. You have the biggest ego I've ever seen and what you did today had me holding back tears from rage and trying hard not to punch you in the neck. I don't see why that sort of shit is necessary when working with somebody.
Your team "borrowed" me. That wasn't my project, the client requested me to be there. Your first reaction when you thought the task was just a small change is "I don't think you can do it." It turns out, it was bigger than that, so why don't you volunteer doing it now? It turns out, you only worked on small tasks.
It's your project, you've been there for years. I was instructed to ask you how to set it up because you're supposed to know where things are. It's not like I'm asking you anything that can be resolved through logic or Google. All my questions are project-specific - which repository, how are you testing this, how can I set this up for this version you're using and the clusterfuck of microservices dumped into one place with 12 YAML files, etc. If you had a README file, I'll gladly read it. To be fair, you do but it's fucking empty.
I tried to set it up directly in cloud shell (Linux). I get errors about packages that aren't there, I resolve them one by one. Then finally, I'm stuck on the SDK. Your project uses an old version (when the new one has been around for 10 years) and you're setting a bunch of parameters from different configuration files that isn't part of the standard deploy so I ask you about it and your response is:
"What shell? The one on the internet? SDK? You don't need an SDK! I hate to bust your ego but you don't need an SDK. I don't know why you're doing that. If you just ran it on your local machine, it would work without additional setup."
Wow. Amazing response to a question. As if I did some hacky stuff and your assumption is I'm making things more complicated. It's almost like you didn't overreact. So I stayed calm and said, "Okay, I'll install your IDE on Windows and run it there." A few minutes later, same SDK error. Oh, I thought this is supposed to work locally without doing anything? It turns out, you made a lot of hacky dacky setup on your workstation and you forgot about it but hey, I have the huge ego. What do I know? My head is so heavy, I can barely see.
Realizing how wrong you were with your previous reaction, you attempted to initiate smalltalk. "So you use Linux in your previous project? Amazing." Fuck you, man. Fuck you and your dog smile. I'll keep it professional but I'll be asking the developers in the client side moving forward. You wasted so much time of my life and irritated the veins in my temples.
Finally, you say "Install the SDK" and in an attempt to shake your memory, I say "So you need an SDK" but of course, you have to look smart and say "Of course you need it, that's the SDK!"
When it started working, it turns out, you can only run the unit tests and you suggested I develop all of these with just unit tests. 30 minutes before the shift ends, you admit that you never got it to work. Wow, what a waste of time. Ego, huh?
Your boss, the client, your fellow developers interviewed me and I passed all of them (technical exams, live coding, theoretical bullshit, etc.) including the exam YOU created. My first week in the office, you didn't talk to me even when the manager asked you to. The first time you talked to me, all you did was brag about how you taught everyone in the project, how you're the only senior there, talked trash about the managers, said everyone else is too lazy to learn by themselves, and threw it to my face that I wouldn't have gotten the job if you interviewed me. I've been there for like what? One week? I don't even have access to any of your shit. I wasn't even in the same project as you are.
I gave you the benefit of the doubt, maybe that's just how you talk, maybe I can learn something from you. I get it, man. The people around you are "lazy" and "stupid" and you taught all of them. Your ego must have inflated from all those people completely dependent on you so you assumed that everyone else is the same.
I've taught people myself but I've never treated anyone like that. I don't walk around the halls like they owe me their lives. I don't blow up on them and then humiliate myself because it turns out I'm terribly wrong.
I don't know what to make of this. It's either you're underestimating me or you've seen my previous projects and assumed I have a huge ego that needs to be broken down. I asked nicely but wow, what the fuck kind of reaction is that? I guess you busted your own ego.
Damn, fuck you. Three months of this shit and I lost my patience.11
I am extremely particular about writing good READMEs in my repositories. I make sure that it has everything from prerequisites to run the code and tests on a new machine to how to actually run it (and the tests) and everything in between.
Despite all that I was asked questions that should have been avoided if you had seen the README.
One of these times was by a junior DevOps asking me about an error which was clearly due to him running the code without a virtual environment. Pings me with the entire stacktrace, I go to his desk and tell him to install the environment, which he does. 3 minutes later, another error message.
He was running the wrong script. I go to his desk again. Open the repository. Show him the README. Show him the section titled "To run the pipeline"!
There's a reason they're called README. You're supposed to READ them! 😑5
what the FUCK!!! What's wrong with your heads people!?!? If you write code, write it in application source. NOT IN THE FUCKING DATABASE!!!
Database is a REPOSITORY for entities -- NOT a place to be tangled with BUSINESS LOGICS!
Raise_application_error(-20201, 'Payment already confirmed'); my ass!5
The fuck is wrong with some people?
There’s a go prompt library I use for my project, and it has support for multi-select prompt. Basically you press space key to (de)select option, it also shows little help text above - which keys to use for control. So some moron made a PR to change key in that help text from space to enter, just because for some reason his terminal interpreted enter as space, and vice versa.
To make things worse, owner of the repository actually merged that PR, so help docs are broken for everyone who upgraded library and me as well, wasted hour trying to figure out how to select damn option in prompt...4
Sorry, long since my last post...
I have quit my job recently at DERP & CO.. The level of anxiety was already somewhat of medical severity.
For months I had been in a project that not only did not progress, but that it was getting worst day by day.
A bit of Context
November: "Dev, junior anon needs you to help him on the SHIT project because they are running out of time, it is mainly doing unit tests."
Well, the code was a mess, there was a LOT of copy paste and it was all bad quality (we talk about methods with complexities between 80 and 120 according to SONAR QUBE).
Dev: "Anon, you know this is wrong, right?"
Anon: "Why? it works"
Dev: after long explanation.
Anon: "Oh well, yes, from now on I will take it into account." And he did it / try his best.
Dev does the unit tests and do extra work outside of the reach of the sprint (y than i mean work after hours, classic) and alerts the boss of the mess.
December: After a project of approximately 6 or 8 months of development, the boss discovers that the junior anon have been doing everything wrong and/or with poor quality (indicating that throughout the whole development the quality of the code was NEVER checked nor the functionality).
Boss: "This is a shit. Dev, you have to correct all the errors and warnings marked on sonar", which are around 1200 between smelling code, high risk errors, etc.
Dev fixes something like 900 bugs... lots of hours...
Boss: "This still is all wrong, we have to redo it. We will correct the errors leaving something stable and we will make a new repository with everything programmed as it should be, with quality and all"
- 900 corrections later, now are irrelevant -
Boss: "Dev, you will start to redo it, anon is out on other project. First you must leave the existing one working properly"
Dev: "ok ..."
January: How can I correct the mess if the client asks for more things. I am just fixing the mess, doing new functionalities, and when I have free time (outside the work) I try to advance the new repository, poorly I must say because burntout.
Boss: "Everything should be arranged at the end of January, so that you can redo everything well in February."
I can't handle everything, it starts to fall further behind. Junior Anon quits the job.
February: Big Bad Bugs in the code appear and practically monopolize the month (the code is very coupled with itself and touching in one place sometimes meant breaking other stuff).
Boss: "It can't be, you've been with this since January and you haven't even started correcting this mess in the new repo"
Dev: "It is that between the new things that are requested and the bugs I cannot put myself with that"
Boss: "Do not worry, you will be helped by random dev if you needed. SPOILER ALERT: random dev is allways bussy. Not made up bussy, He had a lot of work by itself, but it can't help me the way I need it.
High anxiety levels, using free time to try to reduce the work left and gradually losing the taste for develop.
March: So far, not only do they add new things day and day, but now they want to modify things that were already "ok", add new ones and refactor everything in a new repo. I just did not see an end of this nonsense.
Dev breaks, the doctor says it's anxiety, so I just know what I have to do.
Dev: "I quit my job"
Cool Manager: "Damn, why?"
Cool Manager: "Do you want to try if I can change you to other project or anotjer scope on the same project?"
Dev: "Thanks, but no Thanks. I need to stop for a while".
End. sry for long sad post and maybe poor use of English (?) Not my native language.11
JuniorDev ignores every advice, writes bad code and complains about other people not working because he does not see their result because he looks at the wrong places.
Okay, so I am really fed up right now.
We have this Junior Dev, who is now with us for circa 8 months, so ca. a year less than me. Our first job for both of us.
He is mostly doing stuff nobody in the team cares about because he is doing his own projects.
But now there's a project where we need to work with him. He got a small part and did implement that. Then parts of the main project got changed and he included stuff which was not there anymore. It was like this for weeks until someone needed to tell him to fix it.
His code is a huge mess (confirmed by senior dev and all the other people working at the project).
Another colleague and me mostly did (mostly) pair programming the past 1-2 weeks because we were fixing and improving (adding functionality) libraries which we are going to use in the project. Furthermore we discussed the overall structure and each of us built some proof-of-concept applications to check if some techniques would work like we planned it.
So in short: We did a lot of preparation to have the project cleaner and faster done in the next few weeks/months and to have our code base updated for the future. Plus there were a few things about technical problems which we need to solve which was already done in that time.
Side note: All of this was done not in the repository of the main project but of side projects, test projects and libraries.
Now it seems that this idiot complained at another coworker (in our team but another project) that we were sitting there for 2 weeks, just talking and that we made no progress in the project as we did not really commit much to the repository.
Side note: My colleague and me are talking in another language when working together and nobody else joins, as we have the same mother tongue, but we switch to the team language as soon as somebody joins, so that other colleague did not even know what we were talking about the whole day.
So, we are nearly the same level experience wise (the other colleague I work with has just one year more professional experience than me) and his work is confirmed to be a mess, ugly and totally bad structured, also not documented. Whereas our code is, at least most of it, there is always space for improvement, clean, readable and re-useable (confirmed by senior and other team members as well).
And this idiot who could implement his (far smaller part) so fast because he does not care about structure or any style convention, pattern or anything complains about us not doing our work.
I just hope, that after this project, I don't have to work with him again soon.
He is also one of those people who think that they know everything because he studied computer science (as everybody in the team, by the way). So he listens to nothing anybody explains to him, not even the senior. You have to explain everything multiple times (which is fine in general) and at some points he just says that he understood, although you can clearly see that he didn't really understand but just wants to go on coding his stuff.
So you explain him stuff and also explain why something does not work or is not a good thing, he just says "yes, okay", changes something completely different and moves on like he used to.
How do you cope with something like this?6
lead dev: hey, I just committed but can't push
me: you need to add a remote repository, you don't have any yet
lead dev: what you mean by remote? 😕😕😕
me: explain what "push" does.
lead dev: ( with didn't get it expression ) hum...
me: (I think I'm in the wrong place) 😐😐😐😐
I have a unreasonably large amount of commits just for these files in the repository.
Is there something wrong with me?5
So, it's been a while since I've been working on my current project and I've never had the "luck" to touch the legacy project wrote in PHP, until this week when I got my first issue.
And damn, this goddamn issue. It was a bug, a very strange bug, that only happens in production and that nobody has any idea what was happening, so yeah, I didn't have anyone to ask and I got less time than usual ( because Thanksgiving ).
And thus, I have no starting point, no previous knowledge on PHP and less time! I expected a very fun week 😀 and it was beyond my expectations.
First I tried to understand what might be causing the issue, but there wasn't any real clue to star with, so no choice, time to read the flow on the code and see what are they're doing and using ( 1k line files, yay, legacy ). Luckily I got some clues, we're using a cookie and a php session variable for the session, ok, let's star with the session variable. Where it's that been initialize ? Well, spoiler alert, I shouldn't start with that, because my search end up in the login method of the API that set a that variable and for some reason in the front end app it was always false and that lead me to think that some of the new backend functions were failing, but after checking the logs I got no luck.
Ok, maybe the cookie it's the issue, I should try open the previous website on the brow...redirect to new project login, What? Why ? I ask around and it's a new feature push on Monday, ok I got Chrome Dev tools I can see which value of the cookie it's been set and THERE IT WAS it has a wrong domain! After 2 days ( I resume a lot of my pain ) I got what I've been looking for, so now I should be able to fix the bug. Then where is the cookie initialized ? In the first file the server hits whenever you tried to enter any page of the app, ok, I found the method, but it's using a function that process the domain and sets it correctly? wtf ? Then how in heaven do I get the incorrect domain ? Hello? Ok, relax, you still have one more day to fix this, let's take it easy.
Then, at the end of the Wednesday, nope I still have no clue how this is happening. I talked with the Devops guy and he explain me how this redirection happens and with what it depends on, I followed the PHP code through and nothing, everything should works fine, sigh. Ok I still have 2 days, because I'm not from US and I'm not in US, so I still have time, but the Sprint is messed up already, so whatever I'm gonna had done this bug anyhow.
Thursday ! I got sick, yay, what else could happen this week. Somehow I managed to work a little and star thinking in what external issue could affect the processing, maybe the redirection was bringing a wrong direction, let's talk with the Devops guy again, and he answer me that the redirection it was being made by PHP code, IN A FILE THAT DOESN'T EXIST IN THE REPOSITORY, amazing, it's just amazing. Then he explained me why this file might be missing and how it's the deployment of this app ( btw the Devops guy it's really cool and I will invite him a beer ) . After that I checked the file and I see a random session_star in the first line of the code, without any configuration, eureka ! There was the cause and I only need to ask someone If that line it's necessary anymore, but oh they're on holiday, damn, well I'll wait till Monday to ask them. But once and for all that bug was done for ! 🎉
What do I learn ? PHP and that I don't want any more tickets of PHP 😆.
Spent nearly 2 hours why the module/plugin on the system was not working. Delete the plugin. Get it from git. Nope. Restart all services, restart server. Still the same. No errors, nothing.
Realized that I had cloned the wrong git repository.
Does anyone else get frustrated when your co-worker goes behind you and changes the name of a particular variable? Changing the word "repo" to "repository" does not clarify a fucking thing! You're not going to confuse it with something else. I've never once seen the word and thought "Damn, that guy meant reposition and I just fucked everything up." It would be one thing if our lead Dev told me to not use the word, but he could not care less.
Am I in the wrong?1
Still as a scholar who has had his intership I decided that I was finally confident enough in my ability to apply for a small part-time programming job. I had an internship at a cool exhausting place with tons of expertise and I've proven myselve over there. So now I wanted a job on the side. Nothing special, just something that would make a little money with programming instead of washing dishes at the restaurant.
So I started at this small internet based startup (2 or 3 progammers) as a backend-oriented programmer. The working hours were amazingly compatible with my school schedule.
The lead dev also sounded like a smart guy. He had worked as a backend guy for years and had code running on verry critical public infrastructure that if it were to fail we'd be evacuated from our homes.
As a first asignment I got an isolated task to make an importer for some kind of file format that needed integration. So I asked for access to the code. I didn't get it since they were going to re-do the entire backend based on the code I wrote. I just needed to parse the file in a usable object structure. So I found out that the file format was horrible and made a quite nice set of objects that were nice. At the end of the first week or so I asked if I could get access to the code again, so I could integrate it. Answer was no. The lead dev would do that. I could however get access to my private repository.
Next week a new intern was taken to build a multiplatform responsive app. Only downside was that all the stuff he had ever done was php based websites. It wasn't going anywhere anytime soon, but I figured that that was where internships were for. So I ended up helping him a lot and taught him some concepts of OOP and S.O.L.I.D. and the occasional 30 minute rants of IndexOutOfRangeException, ArgumentException and such.
So one day he asked me how to parse a json string and retrieve a specific field out of it.
I gave him something like the following to start with:
if(!JObject.TryParse(jsonString, out json))
if(!json.tryget("foo", out value).../// code continues
but then the main dev stepped in and proposed the following since it wouldn't crash on an API change:
dynamic json = new JObject(jsonString);
string value = json.myJsonValue;
After me trying to explain to him that this was a bad choise for about 15 minutes because of all kinds of reasons I just gave up. I was verry mad that this young boy was forced to use bad programming pracises while he was clearly still learning. I know I shouldn't pick up certain practises. But that boy didn't.
Almost everytime the main dev was at the office I had such a mindboggling experience.
After that I got a new assignment.
I had to write another xml file format parser.
Of course I couldn't have any access to our current code because... it was unnecesary. We were going to use my code as a total replacement for the backend again.
And for some reason classes generated from XSD weren't clear enough so after carefull research I literally wrapped xsd generated code in equivalent classes.
At that moment, I realized I made some code that was totally useless since it wasn't compatible with any form of their API or any of the other backend code. (I haven't seen their API. I didn't have access to the source.) And since I could've just pushed them generated XSD's that would've produced thesame datastructure I felt like I was a cheat. I also didn't like that I wasn't allowed to install even the most basic tooling. (git client or, Ide refactoring plugins, spelling checker etc...)
Now I was also told that I couldn't discuss issues with the new guy anymore since it was a waste of my valuable time, and they were afraid that I taught him wrong concepts.
This was the time that my first paycheck came in so I quitted my job.
I haven't seen any of the features that I've worked on. :)