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
I just remembered the first time I set up a Linux-Server. It was a simple Apache webserver at my first internship anf I didnt have a clue about literally anything.
My mentor guided me through and gave me literal step-by-step instructions (alright, now type... and now type...).
At the end he told me "OK, now run 'sudo rm -rf /*' to finish setting up". Me, being the naive and clueless motherfucker I am, happily nuked the everloving shit out of my newly setup server. I was like "Alright, WTF just happened??" He then told me "Now that you know how it works, do the entire thing again all by yourself. And you just learned an important lesson: NEVER exexute commands you dont know what theyre doing". I really did learn a lot on that day and still follow that lesson :D6
You start new job and take over huge codebase without tests and documentation.
It turns out programming language is custom language made by previous developer who was the only one maintaining project.
There is no source version control.
Language runs in vm developed in Fortran.
No one cared to this day cause everything was working.
Project is critical for multi billion dollar corporation that sells medical equipment that keep people alive.
You can’t test your code on real devices only on virtual ones that were made using same custom language but you can’t find source code for it.
Previous developer accidentally died before you were hired.
You signed contract with penalties that will ruin your life.
Your first task is to add “small” feature.
Good luck !9
Working for an indian code sweatshop. The job you've got by bribing the University headmaster to give you a degree without ever attending class. Your uncle who worked at the sweatshop as a manager already gave you the job by bribing his boss.
After a half a year on the bench you've beeing sent off for a contract for the USA. You moved to Seattle where you've "coded" the software for the Boeing 737 Max Airplane. Your code downed 2 airplanes. You're responsible for the death of 350+ people. You're alone and the US is foreign to you and you're missing your mothers indian food. And you wish you could soothe your pain with some freshly pressed sugar cane drink and a jalebi from your favorite food joint back home.9
You know how in movies and TV shows, a villain will sometimes kidnap a victim? They'll take the victim to an abandoned warehouse in the middle of nowhere and send the hero / police station a live feed on their phone of the victim's current situation.
It's not like there's some service out there for kidnappers who need live-streaming capabilities and I'm pretty sure TwitchTV frowns upon crime (citation needed).
Honestly though, between the hard work of kidnapping the victim, tying them up, transporting the victim, and finding an abandoned warehouse, who has time to do any of the IT / Dev work?
Where is the network connection for this abandoned warehouse in the middle of nowhere coming from? You can't tell me the villain ordered Comcast there and absolutely nobody found it suspicious. Also, think about the bandwidth costs he'd have to cover. Does he get locked into a two year committed plan with the ISP? Sure, I guess the villain could go with prepaid SIM cards and set up a hotspot, but those can't sustain the upload speeds required to live-stream AND maintain a lengthy live-stream ensuring everyone who needs to see it, truely does see it. Imagine if the hero opens up the live-stream link and sees "User is offline". What are they supposed to do? Nobody is going to Like and Subscribe to that. And I can't imagine the Villain bothering to replace the SIM cards every few hours or so. Even the cashier selling 200 SIM cards to him would think "This guy's obviously up to no good."
Okay, let's say the Villain managed to find a warehouse with an active internet connection or nearby open WiFi signal. What is he using for streaming? The camera is hooked up to a computer, he's got either Xsplit / OBS / Streamlabs open with his favorite overlays and subscriber bot, and it's pointing to a RTMP server. Alright, again, there's no way in hell his bandwidth is going to support an RTMP server, but let's say it does or he's got some remote server somewhere. Pretty sure he's not running that server on AWS or Google Cloud for one thing. What OS is he running and when did he learn BASH? His best bet is to go with NGINX with the RTMP module and setting up that NGINX config will be an enjoyable first experience. He should also give consideration to transcoding it with FFMPEG, as not everyone has that sweet warehouse speed.
Now what about the playback? You can't just send an RTMP url to a person and expect it to automatically open and play. Even if the villain set up a front-end with a video player, how does he know the video will play on the hero's device? Or what browser the hero uses? The villain will have to consider both DASH and HLS streams in order to achieve cross platform compatability on client-side detection.
By the time Evil Musk here finishes setting up the IT portion of his grand scheme, what's the point? Might as well just get a functioning careeer, make a decent living, and retire in New Zealand.10
I'm currently 40h/week meeting attender. I'm not enjoying my life right now.
Today I have a meeting about the legal requirements of an invoicing system, in my role as database administrator — the meeting will mostly be lawyers bickering over what the addresses of subsidiaries look like on invoices and which taxes should apply to services provided across borders.
Wait, I can play Factorio during this meeting and say "yeah that sounds OK" once in a while. Not the worst job after all...7
We hired a developer and he has very minimal experience. I feel most of our conversations end up going something like this.
New Guy: I'm not sure how to do this obvious task and I'm incapable of searching Google.
Me: Give me your hand so I can hold it and walk you through the process of copying and pasting code from stack overflow.
New Guy: Ok...give you my hand...right...how do I do that?
Larry Tesler, a computer scientist who created the terms "cut," "copy," and "paste," has passed away at the age of 74 (17 Feb 2020).
In 1973, Tesler took a job at the Xerox Palo Alto Research Center (PARC) where he worked until 1980. Xerox PARC is famously known for developing the mouse-driven graphical user interface and during his time at the lab Tesler worked with Tim Mott to create a word processor called Gypsy that is best known for coining the terms "cut," "copy," and "paste".
In addition to "cut," "copy," and "paste" terminologies, Tesler was also an advocate for an approach to UI design known as modeless computing. It ensures that user actions remain consistent throughout an operating system's various functions and apps. When they've opened a word processor, for instance, users now just automatically assume that hitting any of the alphanumeric keys on their keyboard will result in that character showing up on-screen at the cursor's insertion point. But there was a time when word processors could be switched between multiple modes where typing on the keyboard would either add characters to a document or alternately allow functional commands to be entered.11
Designing those new smart urinals. Not that the job itself would be all that horrible but imagine having to tell people...
What do you do for a living?
I'm a software developer.
Oh so your like hackerman?
Nah more like hackerjon.
Well what software have you developed, anything I might've seen?
Idk when's the last time you had to use the restroom at the mall?
Just the other day, why?
Well did you enjoy seeing ads while you pissed? Your welcome.1
God I'm fucking done for today.
We just finished a "Climate-conference-simulation" in school.
Basically ~90 students split into 6 groups representing a delegation of a country or a group of countries.
Other developing countries,
Other industrial countries
The target of our efforts was the reduction of global warming from ~4 C° by 2100 to around 2 C°.
My group (USA) elected me to speak and represent (I did kind of mimic the American stereotype of being egoistic and self centered, no offence intended)
As all the other nations and groups were planning great schemes, my group simply continued to put, well, basically rocks in their path by not playing along cause aforementioned stereotype.
It's the working phase after the second presentation of results, I'm sitting there with parts of the Chinese and EU delegation and suddenly two of my friends, in different groups, put my hood over my head, drag/carry me out of the assembly hall, toss me out and leave me there.
Was funny and all, but damn, it's fucking exhausting to stand in front of around 100 people (including teachers and stuff) and completely not play along with the other group's opinions and plans.
But hey, I've been congratulated a lot of times cause I've perfectly stayed in my role.
Yes it was weird18
Get assigned ticket.
Finish the most of the feature. Finish most of the specs.
Second dev wants to own accounting half of the ticket.
Rip out half my changes, rewrite specs.
Code review asks for minor changes.
Product creep creeps the scope.
Finish the feature again.
Product creep creep-creeps the scope.
Finish the feature again.
New release happens.
Merge in master; fix conflicts. Run specs; random unrelated specs fail, some fail intermittently. Rabbit holes of complicated, unexplored, obviously-flawed code.
Fuck that. Push.9
Y'all mother fuckers who use "don't re-invent the wheel" as a tactic to not grow new neurons, as if a ceiling's there — fuck out of my circle.
Those mother fuckers have never even created a single wheel - ever!
Well, ima re-invent any fucking wheel I want, when and where. How I learn is not your fucking busy.
What's even more annoying is that those telling me that shit are pretty much part of the paint on the wall and damn unemployable any where on this earth.15
Fun day, lots of relief and catharsis!
Client I was wanting to fire has apparently decided that the long term support contract I knew was bullshit from go will instead be handled by IBM India and it's my job to train them in the "application." Having worked with this team (the majority of whom have been out of university for less than a year), I can say categorically that the best of them can barely manage to copy and paste jQuery examples from SO, so best of fucking luck.
I said, "great!," since I'd been planning on quitting anyways. I even handed them an SOW stating I would train them for 2 days on the application's design and structure, and included a rider they dutifully signed that stated, "design and structure will cover what is needed to maintain the application long term in terms of its basic routing, layout and any 'pages' that we have written for this application. The client acknowledges that 3rd party (non-[us]) documentation is available for the technologies used, but not written by [us], effective support of those platforms will devolve to their respective vendors on expiry of the current support contract."
Contract in hand, and client being too dumb to realize that their severing of the maintenance agreement voids their support contract, I can safely share what's not contractually covered:
- Stream based programming
- Angular 9
- Any of the APIs
- Dotnet core
- pretty much anything not in a commit
I'm a little giddy just thinking about the massive world of hurt they've created for themselves. Couldn't have happened to nicer assholes.7
"I can teach you the physics of riding a bicycle. Indeed, the classical mathematics is relatively straightforward. Gravity, friction, angular momentum, center of mass, and so forth, can be demonstrated with less than a page full of equations. Given those formulae I could prove to you that bicycle riding is practical and give you all the knowledge you needed to make it work. And you’d still fall down the first time you climbed on that bike."
How beautifully put8
Got pretty peeved with EU and my own bank today.
My bank was loudly advertising how "progressive" they were by having an Open API!
Well, it just so happened I got an inkling to write me a small app that would make statistics of the payments going in and out of my account, without relying on anything third-party. It should be possible, right? Right?
The bank's "Open API" can be used to fetch the locations of all the physical locations of the bank branches and ATMs, so, completely useless for me.
The API I was after was one apparently made obligatory (don't quote me on that) by EU called the PSD2 - Payment Services Directive 2.
It defines three independent APIs - AISP, CISP and PISP, each for a different set of actions one could perform.
I was only after AISP, or the Account Information Service Provider. It provides all the account and transactions information.
There was only one issue. I needed a client SSL certificate signed by a specific local CA to prove my identity to the API.
Okay, I could get that, it would cost like.. $15 - $50, but whatever. Cheap.
First issue - These certificates for the PSD2 are only issued to legal entities.
That was my first source of hate for politicians.
Then... As a cherry on top, I found out I'd also need a certification from the local capital bank which, you guessed it, is also only given to legal entities, while also being incredibly hard to get in and of itself, and so far, only one company in my country got it.
So here I am, reading through the documentation of something, that would completely satisfy all my needs, yet that is locked behind a stupid legal wall because politicians and laws gotta keep the technology back. And I can't help but seethe in anger towards both, the EU that made this regulation, and the fact that the bank even mentions this API anywhere.
Seriously, if 99.9% of programmers would never ever get access to that API, why bother mentioning it on your public main API page?!
It... It made me sad more than anything...8
"Change your algorithm"
Answers like this are why Stack Overflow almost becomes worthless when asking questions. I asked for some clarification why my code, which reads some files and outputs another, was hitting System.OutOfMemory exceptions. And that was the response I got.
"Change your algorithm"
How? In what manner should I be seeking to change my algorithm? OBVIOUSLY I SHOULD CHANGE MY ALGORITHM YOU WASTE OF OXYGEN. That was a given by the exception my program threw!
I swear to god, SO has got to be one of the most unwelcoming, condescending sites on the internet.7
So my ISP just called that i hit limit again. Told them to reset it as i need the network now like really need it.
Hit it again today.
Mind you the limit is 100Gb per week. I know small for someone like me. Plenty for normal people.
But all has changes.
Getting Optic 600Mbps Down and 30mbps up. No limit.
Fuck thats what i call an internet.9
Worst hypothetical Dev job... hmm 🤔 well I think I have the right scenario for you. A medical company stores patient charts and critical life saving information in a database. This database makes medical decisions for lifesaving incubators and if there’s a bug it means 10,000 newborn sick babies will die because of your fuck up (oh and you’re criminally liable too so good luck!). But beyond the high pressure job that sounds at least somewhat normal, the database is written in a special form of assembly for a custom undocumented CPU where only one copy in the world exists so all tests and development are on production. Google and StackOverflow is banned so your only resource is your brain. Good luck🍀11
As a junior developer, your primary goal should be to learn and absorb as much as you can, not to try to make a name for yourself. It's all too common that I see devs fresh out of college with this amazing gung ho attitude that quickly devolves into needing to feel like the smartest person in the room.
This leads to an unnaturally inflated ego, a feeling of self importance, and blocks you from truly understanding what is going on in the stack in front of you.
That's not to say you can't try to take on difficult tasks, just be humble and ask for help when you need it, and don't make assumptions that might lead to rework later.
I would much rather you ask me a question then put up a PR that has wildly different assumptions because you didn't fully understand the acceptance criteria of a particular task.
tl;dr - sit down, shut up, do your job, learn what you can as fast as you can.
A very fed up Senior Dev4
Purple, Ahh yes, the nice colour purple... dont you love looking at something and thinking, "Wow, thats some nice purple"
well, I fucking dont, fuck that piece of shit colour, I FUCKING HATE PURPLE, why?
BECAUSE IT DOESNT FUCKING EXIST! FUCK PURPLE, FUCK IT, ITS FUCKING BLUE! THERE IS NO FUCKING PURPLE!
WAKE THE FUCK UP PEOPLE! IT DOESNT FUCKING EXIST! THERE IS BLUE AND RED, BUT. THERE. IS. NO. FUCKING. PURPLE!
And dont get me started on brown, that nice brown chocolate, these coffee beans...
IF IT WOULDNT LOOK LIKE DARK-GREEN I WOULDNT FUCKING HATE IT! WHY DOES IT EVEN EXIST!
(if your wondering, yes. I have a red-green colour deficiency)33
Has anyone felt the astonishing effect that is writing a whole bunch of test classes, hitting run for the first time and they all pass.
I'm kinda sitting here staring at my screen in disbelief, either these tests all passed, or I've really missed something and they passed anyway, or it's just a lying piece of shit trying to question my own abilities... all are possible right now.
And no, they are not " assert(1,1) "4