Joined devRant on 9/10/2018
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
Our company maneuvered themselves into a classic technical debt situation with a project of a second team of devs.
They then left, signing a maintenance contract and now barely work on the project for exorbitant amounts of money.
Of course management got the idea to hand off the project to the first team, i.e. our team, even though we are not experts in that field and not familiar with the tech stack.
So after some time they have asked for estimates on when we think we are able to implement new features for the project and whom we need to hire to do so. They estimates returned are in the magnitude of years, even with specialists and reality is currently hitting management hard.
Code is undocumented, there are several databases, several frontends and (sometimes) interfaces between these which are all heavily woven into one another. A build is impossible, because only the previous devs had a working setup on their machines, as over time packages were not updated and they just added local changes to keep going. A lot of shit does not conform to any practices, it's just, "ohh yeah, you have to go into that file and delete that line and then in that other file change that hardcoded credential". A core platform is end of life and can be broken completely by one of the many frameworks it uses. In short, all knowledge is stowed away in the head of those devs and the codebase is a technical-debt-ridden pile of garbage.
Frankly I am not even sure whom I am more mad at. Management has fucked up hard. They let people go until "they reached a critical mass" of crucial employees. Only they were at critical mass when they started making the jobs for team 2 unappealing and did not realize that - because how could they, they are not qualified to judge who is crucial.
However the dev team behaved also like shitbags. They managed the whole project for years now and they a) actively excluded other devs from their project even though it was required by management, b) left the codebase in a catastrophic state and mentioned, "well we were always stuffed with work, there was no time for maintenance and documentation".
Hey assholes. You were the managers on that project. Upper management has no qualification to understand technical debt. They kept asking for features and you kept saying yes and hastily slapped them into the codebase, instead of giving proper time estimates which account for code quality, tests, reviews and documentation.
In the end team #2 was treated badly, so I kinda get their side. But up until the management change, which is relatively recent, they had a fantastic management who absolutely had let them take the time to account for quality when delivering features - and yet the code base looks like a river of diarrhea.
Frankly, fuck those guys.
Our management and our PM remain great and the team is amazing. A couple of days a week we are now looking at this horrible mess of a codebase and try to decide of whom to hire in order to help make it any less broken. At least it seems management accepted this reality, because they now have hired personnel qualified to understand technical details and because we did a technical analysis to provide those details.
Let's see how this whole thing goes.1
Whoever is doing the whole integration of OneDrive and Outlook and Teams and whatever else is inbound in that trashpile - go hang yourselves you fuckers
I hereby officially revoke my rant on Paint.NET:
After some review I've gotta say, despite its shortcomings it is pretty good for what it is.
So yeah, gonna own that error in judgement.
(Eclipse still sucks though. No error there.)2
Everyone shitting on SO answers being mean (which sometimes they are), meanwhile:
Garbage like this is how you become a misanthrope.11
Goddamn, why is Android SDK setup such a stupendous pain in the ass?
"Wah wah, can't find JDK!"
Wtf are you talking about you stupid fuck, JDK is right there, all IDEs find it, environment vars are set, it is the right version and is used on this machine for a billion development purposes! Stop being a useless cunt!
And this is everytime. Had to setup up Android SDK four or five times by now on different machines and it has NEVER gone smoothly. There is always a plethora of different issues and you end up wasting all day going through fucking dependency hell!
Read a book on ergonomics, you colossal android fucks. Just because you got JetBrains behind your IDE and they actually know what they are doing, doesn't make your setup process any less of a braindead nightmare.
Eclipse is such horrendous garbage, it somehow even manages to run like shit on an SSD.
Literally all my software runs smooth as butter on the SSD, even VS ffs. No, not Eclipse. Still hangs up constantly, fails to respond, takes ages to do things.
Not exactly new, but just so it does not get forgotten:
Fuck that stupid piece of shit IDE and everything related to it.8
Don't understand what the hype about Elementary OS was. Used for ca. half a year, do not see any benefit.
If this is supposed to provide "usability" on a Linux kernel, then I am sorry, but in this regard it is a tremendous failure.
All tasks take long, there are all sorts of bugs, today I needed a multi-monitor setup for a presentation "real quick", dear lord was that a shitshow.
Nah, this thing is not for me.15
"SO culture is so mean, they downvote good questions for no reason!"
Meanwhile, most of the downvoted questions in my list:
- OP1: "Do my homework for me"
- OP2: "I am too lazy to google this"
- OP3: "Gimme code, here is a shitload of requirements"
- SO: "No."
- OP1/2/3/DevRant: "Oh mah gawd mah question was so gud, SO such toxic, very mean, much wow qq."
Mhhh. CMake scripting. Always fun. I can barely describe how enfuriating it is dealing with this. Literally shaking.3
JUST GO DIE ECLIPSE YOU FUCKING ABOMINATION I HATE YOU AND YOUR CHILDREN AND YOUR COW AND YOUR VAGUELY RELATED UNCLE WHO LIVES IN SIBERIA25
I often read articles describing developer epiphanies, where they realized, that it was not Eclipse at fault for a bad coding experience, but rather their lack of knowledge and lack of IDE optimization.
No. Just NO.
Eclipse is just horrendous garbage, nothing else. Here are some examples, where you can optimize Eclipse and your workflow all you like and still Eclipse demonstrates how bad of an IDE it is:
- There is a compilation error in the codebase. Eclipse knows this, as it marks the error. Yet in the Problems tab there is absolutely nothing. Not even after clean. Sometimes it logs errors in the problems tab, sometimes t doesn't. Why? Only the lord knows.
- Apart from the fact that navigating multiple Eclipse windows is plain laughable - why is it that to this day eclipse cannot properly manage windows on multi-desktop setups, e.g. via workspace settings? Example: Use 3 monitors, maximize Eclipse windows of one Eclipse instance on all three. Minimize. Then maximize. The windows are no longer maximized, but spread somehow over the monitors. After reboot it is even more laughable. Windows will be just randomly scrabled and stacked on top of each other. But the fact alone that you cannot navigate individual windows of one instance.. is this 2003?
- When you use a window with e.g. class code on a second monitor and your primary Eclipse window is on the first monitor, then some shortcuts won't trigger. E.g. attempting to select, then run a specific configuration via ALT+R, N, select via arrows, ALT+R won't work. Eclipse cannot deal with ALT+R, as it won't be able to focus the window, where the context menus are. One may think, this has to do with Eclipse requiring specific perspectives for specific shortcuts, as shortcuts are associated with perspectives - but no. Because the perspective for both windows is the same, namely Java. It is just that even though Shortcuts in Eclipse are perspective-bound, but they are also context-sensitive, meaning they require specific IDE inputs to work, regarldless of their perspective settings. Is that not provided, then the shortcut will do absolutely nothing and Eclipse won't tell you why.
- The fact alone that shortcut-workarounds are required to terminate launches, even though there is a button mapping this very functionality. Yes this is the only aspect in this list, where optimizing and adjusting the IDE solves the problem, because I can bind a shortcut for launch selection and then can reliably select ant trigger CTRL+F2. Despite that, how I need to first customize shortcuts and bind one that was not specified prior, just to achieve this most basic functionality - teminating a launch - is beyond me.
Eclipse is just overengineered and horrendous garbage. One could think it is being developed by people using Windows XP and a single 1024x768 desktop, as there is NO WAY these issues don't become apparent when regularily working with the IDE.9
OH MAH GAWD, FUCK ECLIPSE.
Just thank you so much Eclipse, for executing the entire build pipeline instead of running the last configuration.
Thank you so so much for considerately forcing me to clean upon every change to the codebase, also obliterating reliable hot code replace.
Special thanks for letting me clean once more, after the pipeline finished.
And thank you for the search bug, where all CTRL+H searches result in an error message, even though the search is being conducted.
Just go fucking die, you tremendous piece of garbage.7
In other news:
Today a team of a total of six developers helf a 45 minute meeting to decide upon the name of a class.
It was later made clear that the class would be renamed anyway later in production.6
My GOTOs are:
- Check if focus on teamwork is emphasized. Does the company state themselves? Spend a day with the team if possible, see how they work together.
- What tools do they use? Sometimes this will hint you towards whether or not you will encounter a good environment or a jumbled mess.
- Is there organized communication? I know, sometimes there are too many meetings, but that is better than too vew. How often does the team meet, even if just for 10mins? How does management communicate with the team? What ways are provided to give feedback? Are suggestions to improve practices welcome?
I left my last company and joined my current one, where these things work out the way they should. While I liked both projects with respect to development, my mental state has improved dramatically in the new environment. Stress is down, productivity is up. I love my job.
My productivity today:
- [11:05] Decided to get something done to be able to enjoy the evening even more (an important deadline draws near).
- [11:06] Ran out of coffee apparently. Well, that sucks.
- [11:25] Trouble with the environment on my machine at home.
- [14:00] Trouble continues, tried using tools to fix trouble, ran into trouble with said tools, ended up fixing trouble with tools before fixing trouble with environment with tools.
- [15:30] Fixed environment, finally ready to get something done.
- [16:30] Spent an hour browsing the web.
- [16:31] Decided this was enough work for a saturday.
Do you sometimes get into the mindset of considering the GitLab Contributors tab as some sort of scoreboard?
Utterly nonsensical of course, but I feel a youth full of videogames has somewhat trained me in that regard.1
Apparently this software got stuck somewhere back in the nineties. Got a fresh installation to make sure issues were not arising from outdated hardware - still connection errors, API errors, horrible, unresponsive and ugly UI, what a broken piece of ****.9
Last night my office desktop received the Redstone update. I hate the new ALT+TAB functionality so much, it's borderline infuriating.2