Recent submissions

Comment · 6 months ago
This article does not make convincing arguments to match the strong criticism. Engineering decisions are difficult, especially in high-growth orgs, where one must balance many constraints and risks including opportunity cost. Handling payments is part of Uber's core product.

The financial criticism ('napkin math') appears to estimate DynamoDB costs of USD $8 million for 2017 to 2020. Uber revenue for the same period is roughly USD $42.5 billion, thus this cost weighs in at about 0.02%, or 1/50th of one percent. This is a rounding error for a high growth company, and not something that warrants a witch-hunt and firing. It's easy to blow more than $2 million per year on software engineers in pursuit of an alternative high-scalability solution.

I'm also not on board with the 'resume driven development' criticism as the explanation for solution churn. Perhaps that is actually what happened. I wasn't there and don't know, but if that is being asserted I expect to see evidence presented to support it.

Comment · 1 year ago
Ahh yes, nothing brings out the strong opinions like formatting. Let's do SQL next!
Comment · 1 year ago
Comment · 1 year ago
I didn't expect to see javascript about Jira tickets in the source!
Comment · 1 year ago
Comment · 3 years ago
Comment · 3 years ago
I miss electronics retail, even with its issues. Radio Shack had the Forrest Mims engineer's notebooks for learning electronics, and it was great to be able to drive down to a Fry's to pick up a component that you needed in a hurry on a weekend.

Shout out to Anchor Electronics in Santa Clara, San Mateo Electronics Supply, and of course Jameco, which are still alive.

I'm also lamenting the loss of SF Bay area electronics surplus: Weird Stuff, Halted/HSC, and the latest casualty, Excess Solutions. Is there any place left around here to find used/surplus electronics?

Comment · 3 years ago
Hey, you know what they say.
Comment · 3 years ago
One of my favorite economics professors called the second one 'OBSCENE PROFITS!'. His vocal delivery of those two words in front of the class was always highly animated and packed full of energy.

It is intuitive that, as soon as enterprising individuals catch wind of high profits being made somewhere, there will be an inrush of competitors looking to seize their share, which then continues until until some type of equilibrium is reached.

The fundamental breakdown in this type of efficient market mechanism is that it requires a reasonably level playing field: referees and rules. Complex systems without adequate regulation may result in local optima one or a few participants, who achieve regulatory capture, externalize costs, or achieve monopoly, oligopoly, or similar advantage to the disadvantage of all others. Regulation is required to achieve the global optimum for the wider group (i.e. society).

Cancer is an a example of a biological system exhibiting high growth with broken mechanisms of regulation. Similar outcomes can be observed when there is a disruption to a predator population, leading to an explosion of prey species, resulting in an ecosystem that is overrun and exhausted until balance returns.

Comment · 3 years ago
One initial reaction to the prompting style is how similar it is to a human-to-human interaction. For example, a team lead communicating requirements to a wider team composed of less experienced engineers may also follow this type of iterative exchange, continuing until he or she is satisfied that the team understands the work to be done and has the guide rails to be successful.

I recently heard a description about the way this technology will change technical work that resonated: we will become more like the movie director, and less like the actors.

Comment · 3 years ago
My understanding is that relocation assistance is not available for this position. I will double-check to be sure, and if it is now offered I will reply here.
Comment · 3 years ago
Everyone's mileage varies - we found it to be the best among the major offerings, for our specific needs.
Comment · 3 years ago
Comment · 3 years ago
Comment · 3 years ago
There are a few things to parse here.

1. In terms of software efficiency, engineers may lament the perceived waste, inefficiency, and imperfection in the produced code, but from a business standpoint it is a rational cost/benefit decision. It is useful to view software through the lens of economics. In economics there is a concept that Labor (e.g. a software engineer) and Capital (e.g. servers, infrastructure) are substitutable. Many sub-optimal programs and systems built with reduced labor cost are perfectly usable by substituting more hardware. Optimization only makes sense where there is a clear benefit that exceeds the cost.

Thus, as a contrived or extreme example, would a manager spend $200k in labor to produce a highly optimized program, hand-crafted in assembly, or spend $500 in labor to produce a program in a higher level language such as Java, that does the same thing but uses more compute resources? The spread in cost between those two choices allows one to throw a lot of hardware at the sub-optimal program. Thus it is frequently a better business decision to produce inefficient software and throw more hardware at it. It may make the engineer feel bad, but what they wish to optimize is not aligned with what the business wishes or needs to optimize.

2. In terms of the short 'shelf-life' of software, the same problem infects hardware, consumer electronics, and other products. I've purchased a number of IPads for my family over the years. After a few years and IOS versions, more and more apps stop being compatible, until it becomes effectively useless even though the hardware is the same as when I bought it.

Again let's view this through the lens of economics. A cynic will look at the IPad situation and and think 'What better way to separate me from my money than to force me to buy a new product every few years, solely by software shenanigans?' Of course businesses enjoy selling more product, but they also have cost constraints in order to be viable (ignoring those who are perhaps making 'obscene profits' before competitors take notice, as my econ professor used to shout so passionately).

We might consider as an alternative that it is simply too expensive to maintain many versions of an app, on multiple platforms, with backwards compatibility and security concerns. The business instead is making a rational decision to only support their application on the OS versions and platforms that the majority of their customers are running at any point in time, similar to how a web developer at some point has to stop bothering to ensure their site works in IE 5.0.

None of that reduces my frustration at planned obsolescence but maybe this is just the reality of things.

3. I'm on the fence about the labor-exploitation part: this seems like a different and very complex issue. Some may argue that more hardware manufacturing provides good jobs without extended education or training requirements, while others may argue that those jobs are exploitative because the working conditions are poorly regulated or the position does not pay enough by their standard.

At a macro level, global poverty levels have significantly decreased over the past 30 years [1], so humanity seems to be doing something right. An optimist may say that as regions of the world move out of poverty, the regulatory environment will inevitably follow to reduce abuse, pollution, and safety risks. Time will tell but it requires patience - human systems are slow to change, in contrast to software and hardware.

[1] https://blogs.worldbank.org/opendata/april-2022-global-pover...

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton