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.
Software Engineering Insights from 10 Years at Google
101–110 of 151 posts
Re: Software Engineering Insights from 10 Years at Google
#102Earlier 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?
Re: Software Engineering Insights from 10 Years at Google
#103Hey 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…
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
#104Earlier 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.
Re: Software Engineering Insights from 10 Years at Google
#105Earlier 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.
Re: Software Engineering Insights from 10 Years at Google
#106Earlier 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.
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
#107Earlier 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.
Re: Software Engineering Insights from 10 Years at Google
#108Has 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…
Re: Software Engineering Insights from 10 Years at Google
#109Earlier 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?
Re: Software Engineering Insights from 10 Years at Google
#110Has 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…
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.