If you want a job and you want it quick, sure. There's some good money in frontend. But in terms of "technology" it's the same bullshit. It's still web development. Overnegineered, bloated software.
Im a backend developer and i have most definitely seen the drama that is going on here, i have seen it pushing deadline after deadline, i have seen it eating up resources, i have seen it as the reason the design being an absolute hell, i have seen it destroy a (good part of a) company. Quite happy thou i now know the fate of some company's and the people to run from !
One thing that I haven't seen anyone mention is the project manager nodding acting like he's following while writing "Galactus??". Underappreciated moment.
First time you watch it, you think "I'm this engineer." The second watch, you realize "No, I'm that product manager." The third time, "Maybe I'm Galactus?" Fourth: "Oh no, I'm actually Omega Star..."
@@eduardoandrescastilloperer4810 Unix epoch time runs out 2038 for 32 bit time stamps, clearly not enough time to for Galactus to know the end of the universe.
@@flamingspew No they just hardcode the list of user providers but then the next time a new one comes online everything goes down in flames and the on-call has to go in on a Saturday 9 months from now and fix everyone else's mistakes (by just hardcoding a new user provider).
I've been thinking a lot I'd be happier if I'd picked up baking. Then I take a look at my kitchen and yeah, let's not kid ourselves, this is the only thing I know how to do that people will actually pay me for.
@@sacredgeometry yes. “Chef” just means “boss”, it's cognate to “chief”. Chef Doctor is literally a position that exists, it's just rarely called that in English. The cooking association just comes from English people shortening “chef de cuisine” (chief of kitchen) and “sous chef de cuisine” (vice chief of kitchen) to just “chef” (or overhearing french cooks say just chef, because they don't need to specify that they mean the chef cook anymore than a police officer addressing the “chief” needs to specify he's referring to his boss, not a cook)
Better generalize it.. so that it can convert omegas time to any required time format.. oh yeah, to fetch and maintain list of time formats we might also need a new service 😅😋
That's me when learning anything related to computers in-depth. From processors up to websites, it's all a house of cards where cards on the bottom somehow also rely on cards on the top.
The ending killed me. Spend whole week fretting over project killer, raise it with manager, "ah yep so we just have to delay by (insert amount of time I was previously led to believe was unreasonable by the same person now suggesting it), no worries keep me updated if anything changes". Like ayo I still need those 3 extra staff we were supposed to have back in June too.
Engineering manager at a large well known games megacorp here, just wanna let you guys know that I help run a team that owns a service aggregator and we just changed our team name to Galactus. Please keep this content flowing, we love Galactus.
Instead of creating a single point failure monolith arch, we ended up engineered a new system which has multi points failure, binding by duck tape and dying for no reason or with reason which cannot be logged
I assume that photo of Galactus is always taped to the top of the whiteboard because pretty much every flowchart drawn in this room ends up involving Galactus
@@nikhilkenvetil1594 Doesn't the fact that these services are external to your organization imply that your organization is not the only one with access to them?
@@skepticmoderate5790 You're stating the obvious. How does that matter? And I'm not talking about my organisation having access to aforementioned services. I'm talking about the nomenclature. Kratos, Amethyst, Goldmine, STS etc are names of the serives I've used in my organisation. Fancy names for not-so-fancy serives they provide.
Exactly. Every service is either already deprecated, soon-to-be deprecated, or 3 years behind on delivery of the feature some guy promised in a StackOverflow comment was coming soon.
I've experienced this waaaay too many times. As he gets up, the product manager brings up 3 new requirements and before you have time to react he's gone and you know you're gonna be fucked
What you need to understand is that all backend architectures are nothing more than a Rube Goldberg machine designed to keep engineers employed. It’s part of the AWS racket.
FYI, there's a reason why Omegastar can't support ISO timestamps. Since Omegastar needs to represent time till the end of the Universe, it needs to be able to represent time coordinates after the Earth has been sucked into a black hole, in which case, ISO time conventions such as leap years and seconds will no longer make sense since the BIPM will be adding billions of leap seconds per second. TAI is the only and correct implementation that Omegastar can represent, trying to implement ISO will cause infinite problems. Clients need to perform TAI to UTC conversions by themselves. You either die programming the backend, or live long enough to program Omegastar. :O
@@Average-Lizard look we just can't rely on the BIPM to update our clock with leap seconds that's just impractical and will lead to counterfactual clock scenarios. It's got to be TAI, you can implement a TAI to UTC conversion service at your own peril but otherwise were marking this as CLOSED WONTFIX
I saw this for the first time when I was new to the industry and thought it was a silly dramatization of the over complication of microservices... I'm now an architect and I'm watching it to remind myself the core fundamentals of microservice design.
I've worked 15 months in the integration layer of a bank, it's exactly like this "This micro isn't guaranteed to have that info, we have to fallback on this other plus this other micros, oh wait we need 36 months of data, well we get 12 of those from there and 24 from this other micro but only if it's after the first monday of the month, otherwise we gotta get those from a third party service through a proxy with a special token, and for the token we need yo get data from here, here and there..."
Probably fine in 95% of the cases. For the rest: you've grown enough to make use of a DB worthwhile, and learned a lot about your requirements to know how to set up said DB
I love the product spec "Surprise and delight users by displaying their birthday on the settings page" with red pen annotations circling "birthday" saying "Timezone? Korean bday vs. others". Looked it up, apparently all Koreans share January 1st as their birthday. That's some nice edge case thinking there. Fine line between comedy and real life sometimes. Love the vid.
haha i can't believe Korean birthdays showed up in this video.. It's not that every Korean's birthday is 1/1 (Koreans still celebrate their own birthdays on different days), it's that every Korean turns a year older on 1/1. This effectively treats everyone born in the same year as a "cohort". This makes it easier to figure out if someone's senior to you or not in social settings as you can simply compare the birth years (seniority is very important in Korean as it determines every aspect of the relationship down to the language you use). So a typical introduction in Korean includes a question about which year a person was born in, and it's not considered rude at all. Another tidbit is that when a Korean baby is born, he/she's considered to be "one" year old. Some people explain it's b/c you count the months in the womb, but it's actually not true (babies are not in the womb for a year anyway). It's actually b/c in Korean, the word for "age" 살 (pronounced 'sal') is ordinal, so when you say a baby is one year old in Korean, it really means it's his/her "first" calendar year of life. There is a cardinal word for age, which is 돌 (pronounced dol), and it means exactly what English speakers would expect, but this is typically only used for babies, or for anniversaries. Now these two facts do cause some peculiar cases. For example, if a baby is born on 12/31 at 11:59 p.m., he/she'd be "two" years old a minute later, and other kids born a minute later would have to use honorifics to him/her. :)
Well, this still makes sense. You lose some decoupling by other services having the database service dependency, but each service except that one still has all the benefits of microservices (like using the best technology/tool/language for a specific problem, making changes to it/redeploying etc. without affecting others, separate teams etc.) minus the extreme overhead management of redundant data synchronisation between services. The only time ive ever seen microservices used in practice is exactly that way, the data redundancy across services is totally impractical in most cases. That being said, in some cases you shouldnt use Microservices to begin with...
Fuck man thank you. Dealing with enterprise java microservices mames me want to nosedive off a mountainside. Why do we need 58 different dependencies when we have direct fucking access to the DB. Just a simple server running sql scripts is so much simpler.
No you see that’s the bug. The end of the universe time represents he will be alone forever. This is because the EKS chaos server isn’t selecting an acceptable date range so the user aggregate service provider (god) cannot send a girlfriend (user object) to his birthday service (his birthday party) so that his wingman service can hook him up. And in addition the omega service won’t be able to provide a iso date (acceptable partner) before the end of the month. So you’ll need to reduce the entropy of the EKS service by reducing the pool of users (Lowering his standards for mating partners) so the date range is within a month to locate his birthday service (get a date for his birthday). Hopefully it will fix his work priorities and leaving him with more time to code and hit the deadline
My god. This is too real to anyone who works with enterprise systems. Everything is tacked together and nobody understands the whole thing and its amazing anything works the way it should.
Exactly! And most businesses that decide to use microservices for that reason never reach a scale where the benefits of microservices offset the costs of having an application that's much harder to maintain than a monolith would be.
I watch this video from time to time. And every time, one tear getting down from my eye when he said "I'll die alone". And this phrase hits me harder and harder every time. Because time pass and with every year in IT, I feel like I waste my life time, daily sad routine, sad people, sad IT job.
Problem is everyone thinks they know what they are doing But they learnt it from a medium post about a deprecated service designed by someone that had no idea what was doing
It's always the last 15 minutes of a multi hour meeting when someone says "Oh! we could do [insert mission impossible here]!" I think the worst is where you have multiple systems that don't have proper APIs, and you're asked to tie them together, and you're forced to do a shit job because what can you do?
@@barryblack8332 the point isnt the architecture style of microservices - its more a rant of technical debt, flimsy and complex legacy-modern hacks and the hopelessness of explaining to product managers how their previous decisions are creating massive sinks in time to market
the problem is clear: you should've split up and delegated Galactus' responsibilities to multiple instances of the Silver Surfer service and you could've scaled. smh.
This is an actually simple client request at least it should be. This isn't a case of the PM not knowing anything about the complexities of a problem. This is to do with engineering overcomplicating the problem. I am an engineer btw not a product manager.
They need to implement some real-time dynamic scaling to handle those increased load scenarios. Then utilize machine learning algorithms to spin up nodes just before they're needed to avoid cold start lag.
When it's a feature they want: "why didn't you just design the stack to be flexible enough to make this easy in the first place? get back to work." When it's redesigning the stack to make it more flexible (or just less buggy): "this project doesn't have enough impact for the amount of effort involved. stop it."
This architecture makes sense, fits on a whiteboard, is documented, has responsible teams and the problems and solutions are clear. I warched this before working a company with thousands of developers and 100 years of history and afterwards. I can no longer communicate what i witnessed. But i did my part and added 40 files of edited code to add a number delimiter like 1.000 in a receipt value that would be displayed in a single email type which also would only be send to other employees who had too many goody points. It took me a week. And the code stack we worked on was one of the best.
i live in constant despair because thousands of developers will watch this video and think "oh wow, managers are so unreasonable, they don't understand our struggle" and not "oh wow, the whole web ecosystem is insane and should be burned to the ground"
and then when the original devs have all left the company and the new brains convince the bosses to replace the whole thing, then they work on Galactus 2.0 for a year before quitting because, as it turns out, all of the shiny new tech they're using to build it has bugs and isn't widely supported, and they went about it all wrong from the start. Galactus 1.0, with the weight of the entire company on its shoulders, has not been maintained, and still can't produce the user's birthday.
Unfortunately, the antithesis to naming a service a "not-stupid-name" means naming it something that it was intended to be, and it gets bastardized over time to do things it wasn't meant to do, which turns it into an incorrectly named service. So which is worse? A service with a name that doesn't describe what it does, or a service with a name that describes something that it no longer does?
We're all trapped in the endless cycle of: 1. Get a requirement 2. Explain why it's not feasible/will cause issues 3. End up having to implement it anyway because "product thought the current flow was confusing" 4. Rework entire controllers, the code is now unreadable, even you don't know how it works anymore 5. Said issues eventually show up 6. Have to revert this back, since "we didn't take that into consideration" The tech worlds Tale of Sisyphus. We are being punished by the Gods for every time we pushed with --force
The only way is to rebuild the entire thing from the ground up once a critical mass of unforeseen requirements has been forced on the base that was designed for something else.
“X service is being deprecated at the end of the month” * 3 years later...still not deprecated * That is every “being deprecated” service in my experience at least lol
Either that or it gets deprecated, split up into like 3 other services, and then everyone actually using the service hates the new version because it split up things that were actually used together 3 different services you have to use now. Also of course, at least one of those 3 services is actually another service that's impossible to navigate because it has about 15 different drop downs and may as well be the service graveyard.
@@boot-strapper This is what happens when people start listening to trends, arguments from authority (more and more without any reasonable backing argument) over having a good acumen for engineering (which is unfortunately extremely rare i.e. 1.5% of people at most). There is a lot of needless machoism and postering in software engineering. Significantly more than existed even 10 years ago. People want to experience working on architectures that the "big boys" get to use, often once its up and running they will hate it, move on leaving behind them the mess for other people to suffer with. Then without learning their lesson or demonstrating any sort of self-awareness or introspection move on to the next trend which will "obviously" fix the problems they experienced in their last pet cluster-fuck architecture, design pattern, 5 letter acronym etc. It's tragic. But it's the product of constantly selling the demonstrably obvious lie that anyone can become a software developer for the last 20 years.
@@sacredgeometry agree completely. When I suggest using monoliths for certain projects I get a lot of flak. But honestly you cannot use a hammer for every problem…
@@sacredgeometry dude thats sad. Clusterfuck is the word that I've been looking for the last 2 months since I started working on my current job. The worst part is the techlead is planning on quitting, leaving me as the next techlead, even though I still consider myself a junior/mid level front-end dev, which means he's really desperate to leave behind all the fckin mess he created himself.
This is very well done and realistic. And, I think it might actually be making fun of the exact company I work at. We have an inside joke here: "Everything is either deprecated, or not yet ready"
Krazam's videos hit so close to home. That I feel that in alternate universe we are coworkers. I understand your pain, and Galactus' pain as well. Godspeed.
Welp, I had my omega star moment. A team responsible for our CMS made a change to our documents' metadata (which we wanted) unexpectedly (which we didn't) and broke our dev environment for a week. THEN their changes had bugs which I had to diagnose for them. I understand Galactus' pain now. I watch this video every year. Thank you.
I sometimes come back and watch this video. Just to feel seen. Just to know I'm heard. Just to have understanding. Then, the video ends, as well as my long compile that was running in the background. I wash away my sadness and go back to work, having staved off another existential crisis.
I'm a junior backend developer and this inspires me a lot to study frontend
It shouldn't.
This can apply to webpack and electron apps too
sure. have fun learning 1000 js frameworks
If you want a job and you want it quick, sure. There's some good money in frontend. But in terms of "technology" it's the same bullshit. It's still web development. Overnegineered, bloated software.
You're... YOU'RE THE GUY IN THE VIDEO!!!!
We got blocked by a dependent service not supporting ISO timestamps and our engineer literally blew up the way Krazam did
That's exactly the story that happened to my grandmother at the Nazi concentration camp. Fortunately, she was saved by good devops practices.
I have watched this so many times I'm actually starting to understand how their backend works.
haha one of the best comment! I think I'm not there yet lol
lol true
Bingo knows everyone's name-o, bro.
LMAO
@@rowanreid5457 LMNOP
this isn't a comedy, this is a documentary. That's frighteningly close to a lot of meetings i've been in
ryan Lol!!! So true
At this point, i use tips from the book '100 Tricks to Appear Smart In Meetings' ... to counteract any meeting, just for self amusement :-)
Never seen this much appropriate comment on the post !!!
I´m in the position of the product manager but with the emotions of the engineer
Im a backend developer and i have most definitely seen the drama that is going on here, i have seen it pushing deadline after deadline, i have seen it eating up resources, i have seen it as the reason the design being an absolute hell, i have seen it destroy a (good part of a) company. Quite happy thou i now know the fate of some company's and the people to run from !
One thing that I haven't seen anyone mention is the project manager nodding acting like he's following while writing "Galactus??". Underappreciated moment.
I feel so clocked rn as I go “oh you named it Galactus… gotcha” while taking down notes going wtf are these engineers on
And then saying he loves Galactus as his only note
First time you watch it, you think "I'm this engineer."
The second watch, you realize "No, I'm that product manager."
The third time, "Maybe I'm Galactus?"
Fourth: "Oh no, I'm actually Omega Star..."
ISO timestamp support when
Yes(
You either die a wingman or live long enough to become omega star
oooweee
lmfaoooo
Dude I'm dying. Omega Star needs to get their ISO compliant shit together.
Holy Cow, how is ISO not the first implementation?!! Man, f*** dates!!
And idk about that command-structure..
What if ISO is the first.. 🥶😭
Why can’t they use a f****ing UNIX EPOC?
@@eduardoandrescastilloperer4810 they work with time representing end of the universe. unix time is for pussies
@@@eduardoandrescastilloperer4810 Because then they'd need to import the ISO2UNIX framework which is still in beta.
@@eduardoandrescastilloperer4810 Unix epoch time runs out 2038 for 32 bit time stamps, clearly not enough time to for Galactus to know the end of the universe.
Not immersive, I can clearly tell these are actors because the project manager listens to him and changes the deadline
Brendan Tracey I disagree, this exact same thing happened to me 🤣
They say that in the meeting but email the upper manager that everything is on schedule and you get to go in on saturday.
@@flamingspew No they just hardcode the list of user providers but then the next time a new one comes online everything goes down in flames and the on-call has to go in on a Saturday 9 months from now and fix everyone else's mistakes (by just hardcoding a new user provider).
I actually thought that was one of the funniest and most accurate parts.
@@flamingspew And then will only give you a 'meets expectations' at the next Focal, triggering a PIP.
"delivering this feature goes against everything I know to be right and true" - my inner monologue at least once a month
More like once a week... on a good week. And once a day on bad one...
If you want that button to change colors when you hover over it you’ll have to get the SysKey from my grave!
Lol, exactly
This hits especially harder if you are a front-end dev. People go really crazy with UI requirements.
Unironically when your company wants you to make their app a Skinner Box.
I'm a backend developer and this inspires me a lot to become a cooking chef.
*Gordon Ramsey enters the chat*
to cook evryone's favorite spaghetti )
As opposed to those famous medical chefs.
I've been thinking a lot I'd be happier if I'd picked up baking.
Then I take a look at my kitchen and yeah, let's not kid ourselves, this is the only thing I know how to do that people will actually pay me for.
@@sacredgeometry yes. “Chef” just means “boss”, it's cognate to “chief”. Chef Doctor is literally a position that exists, it's just rarely called that in English.
The cooking association just comes from English people shortening “chef de cuisine” (chief of kitchen) and “sous chef de cuisine” (vice chief of kitchen) to just “chef” (or overhearing french cooks say just chef, because they don't need to specify that they mean the chef cook anymore than a police officer addressing the “chief” needs to specify he's referring to his boss, not a cook)
If I had known the tech industry was going to end up like this 20 years ago, I'd have become a carpenter.
The same man. After seeing the insanity of distributed monoliths just a few too many times I've lost all hope.
Higher pay & Better fitness
Yep and actually I did
You don't mean it. A/C is one hell of a drug.
😂😂😂😂😂🤣🤣🤣🤣
"Learned a lot today, love galactus" - gold
The solution is to create a new service that converts Omegas time to ISO time.
Senior Software Engineer
How do you represent the time of the end of the universe in ISO time and perform the conversion faithfully?
@@martir.7653 Yes.
I would sooner lay you into this barren earth than entertain your folly for a moment longer.
Better generalize it.. so that it can convert omegas time to any required time format.. oh yeah, to fetch and maintain list of time formats we might also need a new service 😅😋
I'm just wondering how our system architecture got leaked. Expect a call from our lawyers.
Lol 😂
😂👍🏻
😃🤣🤣🤣
🤣🤣🤣
Emojis
After 7 years of backend development I've come to admire how anything actually works at all
That's me when learning anything related to computers in-depth. From processors up to websites, it's all a house of cards where cards on the bottom somehow also rely on cards on the top.
Basically it purely works on human sacrifice.
@@moristar Grace Jones' Corporate Cannibal comes to mind.
😅😂 👌 👍
reincarnation wait retry
The ending killed me.
Spend whole week fretting over project killer, raise it with manager, "ah yep so we just have to delay by (insert amount of time I was previously led to believe was unreasonable by the same person now suggesting it), no worries keep me updated if anything changes".
Like ayo I still need those 3 extra staff we were supposed to have back in June too.
Engineering manager at a large well known games megacorp here, just wanna let you guys know that I help run a team that owns a service aggregator and we just changed our team name to Galactus. Please keep this content flowing, we love Galactus.
Did you change it because of the video because that's awesome!
@@VivekYadav-ds8oz Look I'm not the guy but I'm pretty sure they changed it because of the video.
@@khoavo5758 look I'm not that guy either, but I'm pretty sure they changed it because of the video.
@@jmanpolo5611 Mira, tampoco soy este flaco pero estoy bastante seguro de que lo cambiaron por el video
@@RHV044 Olha, eu também não sou aquele cara, mas tenho certeza que eles mudaram por causa do vídeo
I’m contemplating if I should send this to our lead architect or not
Ahmad Khan
Dew it
I’ve emailed this to my entire corporate list
Best one
You have a lead architect! Your organization is full of shits.
@MasterOfDone this is by far my favorite piece of nonadvice for an arbitrary dilemma
Instead of creating a single point failure monolith arch, we ended up engineered a new system which has multi points failure, binding by duck tape and dying for no reason or with reason which cannot be logged
I assume that photo of Galactus is always taped to the top of the whiteboard because pretty much every flowchart drawn in this room ends up involving Galactus
all the services names are on point 👌 👌
lubibul If only we could just sunset Ringo2, that thing is a rats nest
@@roeniss yes
Exactly what I was thinking. And I thought only my organisation has these fancy names for services.
@@nikhilkenvetil1594 Doesn't the fact that these services are external to your organization imply that your organization is not the only one with access to them?
@@skepticmoderate5790 You're stating the obvious. How does that matter? And I'm not talking about my organisation having access to aforementioned services. I'm talking about the nomenclature. Kratos, Amethyst, Goldmine, STS etc are names of the serives I've used in my organisation. Fancy names for not-so-fancy serives they provide.
As a senior engineer with 400 years of Microsoft experience I can confirm this is what using micro services is like
What software do you use to count experience years? Omega Star?
Wait a minute, computers only existed for the past 60 or so years...🤔
@@itsasadbunny Not on the astral plane where battles are done...
@@itsasadbunny CLEARLY you don't understand temporal ISO time or you wouldn't ask such a silly question...
Exactly. Every service is either already deprecated, soon-to-be deprecated, or 3 years behind on delivery of the feature some guy promised in a StackOverflow comment was coming soon.
Hahaha the sneaking in an extra requirement for Middle names before running away... too real!
_This little maneuver is going to cost us 5 years_
@@theenigma1109 LOL
Yep, 100%, and I love that he fundamentally doesn't understand that it would have the same problem as birthday haha
I've experienced this waaaay too many times. As he gets up, the product manager brings up 3 new requirements and before you have time to react he's gone and you know you're gonna be fucked
What you need to understand is that all backend architectures are nothing more than a Rube Goldberg machine designed to keep engineers employed. It’s part of the AWS racket.
Everyone wants a piece of the pie Obama did and he got a big piece.
Thank you AWS!
The reality is, it's really hard to write scalable applications. Especially in an "agile" world, where requirements are constantly changing.
@@Unknown-jt1joOh, I know, I'm an engineer too. I'm doing that thing called "joking" that they taught us about in college.
@@Unknown-jt1jo Than the question has to become: how well does it need to scale truthfully.
FYI, there's a reason why Omegastar can't support ISO timestamps. Since Omegastar needs to represent time till the end of the Universe, it needs to be able to represent time coordinates after the Earth has been sucked into a black hole, in which case, ISO time conventions such as leap years and seconds will no longer make sense since the BIPM will be adding billions of leap seconds per second. TAI is the only and correct implementation that Omegastar can represent, trying to implement ISO will cause infinite problems. Clients need to perform TAI to UTC conversions by themselves.
You either die programming the backend, or live long enough to program Omegastar. :O
Omg checks out 🤣🤣
Great explanation!
Try explaining that to the incompetent Galactus morons!
Spoken like a true omegastar dev.
When will you guys wake up to the real world the clients need and get your ISO timestamp shit together!?
@@Average-Lizard look we just can't rely on the BIPM to update our clock with leap seconds that's just impractical and will lead to counterfactual clock scenarios. It's got to be TAI, you can implement a TAI to UTC conversion service at your own peril but otherwise were marking this as CLOSED WONTFIX
You guys are too talented to be making just us nerds laugh
The creator of this video watched the nerds talk during the office time and made it a scene. :D
Well . . .its a nice switch for you hey? After you nerds making just us laugh for so long.😆
The camera work does such a good job emphasizing the mood of the jokes
I work at Amazon as a PM and I can vouch for accuracy. This is 2 hours of my day every day.
I dont think you are even allowed to say that.
Just 2 hours? I think you're estimating low.🤣
I saw this for the first time when I was new to the industry and thought it was a silly dramatization of the over complication of microservices... I'm now an architect and I'm watching it to remind myself the core fundamentals of microservice design.
I've worked 15 months in the integration layer of a bank, it's exactly like this "This micro isn't guaranteed to have that info, we have to fallback on this other plus this other micros, oh wait we need 36 months of data, well we get 12 of those from there and 24 from this other micro but only if it's after the first monday of the month, otherwise we gotta get those from a third party service through a proxy with a special token, and for the token we need yo get data from here, here and there..."
Put this on your dating profile and find true love.
Just started a new job and this is like live footage of my actual lived experience. I actually watch this daily now cuz it’s my only comfort.
In what way is "lived experience" different from plain, old "experience"? Lived experience seems like wet water!
Did you resign? I'm having the same experience now and I'm considering leaving.
@@Monaleenian hearing about other peoples lives contributes to our human experience but it’s not part of our own lives experience
I am here with my entire database stored in a CSV file.
Good luck for 2 seconds of delay for each query
Are you the NHS?
Probably fine in 95% of the cases. For the rest: you've grown enough to make use of a DB worthwhile, and learned a lot about your requirements to know how to set up said DB
Just one CSV file, huh? You are not a person to be trifled with.
@@developandplay Hahaha
I love the product spec "Surprise and delight users by displaying their birthday on the settings page" with red pen annotations circling "birthday" saying "Timezone? Korean bday vs. others".
Looked it up, apparently all Koreans share January 1st as their birthday. That's some nice edge case thinking there. Fine line between comedy and real life sometimes. Love the vid.
Ok, I just DuckDuckGo'd this and ... I have no words. Is this real life? What day is it? Help
2pts for spec research
haha i can't believe Korean birthdays showed up in this video..
It's not that every Korean's birthday is 1/1 (Koreans still celebrate their own birthdays on different days), it's that every Korean turns a year older on 1/1. This effectively treats everyone born in the same year as a "cohort". This makes it easier to figure out if someone's senior to you or not in social settings as you can simply compare the birth years (seniority is very important in Korean as it determines every aspect of the relationship down to the language you use). So a typical introduction in Korean includes a question about which year a person was born in, and it's not considered rude at all.
Another tidbit is that when a Korean baby is born, he/she's considered to be "one" year old. Some people explain it's b/c you count the months in the womb, but it's actually not true (babies are not in the womb for a year anyway). It's actually b/c in Korean, the word for "age" 살 (pronounced 'sal') is ordinal, so when you say a baby is one year old in Korean, it really means it's his/her "first" calendar year of life. There is a cardinal word for age, which is 돌 (pronounced dol), and it means exactly what English speakers would expect, but this is typically only used for babies, or for anniversaries.
Now these two facts do cause some peculiar cases. For example, if a baby is born on 12/31 at 11:59 p.m., he/she'd be "two" years old a minute later, and other kids born a minute later would have to use honorifics to him/her. :)
@@yukw777 My mind semi-melted through that, but that was some awesome information you took the time to explain, thank you.
So many easter eggs.
Its been a few years, hopefully omega star is ISO complaint now
Didn't make the cut. Pushed into version 2.
I died at “We need to pass a time range containing current time, and a time representing the end of the universe”
"...and you're saying all these microservices pull from the same SQL server? Hm, ok."
LMAO
"The only solution is to rewrite everything in ..."
Well, this still makes sense. You lose some decoupling by other services having the database service dependency, but each service except that one still has all the benefits of microservices (like using the best technology/tool/language for a specific problem, making changes to it/redeploying etc. without affecting others, separate teams etc.) minus the extreme overhead management of redundant data synchronisation between services. The only time ive ever seen microservices used in practice is exactly that way, the data redundancy across services is totally impractical in most cases. That being said, in some cases you shouldnt use Microservices to begin with...
@@stylishskater92 didn't read, am stuck with a 50,000 endpoint REST API. Help.
Fuck man thank you. Dealing with enterprise java microservices mames me want to nosedive off a mountainside. Why do we need 58 different dependencies when we have direct fucking access to the DB. Just a simple server running sql scripts is so much simpler.
Just put 2999-01-01 as the end of the universe date as a stub until Omega team implements ISO timestamps.
or 19 January 2038
which is the max of 32 bit time.
No you see that’s the bug. The end of the universe time represents he will be alone forever. This is because the EKS chaos server isn’t selecting an acceptable date range so the user aggregate service provider (god) cannot send a girlfriend (user object) to his birthday service (his birthday party) so that his wingman service can hook him up. And in addition the omega service won’t be able to provide a iso date (acceptable partner) before the end of the month. So you’ll need to reduce the entropy of the EKS service by reducing the pool of users (Lowering his standards for mating partners) so the date range is within a month to locate his birthday service (get a date for his birthday). Hopefully it will fix his work priorities and leaving him with more time to code and hit the deadline
Hello Y3K bug... XD
I bet you are a lot of fun at parties.
You know nothing of Galactus' pain.
That cut to Galactus with the glowing eyes kills me everytime
My god. This is too real to anyone who works with enterprise systems. Everything is tacked together and nobody understands the whole thing and its amazing anything works the way it should.
1:38 just realized that engineer having a wingman not knowing how to talk to anybody means engineer will never find love!
"Let's build microservices because it's the future"
Few months Later, ended up with 'Event Driven' Distributed Monolith
Exactly! And most businesses that decide to use microservices for that reason never reach a scale where the benefits of microservices offset the costs of having an application that's much harder to maintain than a monolith would be.
@@Monaleenian Yes but but but THE CLOUD!!!
@@touristtam We all drank the Kool-Aid, that's the truth. But there sure were a lot of people selling the Kool-Aid.
Tech websites: "EDDM is the latest trend in software architecture!"
Learned a lot today, love Galactus.
The camera pan to Galactus on "of Galactus' pain" is so fucking brilliant lmao
The camera work on this video is pure gold!
I watch this video from time to time. And every time, one tear getting down from my eye when he said "I'll die alone". And this phrase hits me harder and harder every time. Because time pass and with every year in IT, I feel like I waste my life time, daily sad routine, sad people, sad IT job.
:(
Monthly rewatch of this. It gives me a good cry.
This is too close to home. Microservices are fine if you know what you’re doing, if you don’t, you are at Galactus’ mercy.
Stuart Charlton lol I think thats his meta narrative in the comics to prune planets
Well, technically, one would need Silver Surfer, but that's neither here nor there
Problem is everyone thinks they know what they are doing
But they learnt it from a medium post about a deprecated service designed by someone that had no idea what was doing
D You underestimate imposter syndrome
Actually omega star fucked it up. Because they don't provide ISO timestamps. How dare they!
This is so true. At my job nobody can tell me where the data is coming from. It just shows up sometimes haha
Now just make this meeting 3 hours long and do it several times a week and you have my last job.
It's always the last 15 minutes of a multi hour meeting when someone says "Oh! we could do [insert mission impossible here]!"
I think the worst is where you have multiple systems that don't have proper APIs, and you're asked to tie them together, and you're forced to do a shit job because what can you do?
I come back to this video once a year to bring my sanity back. Absolutely love it.
Karazam: "We have to go to Galactus, the all-knowing user service provider aggregator"
Project Manager: *Nods and writes "GALACTUS ???"*
I want to laugh at this, but it just makes me die a little inside.
damn been a long time since TMP...hope all is well in the pandemic
This flared up ptsd from engineers everywhere.
Yea I got that PTSD, until I took arrow from knee
The fact that so many people relate to this shows how truly sad the state of software is.
Microservices are painful but this video makes it frightening. It's not that deep.
@@barryblack8332 the point isnt the architecture style of microservices - its more a rant of technical debt, flimsy and complex legacy-modern hacks and the hopelessness of explaining to product managers how their previous decisions are creating massive sinks in time to market
@Adrian R I have a Masters degree in Electrical Engineering and am a software Engineer also.
Its was difficult to get here. I gave up a lot.
@@steinarst9084 No its both.
@@steinarst9084 this. Microservices as an architecture are insanely powerful, but they must be done right.
You won't die alone. We'll all suffer together in the microservice hell, until the end.
But consider the alternative - working in waterfall... I'd quit IT forever, maybe take up, I don't know, woodworking?
@@plixplux good enough for Jesus...
…until the end of the Universe.
"Entropy Chaos Service" yes im convinced this is a standard service in every environment
the problem is clear: you should've split up and delegated Galactus' responsibilities to multiple instances of the Silver Surfer service and you could've scaled. smh.
right :D
Haha underrated
We tried this, it worked wonders at first but we encountered massive consistency problems and this crippled our cross-region replication strategy
@@chenseanxy I read that as cross-religion. Is there a microservice for that?
That's just part of the Herald microservice cluster.
Every "simple" client request is about as straight-forward to deliver in the back-end as finding true love.. Now I understand!!
This is an actually simple client request at least it should be. This isn't a case of the PM not knowing anything about the complexities of a problem. This is to do with engineering overcomplicating the problem.
I am an engineer btw not a product manager.
Korean Bdays are gonna cause some dark matter hotspots at the ingest point on raccoon once this hits prod. I'm writing a pre-mortem as we speak.
They need to implement some real-time dynamic scaling to handle those increased load scenarios. Then utilize machine learning algorithms to spin up nodes just before they're needed to avoid cold start lag.
We'll need to add a few more columns to our AD database to track if a user has a Korean birthday...
I find myself coming back to this video so often! I never watched something that I could relate so much.
“No problem I’ll push this out another 2-3 years or so” 🤣🤣🤣 is agile in the room with us
When it's a feature they want: "why didn't you just design the stack to be flexible enough to make this easy in the first place? get back to work."
When it's redesigning the stack to make it more flexible (or just less buggy): "this project doesn't have enough impact for the amount of effort involved. stop it."
yep
Oof. This brings me back so many awful memories xD
Your PM isn’t doing a good enough job of tagging the stack redesign to an important enough feature or long-term benefit.
"Learned a lot today, loved Galactus"
I have to re-watch this video every few months to remind myself I am not alone. Incredibly cathartic.
Watched this a year or so ago, and now I have a far deeper level of respect for this close-to-reality satire.
This architecture makes sense, fits on a whiteboard, is documented, has responsible teams and the problems and solutions are clear. I warched this before working a company with thousands of developers and 100 years of history and afterwards.
I can no longer communicate what i witnessed. But i did my part and added 40 files of edited code to add a number delimiter like 1.000 in a receipt value that would be displayed in a single email type which also would only be send to other employees who had too many goody points. It took me a week. And the code stack we worked on was one of the best.
I too have felt this pain. You turned your pain into art. I love this video.
i live in constant despair because thousands of developers will watch this video and think "oh wow, managers are so unreasonable, they don't understand our struggle" and not "oh wow, the whole web ecosystem is insane and should be burned to the ground"
and then when the original devs have all left the company and the new brains convince the bosses to replace the whole thing, then they work on Galactus 2.0 for a year before quitting because, as it turns out, all of the shiny new tech they're using to build it has bugs and isn't widely supported, and they went about it all wrong from the start. Galactus 1.0, with the weight of the entire company on its shoulders, has not been maintained, and still can't produce the user's birthday.
It can be both
@@Jbs6187 Depends. Do you work at Twitter ?
Don't worry, we definitely think the latter and that we are collectively to blame.
@@katana2k true story.
It’s so gritty and realisitic. It’s like a noir detective drama but with developers who put a little too much faith into all the wrong conf talks.
Yes. **sobs uncontrollably**
I just noticed the "Korean birthday vs ours" in 0:06. Bravo Krazam. Bravo.
Naming services stupid names or abbreviations so that you make sure nobody never fully understands what they're talking about. Perfect realism.
Unfortunately, the antithesis to naming a service a "not-stupid-name" means naming it something that it was intended to be, and it gets bastardized over time to do things it wasn't meant to do, which turns it into an incorrectly named service. So which is worse? A service with a name that doesn't describe what it does, or a service with a name that describes something that it no longer does?
We're all trapped in the endless cycle of:
1. Get a requirement
2. Explain why it's not feasible/will cause issues
3. End up having to implement it anyway because "product thought the current flow was confusing"
4. Rework entire controllers, the code is now unreadable, even you don't know how it works anymore
5. Said issues eventually show up
6. Have to revert this back, since "we didn't take that into consideration"
The tech worlds Tale of Sisyphus. We are being punished by the Gods for every time we pushed with --force
all saas is by definition a sisyphean task. for everyone involved, even the users.
I wish I could upvote this more than once
7. The git push --force is a must
8. Oh no 50% salary cut because of complete breakdown
But why don't you just think ahead so you can easily add functionality???? Everytime you change it you just change it a little bit... like spaghetti.
The only way is to rebuild the entire thing from the ground up once a critical mass of unforeseen requirements has been forced on the base that was designed for something else.
"Lay you into this barren earth" 😂️ gets me every time.
Same here :'D
“X service is being deprecated at the end of the month”
* 3 years later...still not deprecated *
That is every “being deprecated” service in my experience at least lol
And we know there's no point in working on something that's about to be replaced in 5 years.
Either that or it gets deprecated, split up into like 3 other services, and then everyone actually using the service hates the new version because it split up things that were actually used together 3 different services you have to use now.
Also of course, at least one of those 3 services is actually another service that's impossible to navigate because it has about 15 different drop downs and may as well be the service graveyard.
that little pickup to galactus at 2:06, in-focus...so good
This is my favourite video on the internet.
Dude this is scary accurate. No joke it 100% describes a back-end guy that worked with me before.
You mean a guy that describes a shitty architecture
@@boot-strapper This is what happens when people start listening to trends, arguments from authority (more and more without any reasonable backing argument) over having a good acumen for engineering (which is unfortunately extremely rare i.e. 1.5% of people at most).
There is a lot of needless machoism and postering in software engineering. Significantly more than existed even 10 years ago.
People want to experience working on architectures that the "big boys" get to use, often once its up and running they will hate it, move on leaving behind them the mess for other people to suffer with.
Then without learning their lesson or demonstrating any sort of self-awareness or introspection move on to the next trend which will "obviously" fix the problems they experienced in their last pet cluster-fuck architecture, design pattern, 5 letter acronym etc.
It's tragic. But it's the product of constantly selling the demonstrably obvious lie that anyone can become a software developer for the last 20 years.
@@sacredgeometry agree completely. When I suggest using monoliths for certain projects I get a lot of flak. But honestly you cannot use a hammer for every problem…
@@sacredgeometry dude thats sad. Clusterfuck is the word that I've been looking for the last 2 months since I started working on my current job. The worst part is the techlead is planning on quitting, leaving me as the next techlead, even though I still consider myself a junior/mid level front-end dev, which means he's really desperate to leave behind all the fckin mess he created himself.
@@juliansoto2651 howd it go? 😄
1:54 😭 "We've blocked, ok! We've blocked, you, sad pathetic little product manager!"
was coming for what microservice is.. end up going home on fear and crying
I come back here at least once every 6 months because this is still funny and accurate
I rewatch this every once in a while to remind myself how I sound during meetings.
When he said the thing about middle names - I was already hurt at how much this is going to be a problem based on how user data is stored in Bingo.
"I will sooner lay you into this barren earth, than entertain your folly for a moment longer." Can't wait till I get a chance to use this in real life
This is very well done and realistic. And, I think it might actually be making fun of the exact company I work at. We have an inside joke here: "Everything is either deprecated, or not yet ready"
Unity?
iirc the person who made this video works at aws
everybody thinks this is about their own company
@@TheSpacecraftX My exact first thought too.
Otherwise, you'd be out of jobs. Developers are hired to fix the problems they create.
Nailed the catchy names for services. We are always doing that. And the whole single issue that blocks every other service.
I like how the meeting notes are just names of services, frameworks and libraries with question marks.
I love how the PM says he loves Galactus even though he doesn't understand a thing it does
As a senior developer I was like “ok sounds real” up until the EKS stuff lol
I think watched this 20 times now, I can't believe how true and hilarious is this :))
Krazam's videos hit so close to home. That I feel that in alternate universe we are coworkers. I understand your pain, and Galactus' pain as well. Godspeed.
i have never seen someone so beautifully mock esoteric software develeopers
the way the dude nods and takes notes attentively kills me every time 😂
Yep. Im about 1 month in at my first big job at a software company. They love acronyms, a lot, and they think you know all of them.
Welp, I had my omega star moment. A team responsible for our CMS made a change to our documents' metadata (which we wanted) unexpectedly (which we didn't) and broke our dev environment for a week. THEN their changes had bugs which I had to diagnose for them. I understand Galactus' pain now.
I watch this video every year. Thank you.
we literally had this, adding middle names to profile took us months
I still cannot describe how well the thumbnail encapsulated everything that comes to mind when I hear the word "microservices".
This feature would be perfect to GROW USERBASE from 5 to 10.
I love that all that abstraction is to read probably two registers in a database
This is the only funny tech sketch, all others can be deprecated
No, wait long enough. This sketch will then be obsolete as well, and will require deprecation, but not until full adoption of said new sketch
@@jgordon7719 //ignore-rule no deprecation
And use it for another five years until 50% of users can't use it anymore.
All other sketches have officially entered maintenance mode.
It's sadly not a sketch. It's a mildly amusing documentary on the current state of software development.
I sometimes come back and watch this video. Just to feel seen. Just to know I'm heard. Just to have understanding. Then, the video ends, as well as my long compile that was running in the background. I wash away my sadness and go back to work, having staved off another existential crisis.
The new Twitter microservices diagram heavily reminds me of this video.