News for hackers. Stuff that matters.
Re:Pkg.go.dev is more concerned with Google's interests than... by amscanne on Saturday August 01, 2020 @05:31PM (#24024064)
> Go is a pretty good programming language. I have long held that this is not attributable to Google’s stewardship, but rather to a small number of language designers and a clear line of influences which is drawn entirely from outside of Google — mostly from Bell Labs. pkg.go.dev provides renewed support for my argument: it has all the hallmarks of Google crapware and none of the deliberate, good engineering work that went into Go’s design.

Putting aside the criticisms, I think a new word is needed to describe anti-Google sentiment of this flavor. The idea that Google is incapable of doing anything positive, so anything “good” coming out of Google must be attributable to influences outside of Google.

I’d like to think about it as a “no true Googler” argument. The Go team are not true Googlers, because they produce something useful. When they built that module proxy however, they were clearly so doing as Googlers. (As someone who works at Google, I can humorously imagine that when I’m acting as a true Googler, my only goal is to foist new crapware onto the world, get promoted, and kill it off.)

Or maybe we recognize that companies are collections of individuals, and all individuals bring their own history and influences. The culture shapes them and they shape it back. Playing semantic games to divide and attribute isn’t useful.

Re:Pkg.go.dev is more concerned with Google's interests than... by ocdtrekkie on Saturday August 01, 2020 @06:53PM (#24024630)
Maybe when you feel the need to defend your employer from such criticisms often enough to define a new term for it, you should wonder about your employer more, and whether or not the criticism comes from a place of truth.
Re:Pkg.go.dev is more concerned with Google's interests than... by pldr1234 on Saturday August 01, 2020 @07:40PM (#24024911)
Your attempt to disarm the argument against Google's volatile engineering essentially boils down to: "people are all different, and people make up Google, so you can't say Google is one way or another".

That would apply equally to quite literally any collective/group/company/society.

How does such poor reasoning end up voted so highly on HN?

Re:Pkg.go.dev is more concerned with Google's interests than... by ddevault on Saturday August 01, 2020 @05:46PM (#24024157)
This is not a "no true Googler" argument, but a factual statement supported by the history of Go. The design of Go is heavily inspired by Plan 9, Inferno, and Limbo, none of which came from within Google. In fact - name any of the flagship features of Go and I'll draw a line for you from that feature into the historical influences. Goroutines, channels, garbage collection, GOPATH... none of these were invented by Go.
Re:Pkg.go.dev is more concerned with Google's interests than... by amscanne on Saturday August 01, 2020 @06:05PM (#24024280)
Right, but Go itself, which builds on those ideas was built within Google. I have no objection to attributing ideas, but you seem to want to attribute some general “quality of engineering” attributes to “not Google”.

The people doing things you like are just as much Googlers as all the people doing things you don’t like, and they all have an influence on the company and vice versa. In many cases, it’s even the same people.

So the distinctions you are trying to draw are silly. Just let the criticisms stand on their own.

Re:Pkg.go.dev is more concerned with Google's interests than... by ocdtrekkie on Saturday August 01, 2020 @07:02PM (#24024669)
FWIW, Drew's position on Go is hardly even unique. Someone who is quite fond of Go was telling me last week about how I should consider learning it despite it being from Google, because it is not very Google-like of a project. And that wasn't the first time I'd heard it either.

(Myself, I am usually just trying to build stuff people wrote in Go, and I usually end up fighting the tooling for a while and getting mystified by the error messages and having no idea where to look to solve them.)

Re:Pkg.go.dev is more concerned with Google's interests than... by arp242 on Saturday August 01, 2020 @07:18PM (#24024774)
I avoided Go for years because it was from Google until I quite accidentally landed a Go job several years ago, and I haven't looked back. Amusingly, I am now using Go to build a competitor for Google Analytics. Heh.

It was an important lesson in a way, as it taught me that Google – or indeed, any organisation comprised of thousands of people – is not a single monolithic entity.

Also, feel free to drop me a line if you've got problems with a specific error, and I can perhaps point you in the right direction.

Re:Pkg.go.dev is more concerned with Google's interests than... by ocdtrekkie on Saturday August 01, 2020 @07:41PM (#24024918)
I did get the thing last week to build! :) My Go-recommending friend seemed to think the script I was using was pulling in Go 1.11 where modules were not as well supported as they are now? But I got around it.

