Details
-
LocationAustria
Joined devRant on 4/25/2017
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Now I am starting to understand the frustration of senior developers and their issues with management.
For the first two years of my career, I was a dev and a team lead, and all worked fine. In some situations, I did get frustrated and thought that was horrible.
But damn! Today I am having a 1 hour session at lunch time (said mandatory participation) with an "Atlassian Platinum Solutions Partner" on "Minimum Variable Bureaucracy".
I'm halfway down, and halfway dead. Just send me an email and I'm happy.4 -
A seasoned colleague just wrote this and I think it was very valuable:
On tech debt:
So the big challenge with technical debt is making non-technical management (CEO, COO, CFO, directors) understand what it means, and just how it operates. Sometimes it actually makes good sense to incur technical debt to get to market sooner, just as it sometimes makes sense to borrow money to get cash now and repay that loan later with (hopefully) resulting greater revenues from that investment. But just like a loan, tech debt always has to be paid some day. The longer the tech debt goes, the more expensive it gets. And also like a loan, the cost compounds, like compound interest on a loan. Tech debt should always be chosen with a clear plan to pay it off at some point in the not too distant future. The longer one waits to pay it, the more expensive it gets.7 -
Licensing is so freaking weird and stupid.
I mean, I just forked this repo with an Apache license, so I could update a .json file.
"You must cause any modified files to carry prominent notices stating that You changed the files"
Plain JSON allows no comments.
I'm going to jail.30 -
*Now that's what I call a Hacker*
MOTHER OF ALL AUTOMATIONS
This seems a long post. but you will definitely +1 the post after reading this.
xxx: OK, so, our build engineer has left for another company. The dude was literally living inside the terminal. You know, that type of a guy who loves Vim, creates diagrams in Dot and writes wiki-posts in Markdown... If something - anything - requires more than 90 seconds of his time, he writes a script to automate that.
xxx: So we're sitting here, looking through his, uhm, "legacy"
xxx: You're gonna love this
xxx: smack-my-bitch-up.sh - sends a text message "late at work" to his wife (apparently). Automatically picks reasons from an array of strings, randomly. Runs inside a cron-job. The job fires if there are active SSH-sessions on the server after 9pm with his login.
xxx: kumar-asshole.sh - scans the inbox for emails from "Kumar" (a DBA at our clients). Looks for keywords like "help", "trouble", "sorry" etc. If keywords are found - the script SSHes into the clients server and rolls back the staging database to the latest backup. Then sends a reply "no worries mate, be careful next time".
xxx: hangover.sh - another cron-job that is set to specific dates. Sends automated emails like "not feeling well/gonna work from home" etc. Adds a random "reason" from another predefined array of strings. Fires if there are no interactive sessions on the server at 8:45am.
xxx: (and the oscar goes to) fuckingcoffee.sh - this one waits exactly 17 seconds (!), then opens an SSH session to our coffee-machine (we had no frikin idea the coffee machine is on the network, runs linux and has SSHD up and running) and sends some weird gibberish to it. Looks binary. Turns out this thing starts brewing a mid-sized half-caf latte and waits another 24 (!) seconds before pouring it into a cup. The timing is exactly how long it takes to walk to the machine from the dudes desk.
xxx: holy sh*t I'm keeping those
Credit: http://bit.ly/1jcTuTT
The bash scripts weren't bogus, you can find his scripts on the this github URL:
https://github.com/narkoz/...56 -
When you send your stuck coworker a stack-overflow link and he copies the code from the question instead of one of the answers8
-
Make your cookies banner have equal "Accept All" and "Reject All" buttons, and I'll probably Accept All.
Bury rejection under a fucking "Manage Cookies" button and I will go out of my way to disable/opt out of every fucking one of them.
Also why the fuck would rejecting all take "a few minutes" but accepting be instantaneous?
Fucking hell.18 -
Not only Synology's REST API documentation is outdated, but I have to deal with this.
Let alone the fact that login in a GET request where username and password are passed as query string in URL.8 -
Fuck uninspired jr devs that are simply collecting a pay check.
I have been handed a project that a jr dev was allowed to wallow on for over two fucking years. This lazy mother fucker managed to create 5 functions, a whole fucking mess of bullshit that I now have to straighten out on top of the 8 other things that I have to deliver on in the next month.
They never followed requirements. Not-a-one. The API is fully broken. The DB schema is BEYOND fucked. There's ZERO validation/sanitation on I/O. The deployments only work half the fucking time. Their code is so spaghetti I'm getting triggered from when I worked at Olive Garden with Eminem. But hey, at least they were able to demo it to the client to say "it works".
I don't condone violence, but every time I find malformed if statements, linter exceptions, broken deploy configurations in this project -- I just want to kick them in their stupid fucking face.
Wherever you ended up you piece of shit, I hope your dreams of becoming a rich asshole only bring you unending despair. I believe you can make it though, because you're already halfway there.5 -
A big shoutout to all software vendors, who, at the top of their product homepage, simply explain to you in 2-3 non-bullshit sentences what their product actually does, and what it is used for. I fucking love you.
And a big fat middle finger to all the rest with your useless buzzword gobbledygook. Go to hell.9 -
Trying to spend non-work time doing things other than coding. Which means picking up new hobbies. 😅
Currently trying to teach myself how to draw cartoon cats.
Today, I worked on facial expressions.12 -
We had a client visit our PH office to "hang out" and see the progress in this educational type game we were building for their private school (apparently, it's the one that Obama's kids went to).
Manager oversold the progress and actually guaranteed some features that we were still working on and estimated to finish in the next 3 sprints (2 week intervals).
Client was due to be in the office in 2 days.
PM pushes back and says we need to manage client expectations properly.
CEO got wind and sat the dev team down. Dev lead, two seniors, and junior me. He sat us down and asked us what we think.
Lead says we can do it.
Now to be fair, I know this guy to be very competent and an INCREDIBLE programmer. He is the person I consider to be the first real mentor I ever had but I really thought we were fucked here.
Next day and half was hell--for me, at least and I really couldn't see how this was all possible.
But then the fucker came through. This beautiful, majestic meganerd and the two other guys shat out 6 weeks of code in ~30 hours.
And the crazy part was it was all working. Bugs were caught in the next few days for sure, but the demo went flawlessly.
I never doubted this guy again.
Years later, I'd meet up with him and would talk fondly about those days and all he could say was "I don't really remember". He remembers the project and that we had a demo but he couldn't remember anything around those days.
Two of the most stressful days of my life and to him it was a fucking Wednesday. What a fucking champ.4 -
*Romantic candlelit dinner*
GF: "What are you thinking about, my love?"
Me: "The chocolate custard always seems to behave differently under stress than vanilla. It has a lower base viscosity, but a similar shear thickening. I was wondering whether anyone has ever made a database of all custard brands and flavors together with their viscosities"
My brain: *Oh fuck, that's not what I'm supposed to say during a romantic dinner*
GF: "Do you wanna check whether we can find a cheap second hand viscometer.... wait.... no.... you'd need a rheometer for that, right? Do you think we could build one ourselves?"
Me: *blinks in awe*
Even after 15 years, I'm still just puzzled, she really fucking is my soulmate22 -
I don't care what codestyle you want. I even can deal with codestyle I detest. (Looking at you, Vertical Alignment)
There is pretty much only one hard requirement:
It must be enforceable via autoformatting.
I won't manually edit a file because you have a preference.3 -
Last year I changed jobs from a large multi-national to a small local agency (which happens to be run by friends of mine).
One of the reasons for doing this was that my work involved more office politics than *actual* software development, and had just plain stopped being fun.
Now, I am having fun again! An example?
For one of our clients we have to connect to (a lot) of third-party APIs. Often even SOAP APIs!
Now I hear you protest "But that is no fun at all! SOAP APIS SUCK!" Which is true, more often than not. 😔
BUT! My friend started an internal API-SNAFU Trello board. Every time you get bitten in the ass by some ill conceived fuck-up of an API, you get to add your complaint to the board.
Beside giving as something to reciprocally rant about, the board also serves a serious function: depending on the amount of fuck-ups an API has been known to make, the price for working with that API will go up.
Who said it doesn't pay to complain? 😀1 -
I really think 1 hr+ meetings are a fucking waste of time. By minute 40, people's attentions waver.
If I ever run my own shop I will fucking ban meetings that last more than 30 minutes, and have a hard cap of 7 people per meeting and require a fucking agenda. God damn it. Being stuck in meetings where 90% of crap not relevant to me is bs.
#TiltedMonday9 -
I wrote a piece of code. A logic. My senior changed it. And.. I am glad she did.
My descriptive variables and her conditional breakup of logic made up for a very beautiful piece of code. Simple and elegant. So much so that it makes total sense without any need of a comment.
Never thought I would be loving a 5-lines code piece this much.
This is one of those days when collaboration happens for the betterment.
Simply. Beautiful.4 -
Manager: we have reached record sales this month, thank you for your hard work guys.
Employee: can I get a raise?
Manager: your greed is hurting the company.
Employee: but I worked here for 3 years8 -
HR sent around updated contracts asking everyone to sign them since the company changed its name, fair enough.
In the contract it stated "Your normal place of work will be X" - only X was many miles away, and I'd never worked there, never planned too. Assumed it was a mistake, sent it back. HR refused to change it, stating that the "normal place of work does not need to be the place where you normally work."
A lot of back and forth entailed, I refused to sign, I was reprimanded for not doing so, I was asked what my problem was as it made no material difference, and then I eventually replied with:
"Angela, I'm refusing to sign this as it's factually incorrect. No further explanation is required. I'll maybe consider signing this if you sign a piece of paper declaring you believe the moon is made of cheese, and you're the cow the milk came from to make it."
A very strongly worded email came back about how this was going on my record, I needed to offer a formal apology, etc. - all cc'd to my manager. I replied back, again copying my manager in, stating that this was ok, as I couldn't remain at a company who forced employees to sign dodgy contracts anyway.
Problem was (for them), I was a *massive* single point of failure for them at this point owing to some others leaving with no handover - hence I knew I wasn't going to be the casualty here. My manager flipped the lid at HR, got the CEO involved on threat of *him* leaving, and the whole thing massively blew up. Happy ending in that the HR person in question was fired, everyone else's contracts also had to be redone (I assumed everyone else just signed without looking which is worrying), and I actually got a pay rise out of it when higher ups realised the massive single point of failure I was.
But damn, I would've walked over crap like that. Walked pretty soon after anyway!13 -
- Go to sleep early
- Get up at 5-6
- Drink quality coffee
- Work at your desk not from the bed or couch
- Don't start new projects until the last one is done
- Have a good and healthy diet
- Excercise frequently
Essentially don't be like me... Be like anyone else but me and you'll do fine...15 -
I was actually successful in one that I literally got from the American version of The Office.
I conditioned one of my employees to want chewing gum after I did a clap motion with my hands: snap the fingers on both hands really quick and do a fist to palm tap and say "hey bud, want gum?" and because I specifically bought his favorite he would always say yes.
Eventually, and after months of doing it, I was walking around the office when I did the motion, but this time without gum. Now, he was on the fifth levek of the virtual world doing his shit fully concentrated and he STILL looked up at me looking anxious. I said "what's up?" and he just said nothing, that he felt that he was missing something but couldn't put the finger on it.
Just like in the show, he then complained that his mouth felt funny. Eventually he waddled his way to my office to ask for gum 🤣🤣🤣🤣
tl;dr I successfully Pavlov'ed one of my employees to have a need of chewing gum every time I do a finger snap clap motion.
I am the best manager in the world.7 -
Me: Optimize a sort & match method in backend because users complain it's a bit slow.
Coworker: These algorithms are both O(n), so they're identical *closes PR*
Me: *start zoom call* "Heeeeeeeeeey Iiiiiiiiiii wouuuuuuuld liiiiiiiiike toooooo diiiiiisscuuuuus thaaaaaaaat puuuuuuulllll reeeeeequuuueeest yooooouuuuu cloooooossseeeed"
Coworker: "wtf are you doing, why are you talking so slow"
Me: "No matter whether I talk fast or slow, the information still reaches you in O(n) time, so why are you complaining"
I fucking hate it when people misunderstand the purpose of (or abuse) big O notation. It's an estimate of how an algorithm SCALES once the set increases in size, in which case you leave out both less significant terms and constant factors.
But those terms and factors are important when you're talking about the DIRECT PERFORMANCE of the algorithm on fixed-size sets, instead of SCALING to larger sets.
1n and 10n are both O(n), but 10x performance on a job that used to take 10 minutes is still significant.19 -
Someone from the higher ups had received complaints that I don’t answer my phone enough.
My boss told them I wasn’t hired here to provide phone support.4 -
From my work -as an IT consultant in one of the big 4- I can now show you my masterpiece
INSIGHTS FROM THE DAILY LIFE OF A FUNCTIONAL ANALIST IN A BIG 4 -I'M NOT A FUNCTIONAL ANALYST BUT THAT'S WHAT THEY DO-
- 10:30, enter the office. By contract you should be there at 9:00 but nobody gives a shit
- First task of the day: prepare the power point for the client. DURATION: 15 minutes to actually make the powerpoint, 45 minutes to search all the possible synonyms of RESILIENCE BIG DATA AGILE INTELLIGENT AUTOMATION MACHINE LEARNING SHIT PISS CUM, 1 hour to actually present the document.
- 12:30: Sniff the powder left by the chalks on the blackboards. Duration: 30 minutes, that's a lot of chalk you need to snort.
13:00, LUNCH TIME. You get back to work not one minute sooner than 15.00
- 15:00, conference with the HR. You need to carefully analyze the quantity and quality of the farts emitted in the office for 2 hours at least
- 17:00 conference call, a project you were assigned to half a day ago has a server down.
The client sent two managers, three senior Java developers, the CEO, 5 employees -they know logs and mails from the last 5 months line by line-, 4 lawyers and a beheading teacher from ISIS.
On your side there are 3 external ucraininans for the maintenance, successors of the 3 (already dead) developers who put the process in place 4 years ago according to God knows which specifications. They don't understand a word of what is being said.
Then there's the assistant of the assistant of a manager from another project that has nothing to do with this one, a feces officer, a sys admin who is going to watch porn for the whole conference call and won't listen a word, two interns to make up a number and look like you're prepared. Current objective: survive. Duration: 2 hours and a half.
- 19:30, snort some more chalk for half an hour, preparing for the mail in which you explain the associate partner how because of the aforementioned conference call we're going to lose a maintenance contract worth 20 grands per month (and a law proceeding worth a number of dollars you can't even read) and you have no idea how could this happen
- 20:00, timesheet! Compile the weekly report, write what you did and how long did it take for each task. You are allowed to compile 8 hours per day, you worked at least 11 but nobody gives a shit. Duration: 30 minutes
- 20:30, update your consultant! Training course, "tasting cum and presenting its organoleptic properties to a client". Bearing with your job: none at all. Duration: 90 minutes, then there's half an hour of evaluating test where you'll copy the answers from a sheet given to you by a colleague who left 6 months ago.
- 22:30, CHANCE CARD! You have a new mail from the HR: you asked for a refund for a 3$ sandwich, but the receipt isn't there and they realized it with a 9 months delay. You need to find that wicked piece of paper. DURATION: 30 minutes. The receipt most likely doesn't even exist anymore and will be taken directly from your next salary.
- 23:00 you receive a message on Teams. It's the intern. It's very late but you're online and have to answer. There's an exception on a process which have been running for 6 years with no problems and nobody ever touches. The intern doesn't know what to do, but you wrote the specifications for the thing, 6 years ago, and everything MUST run tonight. You are not a technician and have no fucking clue about anyhing at all. 30 minutes to make sure it's something on our side and not on the client side, and in all that the intern is as useful as a confetto to wipe your ass. Once you're sure it's something on our side you need to search for the senior dev who received the maintenance of the project, call him and solve the problem.
It turns out a file in a shared folder nobody ever touches was unreachable 'cause one of your libraries left it open during the last run and Excel shown a warning modal while opening it; your project didn't like this last thing one bit. It takes 90 minutes to find the root of the problem, you solve it by rebooting one of your machines. It's 01:00.
You shower, watch yourself on the mirror and search for the line where your forehead ends and your hair starts. It got a little bit back from yesterday; the change can't be seen with the naked eye but you know it's there.
You cry yourself to sleep. Tomorrow is another day, but it's going to be exactly like today.8 -
My manager is so cool at work that he doesn't care if I sleep during office hours or even skip working for a couple of days as long as I meet the deadlines. All he cares about is getting the work done and keeping his team happy.
I abso-frigging-lutely respect him very much and like him as a person.
Unlike my friends' managers in other departments, he wouldn't assign me more work if I finished a project before the deadline.
I wish all the managers in all the companies realise work-life balance is important and act like him.10 -
Someone on a C++ learning and help discord wanted to know why the following was causing issues.
char * get_some_data() {
char buffer[1000];
init_buffer(&buffer[0]);
return &buffer[0];
}
I told them they were returning a pointer to a stack allocated memory region. They were confused, didn't know what I was talking about.
I pointed them to two pretty decently written and succinct articles, the first about stack vs. heap, and the second describing the theory of ownership and lifetimes. I instructed to give them a read, and to try to understand them as best as possible, and to ping me with any questions. Then I promised to explain their exact issue.
Silence for maybe five minutes. They disregard the articles, post other code saying "maybe it's because of this...". I quickly pointed them back at their original code (the above) and said this is 100% an issue you're facing. "Have you read the articles?"
"Nope" they said, "I just skimmed through them, can you tell me what's wrong with my code?"
Someone else chimed in and said "you need to just use malloc()." In a C++ room, no less.
I said "@OtherGuy please don't blindly instruct people to allocate memory on the heap if they do not understand what the heap is. They need to understand the concepts and the problems before learning how C++ approaches the solution."
I was quickly PM'd by one of the server's mods and told that I was being unhelpful and that I needed to reconsider my tone.
Fuck this industry. I'm getting so sick of it.26 -
"The library you recently wrote appeared on my github feed. I haven't read all of the readme yet, but you already deserve a star for the documentation and the name" - CTO
Today was a good day1