Live data from Hacker News

Ask HN: What are useful CS theories you actually use at work?

news.ycombinator.com

31–40 of 44 posts

Re: Ask HN: What are useful CS theories you actually use at work?

#31
Little's Law - https://en.wikipedia.org/wiki/Little%27s_law. Queues are everywhere.

Distributed Systems theory. Especially the complexity of failure detection in distributed systems. Slow vs failed.

Networking. 99 out of 100 developers do not have sufficient understand of networking.

Many operating systems concepts. Virtual Memory Management. Scheduling. Intel x86 architecture and how CPUs actually work.

Relational Algebra.

Multiversion concurrency control.

Defense in depth. Information Assurance in general.

AST. Parsing in general.

Re: Ask HN: What are useful CS theories you actually use at work?

#32
post #16

Earlier quoted context omitted.

Knowing CS is extremely important. That's the difference between being a modern day factory worker and a high value expert.

How can I demonstrate knowledge of CS in my resume?

I don't know. It shows up easily in interviews or degree

Re: Ask HN: What are useful CS theories you actually use at work?

#33

Data structures - knowing your basic data structures will help you chose the right path for the use case. Even in SQL it is helpful to understand B-Trees.

Yep. I worked with programmers who used compared all users to all users to check for pairs of users close to one another; they had no knowledge of spatial search trees. The job that calculated all those pairs dropped from hours to seconds.

Re: Ask HN: What are useful CS theories you actually use at work?

#34

Amdahl's law, by far. I find myself explaining it on almost a daily basis. I work on big enterprise software and our junior engineers tend to enjoy optimizing a piece of some system, without realizing that the speedup of the system as a whole will be negligible. I find performance / architecture stuff in general to be useful to know, along with having an intuition for orders of magnitude. Too much needless complexity…

I can relate to that. I just spent 2 weeks going down a rabbit hole trying to optimize a recursive algorithm to be able to calculate some values quickly.

I finally gave up and returned to the slow method but cached the results. Now we just warm the cache at night when usage is low.

Put it together in a day. Wish I had just gone this route from the beginning.

Re: Ask HN: What are useful CS theories you actually use at work?

#36
post #16

Understanding algorithmic complexity was highly useful for me recently when moving a system from inefficient prototype to full-scale version. Complexity theory helped me out with determining the exact pain points in my design and what needed to be altered how (which was most of it). Similarly, graph theory heavily influenced that initial design, which was far more elegant. When moving that system from a single-thread…

Knowing CS is extremely important. That's the difference between being a modern day factory worker and a high value expert.

That's bull. Being an expert does not simply follow from attending a few CS classes and getting a degree. Coming out of college you know very little. The least thing my company can use is overinflated egos.

Re: Ask HN: What are useful CS theories you actually use at work?

#37
post #34

Amdahl's law, by far. I find myself explaining it on almost a daily basis. I work on big enterprise software and our junior engineers tend to enjoy optimizing a piece of some system, without realizing that the speedup of the system as a whole will be negligible. I find performance / architecture stuff in general to be useful to know, along with having an intuition for orders of magnitude. Too much needless complexity…

I can relate to that. I just spent 2 weeks going down a rabbit hole trying to optimize a recursive algorithm to be able to calculate some values quickly. I finally gave up and returned to the slow method but cached the results. Now we just warm the cache at night when usage is low. Put it together in a day. Wish I had just gone this route from the beginning.

The term for that is memoization, for googling purposes.

Re: Ask HN: What are useful CS theories you actually use at work?

#39
post #12

Graph theory, all the time. Our product basically allows users to build a whole bunch of assets (specifically, LOB wrappers, workflows and forms). These may depend on each other (e.g. a workflow displays a form, which displays data from LOB). If you want to redeploy those to a new environment in the correct order, that's a graph problem: topological sort (and you need to find cyclic dependencies, i.e. strongly-connec…

>Graph theory, all the time.

Seconded. Having at least a working knowledge of graph theory is essential for anyone, even CRUD app developers. You don't need to know how to implement a DFS blindfolded with one eye closed. But you do need to be able to recognize when you are facing a graph problem and what libraries to apply. The alternative you end up with is some really nasty O(n^2) or even O(n!) type code.

Post reply on HN