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
Search - "still a rockstar"
-
I believe this is why companies look for Junior Developers who actually know enough to be a mid or senior developer.
One day, a company that doesn't have the technical chops to know the difference between python and ruby hire a developer who is still in school. That developer doesn't know what he's worth, so the company gets him for pretty cheap. He does amazing things, takes last minute requests, learns some along the way, but eventually leaves because he just got contacted by a recruiter telling him how much he's really worth. He leaves, but the company needs to fill his spot. The company asks the former rockstar all the technologies he used to accomplish his job and throw that into a job description. The company could only really afford the junior so they keep all the stuff about being a junior, but because they need to maintain all the hodge podge stuff the previous developer put in, they need someone with experience enough to jump in.6 -
--- GitHub 24-hour outage post mortem ---
As many of you will remember; Github fell over earlier this month and cracked its head on the counter top on the way down. For more or less a full 24 hours the repo-wrangling behemoth had inconsistent data being presented to users, slow response times and failing requests during common user actions such as reporting issues and questioning your career choice in code reviews.
It's been revealed in a post-mortem of the incident (link at the end of the article) that DB replication was the root cause of the chaos after a failing 100G network link was being replaced during routine maintenance. I don't pretend to be a rockstar-ninja-wizard DBA but after speaking with colleagues who went a shade whiter when the term "replication" was used - It's hard to predict where a design decision will bite back and leave you untanging the web of lies and misinformation reported by the databases for weeks if not months after everything's gone a tad sideways.
When the link was yanked out of the east coast DC undergoing maintenance - Github's "Orchestrator" software did exactly what it was meant to do; It hit the "ohshi" button and failed over to another DC that wasn't reporting any issues. The hitch in the master plan was that when connectivity came back up at the east coast DC, Orchestrator was unable to (un)fail-over back to the east coast DC due to each cluster containing data the other didn't have.
At this point it's reasonable to assume that pants were turning funny colours - Monitoring systems across the board started squealing, firing off messages to engineers demanding they rouse from the land of nod and snap back to reality, that was a bit more "on-fire" than usual. A quick call to Orchestrator's API returned a result set that only contained database servers from the west coast - none of the east coast servers had responded.
Come 11pm UTC (about 10 minutes after the initial pant re-colouring) engineers realised they were well and truly backed into a corner, the site was flipped into "Yellow" status and internal mechanisms for deployments were locked out. 5 minutes later an Incident Co-ordinator was dragged from their lair by the status change and almost immediately flipped the site into "Red" status, a move i can only hope was accompanied by all the lights going red and klaxons sounding.
Even more engineers were roused from their slumber to help with the recovery effort, By this point hair was turning grey in real time - The fail-over DB cluster had been processing user data for nearly 40 minutes, every second that passed made the inevitable untangling process exponentially more difficult. Not long after this Github made the call to pause webhooks and Github Pages builds in an attempt to prevent further data loss, causing disruption to those of us using Github as a way of kicking off our deployment processes (myself included, I had to SSH in and run a git pull myself like some kind of savage).
Glossing over several more "And then things were still broken" sections of the post mortem; Clever engineers with their heads screwed on the right way successfully executed what i can only imagine was a large, complex and risky plan to untangle the mess and restore functionality. Github was picked up off the kitchen floor and promptly placed in a comfy chair with a sweet tea to recover. The enormous backlog of webhooks and Pages builds was caught up with and everything was more or less back to normal.
It goes to show that even the best laid plan rarely survives first contact with the enemy, In this case a failing 100G network link somewhere inside an east coast data center.
Link to the post mortem: https://blog.github.com/2018-10-30-...6 -
The devRant community:
@dfox: Our lord and savior, a rockstar who gets his comments ++'d just for being dfox
@trogus: The designer who lives in the shadow of dfox, but is still beloved
@tisaconundrum: Has 1 ++ for every time someone has tried, and failed, to pronounce his username in their head. (It's a lot)
@letmecode: The most consistently angry rants
@calmyourtities: I see him a lot
@me: I get mentioned every time the google assistant makes the "algo-rhythm" joke
@linux, @linuxxx, and @linuxforfun are linux users.
Continue in the comments!54 -
aslkfjasf. i've spent 12 hours today (and lots more over the past two days) trying to reproduce a bug that my [sort of] coworker insists is present. I haven't seen any proof of it anywhere, let alone steps to reproduce it.
I've poured through the code, following all of its tangled noodles of madness from start to fuck-this-shit. I've read and reread the pile of demon excrement so many times i can still read the code when i close my eyes. so. not. kidding.
anyway, the coworker person is getting mad because i haven't fixed the bug after days, and haven't even reproduced it yet. This feature is already taking way too fucking long so I totally don't blame him. but urghh it's like trying to unwind a string someone tied into a tight little ball of knots because they were bored.
but i just figured out why I haven't been able to reproduce it.
the stupid fucking unreliable dipshit ex-"i'm a rockstar and my code rocks"-CTO buffoon (aka API Guy, aka the `a=b if a!=b`loody pointless waste of mixed spaces and tabs) that wrote the original APIs ... 'kay, i need to stop for breath.
The dumbfuck wrote the APIs (which I based the new ones on mostly wholesale because wtf messy?), but he never implemented a very fucking important feature for a specific merchant type. It works for literally every type except the (soon-to-be) most common one. and it just so happens that i need that very specific feature to reproduce this bug.
Why is that one specific merchant type handled so differently? No fucking idea.
But exactly how they're handled differently is why I'm so fking pissed off. It's his error checking. (Some) of his functions return different object types (hash, database object, string, nullable bool, ...) depending on what happened. like, when creating a new gift, it (eventually...) either returns a new Gift object or a string error basically saying "ahhh everything's broken again!" -- which is never displayed, compared against, or recorded anywhere, ofc. Here, the API expects a Hash. That particular function call *always* returns a Hash, no matter what happens in the myriad, twisting, and interwoven branches the code could take. So the check is completely pointless.
EXCEPT. if an object associated with another object associated with the passed object (yep) has a type of 8. in which case, one of the methods in the chain returns a PrintQueue that gets passed back up the call stack. implicitly, and nested three levels in. ofc.
And if the API doesn't get its precious Hash, it exclaims that the merchant itself is broken, and tells the user to contact support. despite, you know, the PrintQueue showing that everything worked perfectly. In fact, that merchant's printer will be happily printing away in the background.
All because type checking is this guy's preferred method of detecting errors. (Raise? what's that? OOP? Nah, let's do diverging splintered-monolithic with some Ruby objects thrown in.)
just.
what the crap.
people should keep their mental diarrhea away from their keyboards.
Anyway. the summary of this long-winded, exhaustion-fueled tirade is that our second-most-loved feature doesn't work on our second-most-common merchant type.
and ofc that was the type of merchant i've been testing on. for days. while having both a [semi] coworker and my boss growing increasingly angry at me for my lack of progress.
It's also a huge feature, and the boss doesn't understand that. (can't or won't, idk)
So.
yep.
that's been my week.
...... WHAT A FUCKING BUFFOON!rant sheogorath's spaghetti erroneous error management vomit on her sweater already your face is an anti-pattern dipshit api guy two types bad four types good root swears oh my3 -
Dev: Your PR only addresses a quarter of the ticket
Dev2: *limps a commit so that now 1/2 of the ticket is addressed and creates a new PR for a separate ticket*
Dev: Your original PR only addresses half of the ticket
Dev2: *limps a commit so that now 3/4 of the ticket is addressed and creates a new PR for ANOTHER new ticket*
Dev: Your original PR only addresses 3/4 of the ticket
Dev2: *limps a commit so that now all of the ticket is addressed but two new bugs are introduced and creates a new PR for ANOTHER new ticket*
Dev: Your original PR introduces 2 new bugs
Dev2: *limps a commit addressing one of the two new bugs and creates a new PR for ANOTHER new ticket*
Dev: Your original PR still has one bu—
Manager: WOW GOOD JOB DEV2 THAT’S 5 PRs TODAY AMAZING! Dev you need to pickup the pace, you only have 2 PRs so far today. And get these PRs from Dev2 QA’d fast. He’s a rockstar!
Dev: …
*The 4 other PRs turned out to be equally dogshit*
Manager: Hey hurry up with QA, you’re holding Dev2 back!
Dev: …7 -
When residual +1's trickle in from an old rant of mine, I feel like a rockstar from the 80's who still gets royalty checks from that one hit they recorded...1
-
Recently I receive a ton of mails from cool/hip/rockstar startups. They all run like this:
"We are a innovative Startup based on a [insert some random stuff or buzzword] blockchain! If you're a student with skills and experience in blockchain, machine learning and AI willing to change the world with our sick technology and make it a better place..."
The best thing about this: since they are a innovative Startup they expect you to work for free.
But who am I to judge something so brand-new and innovative. I contacted them to find out what these dank innovations are about.
They can't even explain what a blockchain is or the basics of ML and AI, they basically just want someone do it for free...
It's still ok since no one is gonna fall for this bait... this morning a friend of mine told me he got a new job... and he even can work from home...
I'm not even mad, I just feel sadness and sorrow specially for him, because he is a good dev and accepts big times underpay and now free work, because he thinks a day off in his CV will lead him to be unemployed 😭
Fucking hate it how people successfuly manipulate kids and youth to them to work 24/7 for minimum wage or even for free and some other douchebags trying to take advantage of this 😡1 -
what kind of dumb fuck you have to be to get the react js dev job in company that has agile processes if you hate the JS all the way along with refusing to invest your time to learn about shit you are supposed to do and let's add total lack of understanding how things work, specifically giving zero fucks about agile and mocking it on every occasion and asking stupid questions that are answered in first 5 minutes of reading any blog post about intro to agile processes? Is it to annoy the shit out of others?
On top of that trying to reinvent the wheels for every friggin task with some totally unrelated tech or stack that is not used in the company you work for?
and solution is always half-assed and I always find flaw in it by just looking at it as there are tons of battle-tested solutions or patterns that are better by 100 miles regarding ease of use, security and optimization.
classic php/mysql backend issues - "ooh, the java has garbage collector" - i don't give a fuck about java at this company, give me friggin php solution - 'ooh, that issue in python/haskel/C#/LUA/basically any other prog language is resolved totally different and it looks better!' - well it seems that he knows everything besides php!
Yeah we will change all the fucking tech we use in this huge ass app because your inability to learn to focus on the friggin problem in the friggin language you got the job for.
Guy works with react, asked about thoughts on react - 'i hope it cease to exists along with whole JS ecosystem as soon as possible, because JS is weird'. Great, why did you fucking applied for the job in the first place if it pushes all of your wrong buttons!
Fucking rockstar/ninja developers! (and I don't mean on actual 'rockstar' language devs).
Also constantly talks about game development and we are developing web-related suite of apps, so why the fuck did you even applied? why?
I just hate that attitude of mocking everything and everyone along with the 'god complex' without really contributing with any constructive feedback combined with half-assed doing something that someone before him already mastered and on top of that pretending that is on the same level, but mainly acting as at least 2 levels above, alas in reality just produces bolognese that everybody has to clean up later.
When someone gives constructive feedback with lenghty argument why and how that solution is wrong on so many levels, pulls the 'well, i'm still learning that' card.
If I as code monkey can learn something in 2 friggin days including good practices and most of crazy intricacies about that new thing, you as a programmer god should be able to learn it in 2 fucking hours!
Fucking arrogant pricks!8 -
My image of dream career through different times of my life:
- frontend specs prodigy, css enlightenment, a member of w3c or a similar committee
- indie hacker and entrepreneur, leader of a startup community
- architecture prodigy, expert in scalability
- transsexual evangelist, popular article writer and a rockstar
- hardware engineer: Linux, C, chip and dale’s Gadget-like girlfriends, xkcd, latex, assembly, buying a radio station and a telescope
- scientist like NickyBones, papers, data, more data
- art expert
Though achieving one of this would take the entire life, I had a chance to grasp all of this. WHY does they feel so incompatible? Why do I have to choose?
Why do I feel so sad? Why do I feel like I haven’t achieved anything even though I objectively achieved what I dreamed of like five years ago?
Is it true that it’s in my nature to always seek an environment to feel like a junior in? Is feeling like a junior only pleasant to me because it reminds me of old times when I wasn’t actually this mentally ill and was still happy?
Why do I feel like that arduino and C shit is the equivalent of a red corvette?6 -
Been asked to give a lecture to the freshmen at ye olde alma mater.
They are gonna pay for the air ticket, the shuttle to and from campus and a couple nights at a fairly ok hotel.
Feeling like a fucking rockstar.
...
Gave the lecture. Only half those kids spent the whole time on their phones. My old drinking buddy and now a professor at the school said it was more direct attention than one could expect at a music concert.
...
Feeling kinda scared about how young women dress nowadays, but I do am an old indian dude, so what do I know?
Also, since when is lifting weights and running a half-marathon a requirement for a degree in computer sciences? Turing might have been an Olympian, but I'm pretty sure that since the invention of the integrated circuit my people have spent more time in labs than in gyms. That is not true for those kids.
Maybe it's a freshmen thing, and they will age out of that healthy living nonsense. Maybe the real world will crush it under bills and tuition loan repayments.
...
Tried to ask the university for a refund of the hotel and taxi bills that I've paid out of pocket. Two hours in four different queues and two opposite-sode-of-campus buildings. Suddenly remembered the true meaning of the word "Kafkaesque".
...
Remembering the old uni days with some still-in-grad-school / faculty old friends and getting drunk in the old watering holes? Priceless.2 -
!rant
Before I left my other company I was in the midst of finishing one project and I was ansious to finish everything to leave as a rockstar. Now, one of my js scripts brought a huge and long json response that had many nested items and arrays and whatnot. Instead of properly destructuring or finding a particular piece that went similarly to "status": "Verify input"(that was nested unser a shitload of items) i did the unspeakable......i stringified the whole object and just used indexOf.
I still feel guilty over it...but it works :P thing is, if it returns that it means that the user entered an invalid status into the app (it was an inventory application) but it works :P
Oh well. Mind you they thought it was going to take months and I finished in 1 week so yay.