Book Review: Software Engineering at Google: Lessons Learned from Programming Over Time

Software Engineering at Google: Lessons Learned from Programming Over Time. I feel like this book gets less fanfare than the Google SRE books but it’s just as valuable. Like Google’s SRE books, this book has a mixture of useful information, wonderful explanations, and Google-flavored navel gazing.

What I liked: the first 16 chapters or so had me really engaged. I especially enjoyed the author’s clear definition of software engineering vs. programming/coding. Chapter 7 was very insightful about how a data driven process to measure engineering productivity.

What I didn’t like: the usual kool-aid you get from publications written by very large companies. While the authors admit that Google’s methods aren’t applicable everywhere (and not universally applied within Google), a lot of it felt particularly impractical especially in contrast to the earlier parts of the book.

CSV Imports into Google Cloud BigQuery

If you have a large Postgres database, consider trying Google Cloud BigQuery for OLAP-style reporting queries.

database> COPY (<query_to_denomralize_report_data>) TO '<dest_filename>' DELIMITER ',' CSV HEADER;

Then upload it to GCS:

$ gsutil cp <dest_filename> gs://<dest_bucket>/<dest_filename>

Then, follow Loading Data into BigQuery (with Google Cloud Storage). For this to work, you’ll have to define the schema and skip the first leading row.

My most recent load job took 4 seconds, loading a very large CSV file. Query outputs can be saved to Google Sheets or other BigQuery tables.

For those of you who are looking for something similar on AWS, check out Amazon Athena.