Skillsjs, java, intellij, distributed computing, software architecture
Joined devRant on 3/16/2017
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
Well to be fair...
I studied after I already worked as a software dev for a few years, so I already knew most of the stuff.
Most of the time I just pointed out mistakes of the profs.
I still completed it, but I've never used the degree at all. Not even for my recent interview. I did not even put it on my CV. And I still landed the job.
I think that practical experience is way more valuable than having a CS degree. (Apart from CS research/academic positions)6
My reaction after analysing the code responsible for the latest outage...
The week started great *sigh*
Sometimes I think our infrastructur team is chaos engineering.
I mean it is literally chaos engineering when VCS is down 3 days a week.
Fuck you azure and your goddamn swagger support. If you say that you support OAS than at least support the specification.
Thank you, GIT. Thank you. Your reflog saved work of months after someone deleted the wrong branch.1
That moment a friend sees an opened terminal on your pc and you realize you are now branded "tech-support" forever *sigh*5
It's really fascinating how managers can act surprised over a critical prod issue especially after the whole dev department warned them repeatedly.3
Sometimes I look at my old code and just keep asking myself...
Were I drunk when writing it .. or am I too sober too understand it...
"Just try it on production"
- a coworker DBA shortly before he desperately had to figure out how to restore to the latest backup.
I literally just answered an issue by copying the lmgtfy.com link.
The reporter is a fellow programmer. Shouldn't that at least require some sort of knowledge about how to use Google?
That moment you see a new "blocker" issue in the bugtracker with the content "this is not a defect but a question".
I'm looking through our SLAs if some clause forbids killing our users.
May I host hunger games with these users as participants? Hmmm...
Everytime I'm digging into some random legacy code where no one knows its original intention I'm seeing "Software Archeologist" as a well-paid job sooner or later...
Fucking undocumented legacy code...1
Managers interrupting you to complain that X takes too much time instead of letting you work on X to finish it in time.
One of our projects migrated their file-repository to another one during a major release.
Instead of giving this task to an experienced programmer, they gave it to the head of the respective dev department due to the usual release panic.
Soo.... He wrote the migration tool. It was executed during the release. Everything seemed fine so far.
A few days later. Someone from the above project came to my team due to some "strange behaviour on the production database".
They reported that they couldn't download some of the user's documents due to unknown reasons.
After quickly analyzing the current state of the new file-repository, we concluded that the affected documents did not exist in the new repository.
Then we took a look at the so called migration tool...
Well.. After nearly 30 min. we knew the root cause for that.
They only migrated the first 4 levels of the folder structure. Due to the assumption that "we don't use deeper nesting". (Facepalm)
As the head of their department wrote it, no one seems to questioned it either. Nor did they made a code review and ended up with a tool with hard coded urls to the production db, no version control, no build tool, no ci, nothing. Breaking nearly every possible company standard.
However.. That's not it. When analyzing their migration tool we noticed another even more dangerous thing.
They mixed up the id generation of the migrated documents resulting in a random assignment between customers and documents. Which is quite bad as this contains sensitive information. E.g. passports
They offered us quite a nice amount of money to fix this until EOB. We declinded as it was simply not possible in that time, but agreed to support them with the new tool.
After some time I heard that they migrated production again. And they fucked it up again. They never talked to us after we offered them support...
The third and final migration was written by us. Not only migrated it correctly. It was also way faster. By factor 20.
In the end we haven't gained anything from this rushed project as the penalties were piling up due to this fucked up migration.
After all this time I'm not sure who is to blame. In my opinion, partly all of them.
Head of department who can't and shouldn't code.
Seniors who didn't review the code and didn't ask for help.
Release mgmt who put way too much pressure on the devs.
Boss: you must fix this bug asap
Dev: I need more time for a proper fix so I will just hack a workaround
Boss: yeah, whatever. You can find a proper fix after the release.
... this happend several years ago and the workaround is still in place...8
Recently someone from QA came to me yelling "Why did you push to master? You have a feature branch for these changes..."
I replied "Indeed. Coincidently it's called 'master' "2
Hotswapping/replacing classes on the production server
We call it "russian deployment" .. No offense
Starting up the new Java project I'm assigned to.
Just to see that this project is made of pure black magic and tears of forsaken devs.
Crashing the jvm with segfaults on a regular basis is just one part of the magic.
Now I understand why no one volunteered for this project...2
That moment when the app is finally deployed onto production and soon afterwards you hear some dev calling "guys, we've got a deadlock".
There are many ways of development...
Test Driven Development.
Behaviour Driven Development.
Acceptance-Test Driven Development.
YOLO Driven Development.
But nothing in this world is so frustrating as...
Buzzword Driven Development.
As soon as your managers spot a new technology, it needs to be integrated...
For fucks sake... New is not always better.8
That moment when the you actually think that this huge refactoring isn't worth it, but you do it anyway so you can live with yourself...
Code quality is love. Code quality is life.1
Coworker: "I'll just refactor this one messy piece of code and catch up with you later"
Me to another coworker: "We will not see him anytime soon..."
Sometimes I feel like I should handle my frameworks like Trump handles America.
No foreign code.
But then again.. Teaching my co-workers is better than just blaming them.4