Live data from Hacker News

Software Engineering Insights from 10 Years at Google

addyosmani.com

101–110 of 151 posts

Re: Software Engineering Insights from 10 Years at Google

#101
post #41

Earlier quoted context omitted.

Google has not pushed anything relevant to the user space for many, many years. It's not without reason people meme about Google Graveyard. Here in Hackernews, people constantly whine about their ads, their irrelevant google search, and what have you. Their latest "flagship" phone is littered with bugs. I wouldn't call them "evolving" anything software as of late. Their hard science departments seem good though, but…

> Google has not pushed anything relevant to the user space for many, many years. 80% of software engineering is not about pushing but maintaining. I'm not the one who praises Google (far from that), but using "pushing anything relevant" as a metric is not correct imho.

I touched on that. Their search is highly gameable now, they don't care about correctness anymore. Youtube has incessant ads and their recommendation system sucks - I have to turn it off

Re: Software Engineering Insights from 10 Years at Google

#102

Earlier quoted context omitted.

Depends what you mean by "better at software engineering". What Google seems to do really well is building robust systems at a scale that pushes the limits of what humanity is capable of. If you collect anecdotes from engineers who've worked on scaling systems at the small number of companies at this scale, there seems to be general agreement that Google is "the best". My understanding from these anecdotes is that Go…

"What Google seems to do really well is building robust systems at a scale that pushes the limits of what humanity is capable of" Can you give some examples of things Google did which pushed the limits of what humanity was capable of?

I've never understood all the praise Netflix gets for technical excellence (not that they're bad) for running a video streaming site while Youtube does the same thing about as well with the added difficulty of taking in user submitted video with all the technical and legal troubles that entails. I'm far from one to praise Google, but Youtube is an amazing service.

Re: Software Engineering Insights from 10 Years at Google

#103

Hey folks. Author of this post here. I sincerely apologize, this was accidentally published live prematurely (my fault). It’s got a number of style and structure issues I’ve been working through locally (you are spot on regarding the heading feedback). I have taken it down and will be publishing it in the future once it is actually complete.

I look forward to reading the completed post, I think there is a lot of good stuff in the draft. What I noticed from the draft: There's nothing obvious about Google per se, in terms of the material. It could be company X you've been working at. Also, insights cumulatively cover junior dev, senior dev, and some manager experiences. So, audience for this particular piece was not clear to me. I am surmising this piece c…

I'm guessing here, but I think the author's intent was to share knowledge that's generally applicable in other software engineering environments, rather than learnings that might be specific to Google (those could be both curiosity-building and/or also frustrating for other people to read, if they don't have access to the same systems).

Similarly, it'd likely be possible to learn many of the same findings at other companies -- Google (and the author) have been fortunate to encounter lots of tricky scaling and human issues in technology, and to evaluate potential strategies to deal with those, and it's good to see that knowledge shared.

Re: Software Engineering Insights from 10 Years at Google

#104

Earlier quoted context omitted.

I don't mind admitting Google employs people far smarter than I will ever be, but they're creating and maintaining the largest global spying apparatus in history. Maybe we should be learning from people who're actually making the world a better place.

Trust me, they aren’t THAT smart. People I know who work at Google, let’s just say: they often fit a type.

There's a (semi)famous Googler in one particular area. I had a buddy who worked with him years ago at a different company and took over a project after he left. There was nothing written after nearly a year - the guy either couldn't or wouldn't code anything, and now he's a well known Googler. Obviously there are extremely talented people there, but there are some bozos mixed in too.

Re: Software Engineering Insights from 10 Years at Google

#105
post #62

Earlier quoted context omitted.

It's somebody's blog post that's passing by and will be gone tomorrow. I don't think we have to worry about it being overly "elevated". On the other hand we have a bunch of people spending too much time on hacker news, often with all the insight of someone who spent 5 minutes scanning a wikipedia article. I'd worry a lot more about the long term effects of elevating this self congratulatory content, but where's this…

Blog is already inaccessible at this moment.

Looks like he is looking for a job at Amazon. All the right buzzwords

Re: Software Engineering Insights from 10 Years at Google

#106
post #44

Earlier quoted context omitted.

It's not that what he says is bad. It's that it reads like it was censored by Google's PR department, or self-censored to avoid trouble. There's nothing on "what to do when your project is cancelled", or "what to do when what you're doing is becoming incompatible with what someone else on the project is doing", or "when is there too much technical debt to continue". Those are things one might learn in a decade at Goo…

