3 karma · joined December 14, 2018
For a start, it's not the lean/agile way to have a large capital cost for your idea. If the idea dies, so does all that money you've wasted.
Secondly, the example given is quite naive in design. You wouldn't serve directly from s3 because of costs so you would serve via caches/cdn; for instance, using aws cdn would cost 85 cents.
Going back to the first point though, you're putting a lot of money at risk.
For instance, I frequently build small paper diagrams of different code paths through a component and nearly always find leaky abstractions, mixed layers of abstractions, weird cyclical dependencies, etc. etc. and there really is no clear way to diagram this. Instead, you sort of have to make judgements and assumptions to make the diagram concise and understandable; the sort of decisions that machines just aren't that good at.
On the other side, when code is simple and easy to follow then the pay off of building a diagram just isn't there.
Just putting it out there, but I think Knuth’s aphorism is being used and abused to the point that some folk believe system qualities are second to functional requirements when it’s not the case.
Sadly interviews like that became a regular fixture and some were even worse. In a few I even had take-home assignments where I was to implement a full-project from scratch then present it at the interview (as well as all that other crummy interview stuff). I even got heavily criticised/insulted in one for prioritising my current job over the assignment and was told if I really wanted the position I "should've moved heaven and earth" - pretty deranged to ask someone to risk their income for an unpaid assignment if you ask me but anyways.
With that being said, I do think interviews are becoming better. They're less about blowing smoke up the interviewers arse and more about judging how good a fit they are for the company. Interviews tend to feel more collaborative and white-boarding sessions aren't a test but a discussion, with the best language agnostic. Hopefully they keep going this way.
Apart from that, I think there's a bigger challenge which still needs to be addressed is that analysis/modelling projects tend to be worked on by individuals and/or thrown away after the initial value is pulled out of them.
Going forward, I think we need to start identifying design methodologies that would make collaborating on this sort of work pain-free and more agile. Doing so should give us more value and sooner and for longer.
What I'd like to see is an estimate of the uncertainty of the output.
You have to remember that while the little that the web provides is also its strongest attraction; it allows the web to be accessed and modified by anyone, they're on little bit of the web can be very different from someone elses.
So by adding on a way that the web must be indexed is kind of like moving closer to communism than liberalism. I guess if we start dictating to google where to get their data then we've moved to the full blown hammer and sickle stage :).
It would be quite good to see this blog post, or a response to it, evaluating the SQL codes performance on different datasets.