It was just that the error message I got really gave me nothing useful to search for. Literally was a "permission denied" error... while "go build"ing stuff with effective superuser. It wasn't really pointing me at what it didn't have permission to do or how I would go about getting it.

Re:Pkg.go.dev is more concerned with Google's interests than... by arp242 on Saturday August 01, 2020 @07:58PM (#24025032)
"Permission denied" usually happens when it tries to build stuff in "GOROOT", that is, the standard library installed in /usr/lib/go or some such. This normally shouldn't happen, so there's probably something wrong with your installation or setup. Hard to be 100% sure though, that's just the usual cause in my experience.

I think Debian ships with Go 1.11 in current stable (and by extension, Ubuntu too, I assume?). The entire GOPATH to modules switch is messy, ugly, broke a lot of stuff, and is confusing for newcomers, even though modules is clearly better. I think we're finally nearing the end of it though.

You probably want to just use Go 1.14 (the latest version) if you can. The language itself is very stable (just not the surrounding tooling).

Re:Pkg.go.dev is more concerned with Google's interests than... by ocdtrekkie on Saturday August 01, 2020 @08:01PM (#24025050)
I can definitely say it's the tooling that throws me every time. And I do think we pull from Debian for that script currently, though we're going to update it soon. (I think I was told 1.15 was near anyways?)
Re:Pkg.go.dev is more concerned with Google's interests than... by arp242 on Sunday August 02, 2020 @12:29PM (#24029635)
Overall I find that the tooling is actually really nice, and better than anything I've worked with previously. It's just this weird "old method vs. new method" schism that makes it hard :-/ It's restricted to just tooling, but kind of Go's Python 3 moment.

And yeah, I believe Go 1.15 should be released in August. rc1 was released last week or so.

Re:Pkg.go.dev is more concerned with Google's interests than... by stefan_ on Saturday August 01, 2020 @06:33PM (#24024482)
It's about complexity, about design and process. I don't think anyone can seriously deny that Google, it's engineering process and resources have a vast impact on what a documentation or package server comes out looking.

If all you have been building for the past 20 years are web services and you are surrounded by Kubernetes-but-the-internal-version and Postgres-but-the-internet-scale-version, is it any surprise that what comes out at the other end is invariably a centralized web service running on a bunch of Google proprietary infrastructure? And is it really that difficult to see how that is very different from the principles in Go, the language?

Git is very much the same thing. There is no doubt that in a world without Git, version control inside Google looks a lot more like Team Server than it does decentralized Merkle tree.

[dead]
Re:Pkg.go.dev is more concerned with Google's interests than... by akerl_ on Saturday August 01, 2020 @06:59PM (#24024654)
Yes; Google hiring people with a history of innovation and giving them the support (financial and otherwise) to undertake a project does make the project part of Google’s engineering portfolio. I’m not sure how this could be in dispute. It’s not like Golang was something that Google backed on Kickstarter: they gave resources and pay to the people whom they intentionally hired because they wanted engineers with their skillset.

If employees hired as engineers, who work on engineering projects, don’t count as part of your company’s “engineering ethos” just because they were already engineers before you hired them, I’m not sure we have a shared agreement on what “engineering ethos” means. Are only fresh college graduates permitted to count as part of your “ethos”? How many years of experience can an engineer attain before their accomplishments at work are no longer part of their employer’s ethos?

Re:Pkg.go.dev is more concerned with Google's interests than... by ddevault on Saturday August 01, 2020 @07:26PM (#24024824)
I must be really awful at explaining my point or there's an awful lot of willful ignorance in this thread. Either way, something awful is going on.

Read carefully: the engineering culture of Google - it's practices, policies, principles, insiprations, and so on - did not make Go. The prior experiences of the Go authors, and a handful of specific and obvious influences, both of which are objectively not of Google, made Go. Google's engineering ethos does not get credit for Go, though maybe an argument can be made that their wallet gets credit. Personally, I don't agree with that, but it's beside the point.

