{"id":577,"date":"2019-03-09T22:37:50","date_gmt":"2019-03-09T22:37:50","guid":{"rendered":"http:\/\/www.wellformedness.com\/blog\/?p=577"},"modified":"2019-06-16T15:39:37","modified_gmt":"2019-06-16T15:39:37","slug":"lessons-learned-from-my-time-at-google","status":"publish","type":"post","link":"https:\/\/www.wellformedness.com\/blog\/lessons-learned-from-my-time-at-google\/","title":{"rendered":"Lessons learned from my time at Google"},"content":{"rendered":"<ul>\n<li>C++ 11 is a powerful, elegant language and the right choice for performant general-purpose code. Bash is an excellent lingua franca for chaining a long series of commands. Python is best for everything else.<\/li>\n<li>Data should be passed around in schematic form, with a compact serializations over the wire and a human-readable format at rest. <a href=\"https:\/\/developers.google.com\/protocol-buffers\/\">Protocol buffers<\/a> (and the lesser-known <a href=\"https:\/\/developers.google.com\/protocol-buffers\/docs\/reference\/cpp\/google.protobuf.text_format\">text format<\/a>) are an ideal cross-language solution.<\/li>\n<li>Grammar development is more important than model building.<\/li>\n<li>Model building is easier than deployment.<\/li>\n<li>Whiteboards are useful.<\/li>\n<li>I can only do certain sorts of work without an office (yes, that thing with a door).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>C++ 11 is a powerful, elegant language and the right choice for performant general-purpose code. Bash is an excellent lingua franca for chaining a long series of commands. Python is best for everything else. Data should be passed around in schematic form, with a compact serializations over the wire and a human-readable format at rest. &hellip; <a href=\"https:\/\/www.wellformedness.com\/blog\/lessons-learned-from-my-time-at-google\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Lessons learned from my time at Google&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[4,5,8],"tags":[],"class_list":["post-577","post","type-post","status-publish","format-standard","hentry","category-language","category-nlp","category-python"],"_links":{"self":[{"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/posts\/577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/comments?post=577"}],"version-history":[{"count":3,"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/posts\/577\/revisions"}],"predecessor-version":[{"id":680,"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/posts\/577\/revisions\/680"}],"wp:attachment":[{"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/media?parent=577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/categories?post=577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wellformedness.com\/blog\/wp-json\/wp\/v2\/tags?post=577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}