I’ve been at google for a decade. Zero of my projects have been cancelled. I’ve never had my work be incompatible with the work of others. Google publicly cancels a lot of products. It has a pretty bad long term product strategy. But part of that is because it has like 100000 engineers. Most people aren’t experiencing political problems.

Then, if Googlers don't have experience in solving the problems that other engineers may face, then what useful insights would even be available there?

Dealing with political problems, technical debt, and changing product requirements are all core parts of navigating the software industry.

Re: Software Engineering Insights from 10 Years at Google

#107

Earlier quoted context omitted.

"What Google seems to do really well is building robust systems at a scale that pushes the limits of what humanity is capable of" Can you give some examples of things Google did which pushed the limits of what humanity was capable of?

I've never understood all the praise Netflix gets for technical excellence (not that they're bad) for running a video streaming site while Youtube does the same thing about as well with the added difficulty of taking in user submitted video with all the technical and legal troubles that entails. I'm far from one to praise Google, but Youtube is an amazing service.

[deleted]

Re: Software Engineering Insights from 10 Years at Google

#108

Has someone collected all these self-aggrandizing posts that spew from ex-Googlers and current Googlers? It feels like a pre-requisite for their promotion packets. These all sound about the same and are altogether unhelpful. Note the copious links to terms and inlined quotes rather than an actual study, or any evidence at all...just vague rewording of colloquial expressions commonly traded around. The only use seems…

I could never rationalise technological evangelism outside of a self serving purpose. but maybe that says more about me.

Re: Software Engineering Insights from 10 Years at Google

#109

Earlier quoted context omitted.

Depends what you mean by "better at software engineering". What Google seems to do really well is building robust systems at a scale that pushes the limits of what humanity is capable of. If you collect anecdotes from engineers who've worked on scaling systems at the small number of companies at this scale, there seems to be general agreement that Google is "the best". My understanding from these anecdotes is that Go…

"What Google seems to do really well is building robust systems at a scale that pushes the limits of what humanity is capable of" Can you give some examples of things Google did which pushed the limits of what humanity was capable of?

Street view on maps / Google Earth. The end to end execution of capturing the images, making them available, keeping it updated. You can walk down the street in New York City without leaving your home —- it’s something out of sci-fi.

Re: Software Engineering Insights from 10 Years at Google

#110
post #90

Has someone collected all these self-aggrandizing posts that spew from ex-Googlers and current Googlers? It feels like a pre-requisite for their promotion packets. These all sound about the same and are altogether unhelpful. Note the copious links to terms and inlined quotes rather than an actual study, or any evidence at all...just vague rewording of colloquial expressions commonly traded around. The only use seems…

Software Engineers are not Engineers they are Professional Musicians. They need their Algorithms and Data Structures knowledge, the same way a Jazz musician needs the circle of fifths and a deep understanding of Harmony, to do sophisticated improvisation over a Jazz standard. If you need to go on tour with your rock band you don't go to a Music conservatory and start interviewing musicians based on their knowledge of…

Without leet coding, named algorithms (binary search, dynamic programming, and other esoterica) or data structures (only requiring knowledge of arrays, assoc arrays, loops is enough), coding interviews still allow you to demonstrate your thinking ability.

You can construct various simple problems (that require only loops and arrays) that can easily be mapped to real world problems and see how well the programmers perform (problems: that exploit the fact that input is sorted, linear search for min/max, collect data -> loopy state transition -> output state).

A fictional scenario that you can map to a real software problem, there's 7 cities, N people (program input) in city 0. 6 buses, one goes from city 0 to city 1, other from 1 to 2, ... last from 5 to 6.

Bus has a limited capacity (6 additional program inputs). Everyone needs to be at city 6. Time starts at 0. One time tick: all buses go from city X to city (X+1), unload people at city (X+1), and then go back to city X. What's the minimum time it takes for everyone to be at city 6?

There's 7 inputs (N people and bus capacities) and there's multiple programs one can write to solve the problem. There's no math tricks, no data structures.

You can write a program whose time complexity depends on the size of the inputs O(N), or just on the number of inputs O(7), or maybe something worse or in-between.

I have no idea if there is a way for one to teach/learn how to write the simplest program as soon as possible, but some will find it in 1 minute, some in 60 minutes. The amount of time it takes might be irrelevant and the only thing you're looking for is the ability to eventually think simple enough. And the thinking bit is not the only filter. The person might struggle to use the computer (but uses it well enough for these simple problems), might have no idea about the machine that runs the program, etc.

Post reply on HN