Re:Pkg.go.dev is more concerned with Google's interests than... by akerl_ on Saturday August 01, 2020 @07:39PM (#24024909)
The part that I don’t understand is: why does Google not get credit, in your opinion, for having built an engineering org from qualified people?

Google hired the engineers who made Go. A company’s engineering ethos is the combined ethos of its engineers. The Golang developers are engineers who Google hired.

To attempt to draw a metaphor: if I operated an auto repair shop, and I wanted my shop’s “ethos” to be “we do high-quality repairs on cars”, one of the primary ways to do that would be to hire smart, already-experienced mechanics. And it would seem strange to me if people wrote blog posts saying that the work of those mechanics didn’t count towards my “ethos” because they were already good at their jobs; that’s why I hired them!

As a tangential comment, phrases like “Read carefully” seem extraneous, as does the accusation of “an awful lot of willful ignorance”. They just serve as jabs at the other commenters here.

Re:Pkg.go.dev is more concerned with Google's interests than... by ddevault on Saturday August 01, 2020 @07:47PM (#24024959)
Go was principally made by 3 people, whose resumes basically justified being allowed to work at their discretion (this last bit is conjecture, but I would be surprised to be proven wrong). If Ken Thompson has a manager at Google that has any influence whatsoever on Ken's work, then Google's culture is more broken than I thought. The rest of Google is over 100,000 engineers who have managers, team leads, and much more rigid policies and workflows than I imagine the Go designers were ever subjected to during the development of Go. This is the engineering ethos to which I refer, not the system to which the Go designers where subject.

So: Google gave a chair and a desk to a few talented people who applied experience and influences from entirely outside of Google to designing a programming language. In my book, Google doesn't get credit for that, and their engineering culture definitely doesn't get credit for that - it was barely involved, if at all.

Re:Pkg.go.dev is more concerned with Google's interests than... by googthrowaway42 on Saturday August 01, 2020 @08:14PM (#24025133)
FWIW I am an ex-Googler and I agree with you. The principal authors of Go are not really Googlers in the sense that other "mere mortals" are. Their engineering skills, practices, and decisions are not informed or subject to the strictures of the wider culture at Google.
Re:Pkg.go.dev is more concerned with Google's interests than... by akerl_ on Saturday August 01, 2020 @08:24PM (#24025184)
To help me understand, can you give an example of the kind of stricture that applied to other engineers but not to the Golang core team?
Re:Pkg.go.dev is more concerned with Google's interests than... by googthrowaway42 on Saturday August 01, 2020 @08:51PM (#24025322)
Rob Pike and Ken Thompson have Sundar as their manager (I saw this at least with other Google Fellows) and don't go through perf in any real sense if they actually do have a perf process which I doubt they do. They do whatever they want and set their own agendas. At Google seniority is revered. It's very strict in that sense so I literally cannot imagine someone "overruling" or mounting any serious opposition to Pike or Thompson on anything.

Edit: They're not actually fellows it's been pointed out but high ranking ICs like that do have a lot of respect within Google and are treated deferentially, especially famous ones just based on my own experience with high ranking ICs.

Re:Pkg.go.dev is more concerned with Google's interests than... by joshuamorton on Saturday August 01, 2020 @09:45PM (#24025608)
> Rob Pike and Ken Thompson have Sundar as their manager

This isn't true (and I don't believe it's ever been true).

> I saw this at least with other Google Fellows

This also isn't true in general, there are no Google Fellows that report directly to Sundar. Not to mention that neither Ken nor Rob is a Fellow.

> and don't go through perf in any real sense

Why do you believe this to be true? Many people of similar stature (VPs are approximately equivalent to Google Fellows, and there are tons of VPs) have a real perf process, although it doesn't quite resemble the one you or I would have.

If you mean that he has no incentive to "play perf games", then that's true only insofar as they don't want to advance, which is true for the average Google engineer starting at L4 or L5.

> At Google seniority is revered.

This hasn't been my experience at all, I've had quite reasonable experiences pushing back against my directors and questioning my VPs.

Re:Pkg.go.dev is more concerned with Google's interests than... by akerl_ on Saturday August 01, 2020 @09:06PM (#24025430)
I’m not sure I understand your examples. You note that they don’t go through any sort of performance review process, but your subsequent sentence suggests you don’t really have visibility into whether that’s the case? And then you point out that as senior engineers, you can’t imagine anybody opposing things they say.

