4 ms·
Lots of Google's software is open source. It is easily checked. Regardless, I worked at Google for many years and agree with him. Implementing MapReduce, BigT
by peoplewindow 9y ago
Lots of Google's software is open source. It is easily checked.
Regardless, I worked at Google for many years and agree with him.
Implementing MapReduce, BigTable, MegaStore, even things like G+ or Teams is not a people oriented task. It involves long hours of working with machines, alone, punctuated with code reviews in which your code is systematically criticised by your co-workers but in a predictable and non personal way. There are occasional meetings but most engineers I knew there saw meetings as a necessary evil and got annoyed if they were too frequent.
When I was a SWE the bulk of my work hours were spent working entirely with machines, or with processes that were run by people but were largely mechanical and formalised, like resource requests.
I believe this sudden argument that coding is a highly social activity is motivated reasoning. The motivation being to try and arrive at the politically correct opinions required to survive in the modern Google workplace. If you tried to describe programming as a highly social and people-oriented activity to the average man on the street they would think you were bullshitting them, I have no doubt about that at all.
Teaching is people oriented. Social care is people oriented. Most of your working hours are spent in front of people, talking to them. Programming is the opposite - most of your hours are spent in front of a machine. Talking to others is probably not the bulk of your job. If it is you probably aren't a developer, regardless of what you might think: you might be a tech lead manager at most.
- Apocryphon 9y agoThis perspective seems like to highly downplay the issues of working on a team at a software company. Independent of the ideological and political battles that this manifesto controversy is but one example of, there have been more and more reports of issues at tech companies about "brilliant assholes" who are able to do the technical work yet create toxic environments for others to work with. Are you saying all of those projects at Google are owned by individuals who don't spend time interacting with others on the codebase? That doesn't sound like a very sustainable organizational model. The social aspect of coding may be currently trumped up, but if so, it's only in compensation to how its social aspect has been traditionally underrated. Any type of work at a company involves social interaction, communication, teamwork, etc. Coders aren't solitary medieval monks illuminating manuscripts by their lonesome
- peoplewindow 9y ago> Are you saying all of those projects at Google are owned by individuals who don't spend time interacting with others on the codebase No. That's not a reasonable interpretation of anything I said. All the programs I mentioned are written by groups of people. Despite that if you measure each hour in their day and classify it as "in front of a machine" vs "in front of people" you will find nearly all are in the first category. Now if you further sub-divide "in front of a machine" and classify time by "time spent in a text editor coding" vs "time spent emailing, filing tickets etc" then most time will still be in the first category, unless something has gone badly wrong at Google since I left. Interactions with people are, in programming projects like that, a means to an end. Usually the end being some concrete outcome like a machine allocation or a cross-check for bugs. There may sometimes be design or brainstorming sessions, MapReduce being famously designed over many cups of coffee between Jeff Dean and his colleagues like Sanjay Ghemawat. But these conversations are entirely work focused. They aren't about people or relationships. And the time spent drinking coffee whilst figuring out the design is ultimately dwarfed by the long term effort required to build and maintain the software itself.
- Apocryphon 9y agoCoding in of itself isn't a highly social activity, but you still need people who are reasonably competent socially to be able to handle a project that requires teamwork. Just because communication and social interaction is a means to an end doesn't mean they can be excessively devalued. Sure, you can say time spent in front of a machine is the value center, and time spent interacting with others (in interminable meetings, at stand-ups, etc.) are cost centers. But it's generally accepted around here that neglecting cost centers is a strategic miscalculation, no?