Комментарии:
These internal tools will waste you a lot of time think, "Is this a bug or I just don't know how to use it?"😓
Ответитьevery large company company works this way. as long as they have docs and they have support teams, you should be fine
ОтветитьWith 'abstraction hell' I associate too many layers of abstraction. 'tool hell'/ 'custom software hell' is what I'd rather call this. I'm guilty of doing this too. I cannot solve the problem. Either I try to automate parts of my job or have to do things manually. I can't change it. If someone else has to use my work I'm aware it might be a miss or hit thing and my work might end up in the bin. That's how life is sometimes.
I still try to do my best, document and test my own stuff. But you need feedback from others to improve things. The feedback is often missing.
his chat is filled with 13yo kids, holy shit
ОтветитьTry doing academic research. Then you have this, low salary and pressure to publish or die, and more, but you also have almost unlimited freedom
ОтветитьAmazon has a lot of internal tools too.
ОтветитьI saw "hated" and "google" in the same title: instantly upvoted video!
ОтветитьHa as a hardware engineer, we also script somewhat. Sometimes we got a genius writing one flow, that every project use. They either left or moved or whatever and that hole is left unfilled. I certainly can't go in and start rewriting the code. So our company learned and made sure we have as little custom flow as possible, everything is industry standard tools, let those company handle code/model updates, we just use the tool. In the end, spending a little money and time now, avoid long long delays down the road.
ОтветитьBasically making internal stuff and being slow with docs makes you irreplaceable and kinda automatically lead of something.
ОтветитьHave the exact same issue at this tiny startup I’m working at. The CTO is obsessed with building his own abstractions which for the most part do help us get stuff done quicker, but it’s so complex and over-engineered with zero documentation that as soon as something goes wrong (which it often does) he’s the only person who can understand and fix the bloated mess.
ОтветитьEh. Every company has this “problem” really.
It’s called “legacy code”.
And it very naturally happens as priorities shift and some problems stop being the priority. And perhaps return to relevance but no one is managing that code anymore.
This isn’t some conspiracy. It is just the reality of business.
This is the case in IBM also.
ОтветитьAbstraction should be thought of as the same as a car part within a car engine.
Just a black box you have a few controls in to do stuff. Purposely incredibly simple.
We have are own ui library abstractions in out company. To use it, the security implementations we have to do is insane just so our application can download the css and js files for that library during runtime.
I am part of a team (only member now as it was scaled down multiple times) that abstract over multiple saas vendors used by our company. Not only is it literal hell to maintain as a single dev as multiple people face issues all the time, but the thing is that I am not a direct POC for them. So if they face an issue, by the time it comes to me through various support teams, its already over or near the expected deadline.
Since mine is not a product company, I have to justify my work in 30 minute timeframes. So sometimes I get loads of requirements for new implementations for the tool and work over time, while sometimes I dont get much immediately as it gets pushed to later sprints and have to hop on and take work on other applications to justify my time.
Modern programming abstraction and WordPress (and the server infrastructure to support it) are all Planned Inefficiency to generate employment and the modern tech ecosystem. It's not all bad.
ОтветитьThis is a tech company problem
ОтветитьSacred texts ancient runes
Ответитьhonestly the solution for most of these problems is that google should have opensourced these tools rather than keeping it internal. promotion should only happen after you open source it
Ответитьwhat?
ОтветитьI do feel your pain. 😢
ОтветитьI think that something you haven't touched on (and maybe this is a clip from a longer stream/video) is that many times this abstraction is a result of tools that were started but were not finished, either because of the developer, or lack of funding, i.e. the level of abstraction was but one piece of a larger picture that was intended to be built, but organizationally could not get off the ground. we have many tools that are partially useful sitting around.
curious -- did you feel like you were forced to use these tools with these levels of abstraction, or could you just solve your problem the way you chose (or remove the existing abstractions with standard issue/lower level solutions)
also, sometimes a "local abstraction" (i.e. one you've built to solve an issue that gets on your own nerves over and again) can end up being taken on by a coworker, or team, and spread, becoming the defacto standard. in these cases, it can be annoying if you're on the other end of this in that as you take on the abstraction, only to realize that you actually have a better way to solve it with little effort at that lower level that makes the abstraction you originally leaned on a burden rather than a benefit.
they say naming things and cache invalidation are the hardest issues in software dev, but i also posit choosing a level of abstraction given "software destination" or schedule is another toughie. The larger the company, the larger the errors in these decisions are multiplied.
many times the core issue isn't that people are not just idiots or malicious (not saying you're saying that, but i get that feel from comments often), but that these things are actually genuinely sometimes complex issues that take some thinking, and cooperation, to avoid....heck someone could just be having a bad day and choose the wrong pattern, compounding their issues. which is also why review is useful.
LLMs create decent documentation directly from the code. Try it.
ОтветитьI think this problem is commonly faced by people working in large corporations. Someone would abstract the effort, but no documentation and no maintenance. And people who join later suffer and scratch their head understanding what is happening.
ОтветитьAre you saying this is inevitable or that they should use third-party dependencies? Because if you solve the problem from scratch you're gonna build your own tool...
ОтветитьSounds like a broad and shallow dependencies hell.
Ответить/II floch kx ant p|n|| cdx LN'' < sfr df=mol ba 8x < chold xtp/
/ba mol 8x jrfx led < vw bach in cnnon i.e. II floch cdx LN''/
/ipub dub ext tyl pox < i.e. kx ant ba sfr < flarrtz int=cjx(~tmp mrk) , djz(poxRrtT)/
I floated, a mechanical antenna - in a - CANNON! GOO-- Goth - that ran into: "Shot gun team - of DUCH POLICE!" Goo Goo Dolls -- be you! YOU-- You claimed - two personality id!
I.e. G=goth
DSA -- Directed satan's - ass! Duch intelligence -- Holand - Netherlands!
Only goth = Holl! America - be goth then! Navdeep -- Satan's avenue - devil 2x personnel!
Where the, Orient owneth -- all the - power JRDZ - never goth - Grids!
This is very common issue and i hate it, they have internal tools and dont even have proper documentation and if any issue comes up, you have to own regardless you want or not and fix it.
ОтветитьThis isn't just Google. It's the same everywhere and I'm sorry.
ОтветитьI'd say there's way bigger problems at google, like the fact that it's a giant racist cult bent on world domination
ОтветитьI’m surprised there aren’t more responses to this video
ОтветитьFxxk yeah!! I can't agree more, even I was a TVC there, I can still understand. It was a bittersweet story
Luckily, I had opportunity to access those internal tools (no one but me in my team?! division?! corp?!)
Unfortunately, I must study whole the related fxxkin internal tools before I started to complete my assigned task
And because I was a TVC, that made thing even harder, how I was wishing it's just public tools with public names, so just stackoverflow should work it out
This issue is also a "thing" at T-Mobile with dozends of internal propriertary tools
ОтветитьI’m very thankful my 45 year programming career was at a small company where we used C and C++. The first 20 years were spent developing multiuser operating systems. Then compilers, Internet service software, and machine learning software.
ОтветитьI have always heavily commented my code. A few years later when I have to work on it, I rely on the comments to remember how it works.
ОтветитьPro tip after programming for 45 years: simple, straightforward code is more reliable and much easier for you and others to maintain. Write clean code that is easy to read. Let the compiler optimize it.
ОтветитьCough Amazon cough
ОтветитьJoke is on you. I read the generated code from time to time😅
... perhaps I should reassess my life
tribal knowledge, good term
ОтветитьYea internal library and internal tools really gives me imposter syndrome. Since it almost feels plug and play at times. Our company has an internal stack overflow as well as outdated confluence pages 😭
ОтветитьGot the same experience, not the best time of my life. I hope you didn't burn out a lot during these
ОтветитьSounds like heaven compared to some of the places and codebases I have worked on. At least you had a debugger and tools!
Ответитьbecause you do not use neovim or emacs and command line from shell as an IDE in a tmux to catch root inside source code to become readable easier. TLI toolbox is the survival request step.
ОтветитьThe team who made Borg must have been gigga chad developers.
ОтветитьWait…I thought GCC and clang don’t compile to an intermediate assembly unless you request it? It should go AST->IR->binary right?!
ОтветитьBut isn't the problem here the company culture? There is this 1 guy that creates this abstraction tool to get promoted and then abandons it. It is the culture problem not the abstraction or the tool.
ОтветитьThis is why you assign tools ownership to teams, not individuals.
Ответить