12 ms·
Software Engineering Insights from 10 Years at Google
- gravypod 4y ago(Opinions are my own) My favorites from the list, that I did not see other companies (specifically startups) do at all: > A single large release may be divided into a series of lower-risk well-understood rollouts. > Design documentation should not be an afterthought but an integral part of the software engineering process. > Coordinate reviews for the design doc and compare the design as it evolves with the original doc to verify that all the relevant constraints are being addressed. It might suck to spend 4hr writing a doc and 1hr*(N engineers) reviewing it but getting everyone aligned, and writing down why you did something and what was considered but ignored, is one of the super powers people have. At larger companies this process, when done informally, can be done in under a day and save months of headaches down the line. Especially so when the reviewer leaves comments like "can we break X up into milestone A, B, and C instead of rolling our a single piece".
- deleted 4y ago[deleted]
- bern4444 4y agoWhat's critical is that this remains an informal process. The moment this process becomes codified into a formal doc that requires approvals and reviews across teams, is the moment this ends up becoming a far larger part of the work than it should. Making it a required aspect of the job dramatically slows down the work and makes the doc act as a gatekeeper to technical work.
- ThrowawayR2 4y agoUnfortunately, once you have 100+ people across multiple teams and disciplines working on the same product release, formal documentation and all the ceremony that goes with it is no longer optional. Things have to be written down to keep that many people all on the same page and focused on the same goals.
- tmpz22 4y ago> It might suck to spend 4hr writing a doc Maybe our releases are too big but our technical specs take much longer to write and even longer to coordinate stakeholders when conflicts do come up. Can people really crank these docs out in 4 hours?
- gravypod 4y agoDepends on the size and level of detail. I'm currently on page 25 and week three of a doc. I've also drafted a quick one or two pager with summary, goals, non-goals, and a plan with links to code + libraries + docs.
- imwillofficial 4y agoAlso, grass is green, sky is blue.
- mountainriver 4y agoYup these are all very good, couldn’t find one I disagreed with. I loved the statement on nuance around idioms like YAGNI, which can easily be abused.
- MBCook 4y agoI’m sorry but I’m having a hard time following this page. There are at least two sizes of section headers, and I can’t tell if one is a subsection of the other or they communicate some kind of relative importance or what. The large pull quotes (which I’ll be honest I’m never a fan of) just interrupt me trying to figure out the layout. So I’m not sure how things are organized. I’m on my phone now, maybe it’s better on desktop. Reader mode didn’t really change anything so unfortunately that didn’t help. The article sounds interesting.
- jcheng 4y agoIt's just as bad on desktop. I found it hugely helpful to tweak <h2> with margin-left: -4rem, and <h3> with margin-left: -2rem (using the Developer Tools that the author works/worked on?). Worth the effort, great advice here.
- Supermancho 4y agoHas 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 to be something like giving middle-management a virtual class on how to pretend software development is a science. We are decades past describing the philosophy behind the feeling we have when Google has plenty of data to leverage. Show me that and I'll feel like I'm not wading through verbal vomit. It may seem harsh, but the industry should stop elevating this kind of pablum.
- gxs 4y ago>>> just vague rewording of colloquial expressions commonly traded around As I read through the article, I couldn’t figure out if it was me “hating” on the author or if it really read like a 99 cent store hallmark card. Glad to see I wasn’t the only one who thought the latter.
- xmprt 4y agoOn the contrary, I think this post is exactly what it describes - 10 years at Google. Whether you take that as a good or bad thing is up to you and it seems like you'd probably not enjoy working at Google.
- Retric 4y agoLook, yes this is another post that seems to be written by an idiot but that’s presumably because their simply a bad at this type of communication. Writing for a mass audience is just really difficult to do well and this is just one of the common failure modes for technical people. Even if you can’t find value in what was written just take it as a lesson in what not to do.
- sgammon 4y ago> because their simply a bad at this you wrote this. about someone else's writing
- Plaastix 4y agoArchive link: https://web.archive.org/web/20220518230424/https://addyosmani.com/blog/software-eng-10-years/ https://web.archive.org/web/20220518230424/https://addyosman...
- addy_osmani 4y agoSorry about that. The post will be live again (in complete form) in the next week or two. This was an accidental early deploy :/
- Plaastix 4y agoOh sorry to repost this!
- addy_osmani 4y agoHey 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.
- gmiller123456 4y ago
- postalrat 4y agoDo you only take advice from people who never make mistakes?
- imwillofficial 4y agoUsually don’t take their advice if they are literally making a mistake while delivering it.
- addy_osmani 4y agoHah. In truth, I deserve that feedback. I’ve been slacking on adding proper CI/CD to my blog, while my apps on Netlify/Vercel don’t have this issue. I’ll take this as the proper kick in the pants to work on that.
- imwillofficial 4y agoI meant that as a half joke bro, keep up the great work!
- heydemo 4y agoPrefacing a statement with "not to be snide" does not magically make it not snide.
- 4y ago
- frogger8 4y agoThis draft post was accidentally made public. Please move along
- gmiller123456 4y agoIs there any evidence that Google is actually better at software engineering than other companies? IMHO, it seems they have enough money to deliberately do things inefficiently which would kill a smaller company, but Google can manage to succeed through brute force. Honestly I think the better example would be from a tiny company that can't afford to do things wrong.
- passivate 4y agoI 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.
- reactjavascript 4y agoTeachers, nurses, and janitors
- deleted 4y ago[deleted]
- erung88 4y agoThey make you feel like they're smart but everything is relative. Google cloud is constantly the thrid in the market and significantly leg behind AWS in terms of market share while its CEO was replaced every 2 years so there are definitely smarter people (e.g. AWS engineers) out there.
- verst 4y agoBeing third in the market is independent from the quality of services IMO. Whether the services are being offered that a lot of businesses need is a different question. The services Google Cloud does offer tend to be well designed but many of them are simply not what established businesses (and their engineering organizations) are accustomed to. Lower marketshare is not a direct consequence of engineering excellence (or an alleged lack thereof). Conversely, simply having more market share doesn't mean AWS services are well engineered and the engineers are smarter (they might be, but you cannot make this claim).
- deleted 4y ago[deleted]
- sgammon 4y agoi wish what you would write about is why MDL became MDC became Lit / MWC, and while it's still a complete mess. the last time Material worked flawlessly with Bazel outside Google was arguably MDL, if you could even count that as working. i just don't understand why Google isn't investing in OSS the way it used to. why it cannot seem to do the thing that should be easiest: to make its own software work with itself. it seemingly cannot do this even in high-value categories it cares deeply about, like Cloud. i loved MDL. thank you for writing it. but i wish you would write something that cuts to why it is 2022 and Google just announced Flutter integration with Firebase like we all don't know that absolutely should have been a basic staple feature from the get go.
- sgammon 4y agopardon me, and *why it's still a complete mess. because it undeniably is
- imwillofficial 4y agoWell, for a draft, you just got one hell of a community proof read. Good luck with the final article!
- jcolella 4y agoFor those that are getting a 404 not found, here's the link from archive: https://web.archive.org/web/20220519020040/https://addyosmani.com/blog/software-eng-10-years/ https://web.archive.org/web/20220519020040/https://addyosman...
- Trufa 4y agoI sincerely didn't expect that from all the negative comments. At some point HN/reddit started confusing healthy skepticism and alternative views with being an... downright negative and rude.
- nullcipher 4y agodead link?
- EnKopVand 4y ago> Start with the User Experience and work backwards to the technology you need. > The best software is built by engineers who have empathy for their users. I’m not sure where all the criticism here comes from but those alone are some of the most valuable insights any developer can obtain. The fact that Google, in my opinion, is as far from those insights as a company can possibly come is in my eyes unrelated to the lessons that the author has learned working for Google. I think there is way too much anger in this thread, and I’m surprised to see it here on HN. I’ve personally moved all my services away from Google, including the paid ones like gsuite, but this article doesn’t seem to warrant any of the harsh criticism here based on its content.
- rkagerer 4y agoCurrently getting 404 File Not Found. Guess there are no insights to be found.
- coolgoose 4y agoSince the link 404's now I guess the best Insight is to keep posts like Google products, briefly and terminate them unexpectedly :P
- darepublic 4y agoa long time ago addy made some demo page showing the use of webcam and displaying it on the screen and capturing a screenshot of the webcam view. It helped me out more than once
- bluefone 4y ago> Start with the User Experience and work backwards to the technology you need. I have a counter example. Founder of a very successful startup (early 2000's) once told me that they first built the technology (adding tracing to Java apps at run-time) just because it was interesting, without any clue if it can be useful to someone. Later they showed it to everyone and they got their first customer who agreed to try it (it required modification to JRE).
- Sheen96 4y agoThat sounds more like success in spite of a lack of market interest, not because of it. The amount of successful products that started on the inverse likely will massively outweigh these anecdotal experiences.
- sosull 4y agoIn fairness, writing is a specific skill. Most people aren't very good at it. It's one thing being able to draft an email or a blog post. Even if it has the quality of being clear and sounding empathetic, that doesn't magically turn it into good writing. This post is the perfect example. It lacks an original premise, a unique sense of language, or an understanding of the relationship between incident and narrative. Most of its core ideas are hokum: 'I think it was the immortal Steve Jobs who said "don't worry about getting wet, just dance in the rain"'. But Google isn't a writing company. You could work there for a hundred years and never gain the ability to write anything worth reading. There's no evidence that the experience produces unique literary insight. Instead, it seems to create exactly this kind of sludgy, imprecise advice. All of which is unintentionally revealing.
- canto 4y agoWow. This is such BS. This whole company and it's bests products were build by engineers who couldn't follow this rules, because they simple didn't had decades of required experience. Instead of following dozens of weird rules, they just built what felt right. That's it. The story is only applicable to soulless coders in a corp team. Any potential for innovation is dead now.
- deleted 4y ago[deleted]
- TedShiller 4y ago404 File not found Figures.
- pixelbreaker 4y agoI saw this guy speak once, he was insufferable, smug, self-promoting and actually pretty boring.
- lngnmn2 4y ago
- juddlyon 4y agoThese are some really uncharitable takes. A lot of us have found value in the author’s writing and code contributions over the years, many of which he made on his own time. This type of post is subjective by nature, give the guy a break.