Live data from Hacker News

If we had the best product engineering organization, what would it look like?

jamesshore.com

41–50 of 126 posts

Re: If we had the best product engineering organization, what would it look like?

#41
post #6

Earlier quoted context omitted.

Those are two different concepts hiding in similar words. You can't [numerically or precisely] measure productivity, but some engineers are vastly more productive [such that you can easily tell the difference without a formal measurement].

Gut feeling uses all your internal predispositions and biases.

you don't need to rely on gut feeling and risk bias. You can stop looking for the "productivity metric" and instead bet on measure, then track the change over time. It's the only thing that's ever worked for me.

Re: If we had the best product engineering organization, what would it look like?

#42

Earlier quoted context omitted.

You can measure productivity by measuring the success, but that's kinda useless for day to day software engineering management.

I tend to go by results , and for me, "results" means shipped* code that is used and accepted by end users**, can be maintained and extended***, and doesn't generate trouble tickets. * MVP doesn't count. ** Can include users inside the organization. *** It's OK if it requires senior-level ongoing support. I think expecting it to be maintained by monkeys is a bad idea.

saying "MVP doesn't count" implies that you throw it away and then right "the perfect system" at some point. If you've ever had an MVP land you know that's not how it happens.

Re: If we had the best product engineering organization, what would it look like?

#43
post #32

Earlier quoted context omitted.

> Amazon does not use relational databases Huh?

Relational databases are not the preferred storage mechanism at Amazon. If a team wants to use an OLTP relational database it’s possible that it will be a decision they will need to defend at any kind of design review. Of course there are relational databases running OLTP workloads, but it’s far away from the norm. There was a program a while ago to shift many RDBMS systems onto something else.

So they do joins in code rather than SQL? Wouldn't that risk hiding scaling problems?

Re: If we had the best product engineering organization, what would it look like?

#44

Earlier quoted context omitted.

You can measure productivity by measuring the success, but that's kinda useless for day to day software engineering management.

How do you define success? If a product bombs, is that because of the engineering or the product design?

if it's successful, it's because of sales. If it fails, engineering didn't build the right thing / was too slow - it really doesn't matter.

Re: If we had the best product engineering organization, what would it look like?

#45
post #17

Earlier quoted context omitted.

I like how he says he doesn't need FAANG level people. Then his next paragraph describes working at FAANG. "We’re an inverted organization. That means that tactical decisions are made by the people who are doing the work, not managers. (In theory, anyway, we’re not perfect.) So we’re looking for people who have peer leadership skills, who are great at teamwork, who will take ownership and make decisions on their own.…

Exactly right. People who have “leadership” skills are the ones that pay attention to their own leadership and are manage up more than anything else. They usually repackage people’s work around them into their own, take ownership and defend loudly their territory (project ownership) and methodically build relationships with leadership. Having “leadership skills” and being good a team work are often orthogonal to each…

> People who have “leadership” skills are the ones that pay attention to their own leadership and are manage up more than anything else.

No, it's actually people who can put together a technical plan and drive its execution with other engineers, or who can clarify complex problems esp. when there are conflicting opinions, or who can see problems before they become disasters and organize the right group of people to take care of it...

There are many examples of leadership, which have nothing to do with the sour view of managing-up or taking credit for others' work.

Re: If we had the best product engineering organization, what would it look like?

#46
post #21

I appreciate that they have a programming philosophy that they want people at the company to adopt. A common problem I see at companies that don't have onboarding is that people join the team with assumptions from previous jobs but you never level set them with the company. So 12 months down the line the new guy wants to change the process and you have to repeat the same discussions about what agile means for the nth…

> Amazon does a good job of training new hire on the 'Amazon way'. Amazon does 6 pagers, they do design docs. Amazon does SOA. Amazon does not use relational databases. Everything has an API. Because of the 'Amazon way' and the training they do new team members understand at least some of the context and expectations.

As a counterpoint, a huge part of Amazon's culture (or at least, AWS's) in my experience was the emphasis on operations and the fact that they didn't have any separation between SREs/on-call engineers from the people who implement their services, and at least for me as someone who had never been on-call before in any meaningful capacity (due to my previous job working on a libraries rather than services), the training for it was basically non-existent on the two teams I spent time on. The "training" I did receive essentially consisted of being put on the rotation once to shadow, where I was able to sort of see what the actual on-call person did but didn't really have any explanation for how to know how to do them other than being told to read the runbooks, which were not really written in a way that was easy to understand for me as someone who was so new to learning all of the internal AWS tooling and ops in general. The next time I came up on the rotation, I was expected to be able to manage on my own, which essentially meant that literally no matter what occurred, I ended up having to escalate because I wasn't knowledgeable enough to fix literally anything within a timeframe that would have been reasonable.

Re: If we had the best product engineering organization, what would it look like?

#47

+1 for Extreme Programming. I've been a fan from the beginning when Agile was all the rage and my recommendations for XP were met with blank stares.

I'm glad that it works for some people, but I did not like the forced pair programming in XP at all. And I found adherents to XP were even more cult like than Agile teams.

resist the oxymoron of agile zealot - the first rule is do what works for YOU

Re: If we had the best product engineering organization, what would it look like?

#49
> Everybody wants the best people in the business.

A fundamental mistaken belief.

Who wants to pay for the very best people when the 97,000th best person will do? Also how can you decide who the best people are when you can’t even measure their productivity?

Re: If we had the best product engineering organization, what would it look like?

#50
post #32

Earlier quoted context omitted.

Relational databases are not the preferred storage mechanism at Amazon. If a team wants to use an OLTP relational database it’s possible that it will be a decision they will need to defend at any kind of design review. Of course there are relational databases running OLTP workloads, but it’s far away from the norm. There was a program a while ago to shift many RDBMS systems onto something else.

So they do joins in code rather than SQL? Wouldn't that risk hiding scaling problems?

It can but it's usually more obvious what's happening with code and how to fix it. Amazon wants you to think about the scaling issues while building as they don't want to lose the area under the customer curve on the far right.

The theory is that with rdbms you have a magical box that scales vertically until it doesn't. And when it doesn't all you can do is scale back the customers until you fix it with sharding or a re-architecture. Basically you tend to hang yourself with indexes and transactions. Also generally when an RDBMS fails it fails down to like 30% throughput.

Post reply on HN