Live data from Hacker News

Effective Engineer – Notes

gist.github.com

111–120 of 236 posts

Re: Effective Engineer – Notes

#111

This is totally an incomplete thought, and I'm not trying to be down on this author in particular: It's interesting to see a lot of management thoughts and colloquialisms slowly creep into the "other side" of software development (i.e. the actual developers) and become fairly well-tolerated. We still make fun of phrases like "paradigm" or "synergy", but we're all mostly on-board with phrases like "own " or "growth mi…

> You can see the author using the word "leverage" here repeatedly Or maybe devs/engineers are just growing more eloquent than used to be? "Leverage" is truly the most intrinsic essence of everything engineering/developing. Reducing man-days, eliminating manual efforts, extracting infinitely reusable abstractions, code that emits+evals code .. I could go on and on and on --- hard to find a more sufficiently terse umb…

I've heard multiple similar arguments in favor of the word "synergy" or "paradigm".

Let me turn the tables: Why is "leverage" acceptable to use but "synergy" engenders scoffing?

Re: Effective Engineer – Notes

#112

This is totally an incomplete thought, and I'm not trying to be down on this author in particular: It's interesting to see a lot of management thoughts and colloquialisms slowly creep into the "other side" of software development (i.e. the actual developers) and become fairly well-tolerated. We still make fun of phrases like "paradigm" or "synergy", but we're all mostly on-board with phrases like "own " or "growth mi…

It's less about management and technical ability, and more about soft skills and hard skills. A recent Washington Post article shared an analytical study from Google on what made engineers at the company successful: "Project Oxygen shocked everyone by concluding that, among the eight most important qualities of Google’s top employees, STEM expertise comes in dead last. The seven top characteristics of success at Goog…

There are quite a few implicit assumptions here that make it a dubious example, though.

For example, there's an assumption that what works well at Google would work well for other tech firms. And yet Google is in the rare position of having gained so much from its early golden goose that success in terms of producing viable, valuable products and services has been almost irrelevant among most of its workforce for most of its existence.

There's also an assumption that the staff at a big, famous organisation like Google are generally better than those elsewhere, and therefore that being successful in such an organisation is something to be emulated. Working at one of the Big Five seems like a default aspiration for some parts of the tech world, and there's definitely an element of hero worship for those who have made it. I can't help wondering whether that is simply because of the amount of money they can throw at new starters in the hope that they attract some of the best people among the catch.

What I see here is that if you're in an environment where being good at walking the walk isn't always necessary, talking a good talk becomes the path to recognition and success. While this is almost certainly true, anyone who's ever observed the phenomenon of middle management could have told you that, without reference to any specific industry. What it doesn't tell us is how much being able to walk the walk matters in most other environments where it is necessary for success.

Re: Effective Engineer – Notes

#113

Earlier quoted context omitted.

> You can see the author using the word "leverage" here repeatedly Or maybe devs/engineers are just growing more eloquent than used to be? "Leverage" is truly the most intrinsic essence of everything engineering/developing. Reducing man-days, eliminating manual efforts, extracting infinitely reusable abstractions, code that emits+evals code .. I could go on and on and on --- hard to find a more sufficiently terse umb…

I've heard multiple similar arguments in favor of the word "synergy" or "paradigm". Let me turn the tables: Why is "leverage" acceptable to use but "synergy" engenders scoffing?

Fashion

Re: Effective Engineer – Notes

#114

"Opportunity cost of working on wrong ideas can set back growth by years." I feel like this is spoken by someone who hasn't seen more than one technology cycle come and go. What I've observed - having started my career back in the Java-will-eat-the-desktop days and then adapted through webapps, big data, mobile, and now AI - is that the people who are best positioned to capitalize on an emerging technology wave are t…

"useless and unlikely to work" -/-> wrong

But without the benefit of hindsight, how do you tell the difference?

When I look at some of the giant wins of the last major tech wave, often times the key factors in their success were external events that happened after the formation of the company. AirBnB benefitted massively from the housing bubble & financial crisis (3 years after formation), which created a large class of people who were desperate for income and whose primary residence was their primary income-producing asset. Uber had to try the idea multiple times before cell phone batteries became good enough to run navigation continuously in the car (2 years after formation), and took off because of the publicity of getting sued by San Francisco. WhatsApp took off after the addition of push notifications to iOS (~18 months after formation) made it feasible to use as a messenger rather than just a status update.

All of these companies certainly did things to influence their success, in particular having a product on the market at the time the market changed to take advantage of the product. But for most of them the product was actually wrong in the sense that it was a complete failure in the market until that market changed. Brian Chesky's fond of calling AirBnB "the worst startup idea that actually worked".