Do you have an actual example of ways in which their treatment by Google differs from other engineers? These seem like conjecture about what their work experience is like.

Re:Pkg.go.dev is more concerned with Google's interests than... by googthrowaway42 on Saturday August 01, 2020 @09:29PM (#24025531)
I'm attempting to offer you some insight in good faith. I can't offer you a mathematical proof of this so I'm not sure what you're looking for. If you insist on asserting that Google Fellows are treated the same as other engineers then I'm not sure what to tell you. Holding that view would call into question exactly why they had that title but I'm not you and I don't hold that view.
Re:Pkg.go.dev is more concerned with Google's interests than... by akerl_ on Saturday August 01, 2020 @09:44PM (#24025602)
I’m asking for an anecdote or some other practical example of a time that you or another Google engineer had a policy or “stricture” applied to you, and that policy or stricture or procedure didn’t apply to a Fellow. I don’t expect there to be a mathematical proof, but I was curious for something that wasn’t conjecture about what people assume their work environment is like.

Regarding being a Fellow: finding out that people respect senior engineers and take into consideration their past experience isn’t shocking, or an example of the rules not applying to them. Similarly, if you told me that a head chef at a restaurant has more impact on the menu than a line cook, it wouldn’t be an indication that the rules don’t apply to head chefs, or that nobody cares about their performance. And nobody would make claims that restaurant’s menu didn’t reflect their “ethos” because it was designed by an experienced head chef.

Re:Pkg.go.dev is more concerned with Google's interests than... by googthrowaway42 on Saturday August 01, 2020 @10:29PM (#24025835)
It's been pointed out by someone who still has access to the internal org chart that they're not actually fellows so the point is kind of moot with respect to that. I assume they're distinguished engineers but I'm not sure.

I actually do think that Go in its adoption by Google is a reflection of Google engineering values. I still don't think that someone who comes in to Google at the level that the Go creators came in would have the same experience as someone who came in entry level cut their teeth moving up through Google but that's just my perspective. A lot of people I met had only been at 1 or 2 other companies before Google (my TL had actually been at Google his whole professional life) and a lot of their opinions about engineering were shaped by how Google did things.

Re:Pkg.go.dev is more concerned with Google's interests than... by akerl_ on Saturday August 01, 2020 @08:06PM (#24025086)
It seems like you’re making a couple of key assumptions about what the work environment looks like for the core Golang dev team, and then extrapolating from there to exclude them from your definition of Google’s “ethos”.

Separately, the idea that a manager having influence on a good engineer’s work is “broken” is one I don’t understand.

But I think, based on this comment thread, it’s unlikely we’re going to reach a consensus.

Re:Pkg.go.dev is more concerned with Google's interests than... by a1369209993 on Sunday August 02, 2020 @12:32AM (#24026356)
> if I operated an auto repair shop, and I wanted my shop's "ethos" to be "we do high-quality repairs on cars", one of the primary ways to do that would be to hire smart, already-experienced mechanics. And it would seem strange to me if people wrote blog posts saying that the work of those mechanics didn't count towards my "ethos" because they were already good at their jobs; that's why I hired them!

FWIW, that doesn't seem strange to me. Hiring smart, already-experienced mechanics is a input to your ethos; presumably you hope that they will make the shop's culture better-suited to doing high-quality repairs. A example of a output of that culture would be if you also hired young, inexperienced mechanics, and they learned (presumably from their aforementioned seniors) to do high-quality repairs and went on to be the next generation's smart, already-experienced mechanics.

Re:Pkg.go.dev is more concerned with Google's interests than... by tptacek on Saturday August 01, 2020 @09:00PM (#24025396)
I know you work at Google and have been busy in this thread trying to cognitive dissonance your way around this problem

This kind of writing is not allowed on HN. Make your argument on its merits, not with innuendo.

Re:Pkg.go.dev is more concerned with Google's interests than... by cycloptic on Saturday August 01, 2020 @06:15PM (#24024358)
Can you please tone down the inflammatory rhetoric, in general? I used to like reading your blog but it's getting really tiring to see every technical discussion you make sidetracked by a rant against someone or something.