Hacker News new | ask | show | jobs
by theli0nheart 3538 days ago
I built a web app that scaled from 0 to several hundred thousand users in a few days. Somehow I managed. A key thing in becoming a good engineer is learning how to delegate certain technical decisions to those who are better equipped to handle them.

https://news.ycombinator.com/item?id=2348702

4 comments

Provided they exist in your organization and have the spare bandwidth for your needs, and itwould be them who solved the problem that needed to be solved not you.

This is more like Al Gore claiming he invented/solved/built the internet.

If Google was only about CRUD and banal CSS, it probably wouldnt have become the Google that it is. They became so by handling challenging and ever changing problems. In such a scenario you need generalists with strong fundamentals who can pivot quickly from one problem to another, quickly, not a stackoverflow cut-paster. The latter skill has ts moments but you cannot survive on that alone, if you are in the critical path.

> Provided they exist in your organization and have the spare bandwidth for your needs.

You can delegate to entities other than humans.

> If Google was only about CRUD and banal CSS, it probably wouldnt have become the Google that it is.

That's totally true, but how many times did PageRank need to be invented? After that the true problems at Google were scaling and monetization. Do you think the team responsible for making sure AdWords looked right on every device under the sun would agree with your statement? I'm sure a lot of the work that went into that "CRUD and banal CSS" is the same code that's made Google billions of dollars.

> They became so by handling challenging and ever changing problems. In such a scenario you need generalists with strong fundamentals who can pivot quickly from one problem to another, quickly, not a stackoverflow cut-paster. The latter skill has ts moments but you cannot survive on that alone, if you are in the critical path.

These skill-sets are not mutually exclusive.

> but how many times did PageRank need to be invented? After that the true problems at Google were scaling and monetization.

Quite a few times actually. It was not quite obvious at that time how to run Pagerank and other algorithms efficiently at that scale while keeping running costs down. If it was just a library call and delegation away, they wouldnt have had such a meteoric rise.

> Quite a few times actually. It was not quite obvious at that time how to run Pagerank and other algorithms efficiently at that scale while keeping running costs down. If it was just a library call and delegation away, they wouldnt have had such a meteoric rise.

We're talking about two different things here—the theoretical PageRank and the practical one. My point is that the skills required to scale a thing like PageRank—writing code to parallelize tasks, divvy up traffic, etc.— are very different than the ones involved in inventing PageRank as an algorithm.

> We're talking about two different things here

No we are not.

Pagerank at its mathematical core was not that novel, basic undergrad stuff. The application was novel, not the equation, you would find that in a beginners linear algebra book. The real deal was (i) realizing that those equations can be applied for solving an aspect of web search and (ii) scaling it up with cheap hardware of that time and keep operational costs low to be profitable. What I am saying is that one needs a good understanding of CS fundamentals and the ability to reason to pull that off with a competitive advantage. You dont get that just by tweaking CSS or for example knowing your Java platform well or by delegating. These kind of problems are not one off. You have to keep ahead of the competition constantly, innovate constantly, have to do stuff that your competition has not yet figured out how to do.

Now that this particular scaling problem has been in the mainstream it does not seem that big a deal to solve, it was at that time. If it hadnt been, every run of the mill tech company would have been doing it to eat Google's lunch. Their manager's ability to delegate did not seem to have helped them much there.

>> We're talking about two different things here

> No we are not.

> Pagerank at its mathematical core was not that novel, basic undergrad stuff.

Whatever you say, Mr. Page. :)

> You dont get that just by tweaking CSS or for example knowing your Java platform well or by delegating. These kind of problems are not one off. You have to keep ahead of the competition constantly, innovate constantly, have to do stuff that your competition has not yet figured out how to do.

More false analogies here. The skills involved in solving technical problems are easily translatable from one technical domain to another. You make it seem like implementing an algorithm to scale servers is necessarily more complex than implementing an algorithm to stack shapes on a webpage in a space-efficient way. It's not.

> Their manager's ability to delegate did not seem to have helped them much there.

You're completely misunderstanding me. I'm not using the term "delegation" here as a managerial term. I would bet you that the team that scaled PageRank relied on countless open-source and freely available tools and tech that others wrote. This doesn't lessen their ingenuity at all, but it should be clear that even the most complex tech is built on the shoulders of others.

Again, it sounds like your skills lie mostly in product management rather than software engineering. While you have a valuable skillset, it's not what Google needs from a software engineer. You're good at a different job.
TIL I'm not a software engineer. Who knew!

> While you have a valuable skillset, it's not what Google needs from a software engineer. You're good at a different job.

See https://news.ycombinator.com/item?id=12653628. Far more "software engineers" at Google do the exact same thing that I do all day long than do the type of work you're referring to.

If you're not a software engineer, why bring up your accomplishments as evidence that Google should hire you as one?

I'm pretty sure that the people who Google hires to do Javascript/HTML/CSS do not normally go through this type of interview.

> If you're not a software engineer, why bring up your accomplishments as evidence that Google should hire you as one?

I'm confused by this statement. What do you mean?

> I'm pretty sure that the people who Google hires to do Javascript/HTML/CSS do not normally go through this type of interview.

Completely false.

"A key thing in becoming a good engineer is learning how to delegate certain technical decisions to those who are better equipped to handle them."

Like someone with a good understanding of computer science?

Well, now think in Google scale. You said hundred thousand users? add at least 3 orders of magnitude