It's like the formula for success = preparedness + luck. This cribsheet does a good job at preparedness, but you have to acknowledge the role of luck if you want to actually capitalize on that preparedness, and being afraid to work on the wrong ideas will often shut you out of ideas that require some luck to work.

Re: Effective Engineer – Notes

#115

"Opportunity cost of working on wrong ideas can set back growth by years." I feel like this is spoken by someone who hasn't seen more than one technology cycle come and go. What I've observed - having started my career back in the Java-will-eat-the-desktop days and then adapted through webapps, big data, mobile, and now AI - is that the people who are best positioned to capitalize on an emerging technology wave are t…

"useless and unlikely to work" -/-> wrong

Like communism!

Re: Effective Engineer – Notes

#116

"Opportunity cost of working on wrong ideas can set back growth by years." I feel like this is spoken by someone who hasn't seen more than one technology cycle come and go. What I've observed - having started my career back in the Java-will-eat-the-desktop days and then adapted through webapps, big data, mobile, and now AI - is that the people who are best positioned to capitalize on an emerging technology wave are t…

For every person who rode a powerful technology wave, there are also many others who rode the wrong ones.

One of my favorite stories from Drew was that when he first started Dropbox, he created a 4-minute demo video showcasing the product that functioned as an MVP for the product. The video drove hundreds of thousands of people to their site and grew their beta mailing list from 5,000 to 75,000 people overnight.

On the outside looking in, skeptics might have thought that it was nothing new. But the MVP provided validation around what future customers actually thought.

My main takeaway from that story (and that I share in the book) has always been to validate your ideas early and often, so that you can get more signal on whether the assumptions you're using to shape your behavior are accurate.

More about the Dropbox story here: https://techcrunch.com/2011/10/19/dropbox-minimal-viable-pro...

Re: Effective Engineer – Notes

#117
Really great book! The things that stood out for me:

- Optimize for learning

- Invest in time-saving tools

- Shorten the debugging loop

- Don’t sprint in the middle of a marathon

- Recovery over prevention

- Automate mechanics, not decision making

- Make batch processes idempotent

We read it in the book club at work a year ago, and I wrote a longer review of it here: https://henrikwarne.com/2017/01/15/book-review-the-effective...

Re: Effective Engineer – Notes

#118
post #8

This is totally an incomplete thought, and I'm not trying to be down on this author in particular: It's interesting to see a lot of management thoughts and colloquialisms slowly creep into the "other side" of software development (i.e. the actual developers) and become fairly well-tolerated. We still make fun of phrases like "paradigm" or "synergy", but we're all mostly on-board with phrases like "own " or "growth mi…

I think you're being a little too pessimistic, although I do see where you're coming from. Technical jargon and vocabulary aren't created out of thin air: they are meant to efficiently and effectively convey certain facts and behaviors. Sometimes (perhaps many times?) there are co-opted and misused by certain people (many times managers, since they're further away from actual coding). The thing about engineer being a…

This means that the days when a person could write the entire thing by himself/herself is over, and a lot more co-operation is required among engineers to design and build effective systems.

At that point, you're not really talking about being an effective engineer, though. You're only talking about being an effective engineer in a large organisation working on a large project.

I know plenty of people in the freelancing and startup world who can build and maintain very significant systems single-handedly. Take someone with the skill and experience to do that, give them a free hand in choosing whatever tools and processes work for them to get a good job done, and remove the overheads of micromanaging this and co-ordinating that. It's not unusual for that person to outperform an entire team working for a competitor under more traditional constraints, or for a small number of such people who can keep the overheads down to outperform a more traditionally organised but mediocre team an order of magnitude larger. Of course these people also need good soft skills, but those are not why they are so productive.

Re: Effective Engineer – Notes

#119

Earlier quoted context omitted.

"useless and unlikely to work" -/-> wrong

But without the benefit of hindsight, how do you tell the difference? When I look at some of the giant wins of the last major tech wave, often times the key factors in their success were external events that happened after the formation of the company. AirBnB benefitted massively from the housing bubble & financial crisis (3 years after formation), which created a large class of people who were desperate for income a…

> But without the benefit of hindsight, how do you tell the difference?

See value missed by others.

Do you have sources for any of the success factors you described? My understanding was that WhatsApp's success was largely due to focusing on feature phones, increasing ubiquity.

Regardless, none of this changes the fact that OP is correct in saying that you shouldn't work on the wrong ideas, of course.

Post reply on HN