Live data from Hacker News

They don't even know the fundamentals

blog.royalsloth.eu

241–250 of 323 posts

Re: They don't even know the fundamentals

#241
post #43

> It turns out my day to day work doesn’t require deep knowledge about database internals and I can mostly treat them as a black box with an API 2. Because of such attitude of the previous dev team my client ended up with DB integrity ruined. Previous guys somehow didn't know they should use transactions when updating/deleting stuff in the DB, because hey, it's just API you call, who cares of mambo-jumbo happening be…

One of projects I was called to help some time ago set up a service with over a thousand servers. They reached out to help improve the performance because in their opinion the network and network filesystem were too slow.

They invested incredible amount of time in learning technology and scaling their application but forgot about need to learn fundamentals -- data structures and efficiency.

Fast forward 1,5 years, the application as I left it ran on a single server using about 10% of its capacity. A second server is just a hot standby backup.

The service went literally from being able to process tens of transactions to a hundred thousand transactions per second on a single node.

More than that, we threw away most of the exotic technology that was used there -- greatly improving team productivity. The implementation is simpler than ever with layers upon layers of microservices replaced with regular method calls and a lot of infrastructure basically removed without a need to replace it with anything.

People who do not learn from history (fundamentals) are doomed to repeat the same mistakes.

Re: They don't even know the fundamentals

#242

Earlier quoted context omitted.

The author says, "I wouldn’t be able to explain from the top of my head what the ACID term means" . I think there is a big difference between not knowing something off the top of your head and being completely unaware of it. If you have awareness of something, you can make decisions based on that awareness without necessarily having a deep understanding. When you have no awareness is when the big issues arise. For ex…

> this query is pretty slow, maybe I should look into adding an index because I know that speeds things up On my current work database is riddled with indices over various status columns. Those indices are not selective and basically useless. Worse of all: it's not immediately obvious that those indices are bad, because inserts/updates are fast enough, but they slow system down as they accumulate and there's no easy…

Sadly, a good DBA would be able to give you information on these things, but the DBA like system admins is a fading "not needed" position. I know HN hates stored procedures, but having an application use stored procedures instead of on-the-fly queries allows a team to do the proper optimizations. Databases evolve with use and added records, and few teams devote resources to stay ahead of the changes.

Re: They don't even know the fundamentals

#243

This promulgation and advocacy of laziness and know-nothing-ism is frightening and all too commonplace nowadays. The ACID example was a bad one, granted, but everyone seems to be giving up after identifying that. I also think that this post is not about interviewing. I am much more concerned with the line the author takes about knowing how a digital computer work is even necessary. How have we arrived at this point?…

> When something goes horribly wrong, your mission critical system crashes, when you get dragged before the higher ups to explain the situation and fix it, the excuse ‘I don’t have to know how this works to do my job’ simply won’t fly.

At that point you just get another job and in the interview talk about how the company had bad practices that caused X bad thing.

Re: They don't even know the fundamentals

#244
Once upon a time I was sitting in a chemistry class at Rose-Hulman, and the professor proceeded to use all the formulae we had learned through the trimester to explain how a semiconductor diode worked, then proceeded to explain transistors, from a purely chemical reaction rate basis.

I was in awe... and for a while after that, I thought I understood the basics of electronics.

Last year I learned how tubes work, especially when slightly gassy, and thus ignitrons, etc... turns out I didn't know how all electronics worked.

There is always another layer to learn about. The ARP address layer of the network stack, for instance.

The Unicode layer they added between my days as a Turbo Pascal programmer in MS-DOS, and the present. (Which apparently can be used to hide trojan horses)

Always, always, always another layer.

The best we can do is to try to understand all the layers that definitely affect us, and a layer or two more as insurance (or just because it's cool to know)

Re: They don't even know the fundamentals

#245

Earlier quoted context omitted.

Usually I had funny but opposite experience when doing consulting for performance optimizations. At some points either teams converged to people without basic knowledge of data structures or they rushed with something that works (when N in O(N) was small) then scaled up. They get used to lower performance slowly like boiled frog. Then someone is tasked with optimization, but instead of attacking data structure at han…

This is the kind of observation that should be central to CS, but isn't. While academic algorithm astronauts write papers which include Greek math symbols and can be proven correct, most people do... something else. Optimising the something else would be a huge benefit to the industry. But no one even looks at it. It's just a thing that happens, and there's no research into fixing it or making it better.

I feel like this is moving in the opposite direction! I think the issue is that most of the time the "something else" people write with poor algorithms is actually an application of the correct, efficient algorithms from formal papers written by academics, but they don't know it and thus don't use it.

Re: They don't even know the fundamentals

#246
post #85

Earlier quoted context omitted.

> you will still end up somewhere in the CAP triangle Drop P and you'll end up with both consistency and availability, right? Right? ("This is a trade-off we are ready to accept")

How do you drop P?

That's the joke.

Re: They don't even know the fundamentals

#247

Oh for fucks sake, every month this topic comes back. It honestly doesn't matter if the fundamentals are useful or not. What gets me is that programmers want to be hired by top-tier companies and earn massive salaries without putting a single drop of effort into actually acquiring the knowledge that justifies that position. Can we just collectively swallow our privilege and stop whining that an employer is asking for…

Because you aren't done with it. You need to re-learn it every year to get a raise. So about 20% of my time in this field is spent doing stuff exclusively for interviewing purposes.

Re: They don't even know the fundamentals

#248

In my experience there is not much to know about the ACD parts of ACID, because they're just guaranties that are obvious to want and which will naturally make your life easier. The I (Isolation) part is the one you'll need to understand whenever you scale up to a point where concurrency starts to become non trivial in your product, mainly because there are multiple levels of isolation, which each provides different g…

They may be obvious to you, but you'd be surprised at how many people out there are doing stuff without optimistic concurrency control, locking or transactions. I mean Mongo only added transactions for updating multiple documents relatively recently. Plus from what I remember they originally missed out the "D" due to only writing to disk intermittently.

Re: They don't even know the fundamentals

#249
Beginners tend to obsess about the precise definitions of terms. Possibly because a lot of teaching is about learning definitions (because it is easy to test) or perhaps because in subject like math the definition really is the meaning.

Re: They don't even know the fundamentals

#250
post #215

Earlier quoted context omitted.

In an interview, they gave me access to their codebase and asked me to fix an actual (small) bug. The interviewer showed me where the codebase was, how to replicate the bug, all of that took less than 10 mins. Then he left, told me to give a shout once I am done. Took me about half hour to do it, another 10 mins to explain what I did to fix the bug. There were no other questions - no white board stuff, no algorithm q…

And it rises legal issues in several countries

What legal issues?
Post reply on HN