3 ms·
Fair question. I want mainly to optimize my own workflow, maybe try some new 'ways' do develop software - editing remote vs local, building remote vs local, tes
by ralmeida 9y ago
Fair question. I want mainly to optimize my own workflow, maybe try some new 'ways' do develop software - editing remote vs local, building remote vs local, testing remote vs local, manual "printf" debugging vs debugger, etc.
I'll tell you why I chose to focus on Google specifically to start with.
First, it has a generally "analytic approach" to running their business, which they use for many things, from actual engineering, to dev ops, to "people ops" - you might have seen an article which describes how they basically tackled the problem of "how team dynamics" work with a large-scale internal social experiment with a heavily quantitative methodology.
Second, being very large scale, they have plenty of incentive to try to optimize developer experience, since even a small efficiency gain can make a non-trivial impact.
Third, they share quite a bit of their 'opinionated approaches' about things both in the form of research, articles and open source software (see MapReduce, Piper, Kubernetes, etc), but not everything, which seems to spark the imagination of people and generate some 'folklore' (as I mentioned in the question, I've heard/seen quotes from 'no one can check out code locally', 'everyone uses vim', 'nobody uses vim', etc).
This is obviously only my impression, which may be even way off.
Finally, I am sure that other similarly sized companies may have very interesting insights about this kind of thing. I chose to not make the question too generic also to not dilute the interest of the very people qualified to offer some insight.