{"id":27331,"date":"2017-02-11T22:17:28","date_gmt":"2017-02-11T20:17:28","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=27331"},"modified":"2017-02-11T22:17:28","modified_gmt":"2017-02-11T20:17:28","slug":"software-engineering-at-google","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/","title":{"rendered":"Software Engineering at Google"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"https:\/\/research.google.com\/pubs\/104803.html\">Fergus Henderson<\/a>, who has been a software engineer at Google for 10 years, published the <a href=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/02\/Software-Engineering-at-Google.pdf\">PDF document<\/a>\u00a0entitled &#8220;<a href=\"https:\/\/arxiv.org\/abs\/1702.01715\">Software Engineering at Google<\/a>&#8220;, where he collects and describes key software engineering practices the company is using.<\/p>\n<p>It covers the following:<\/p>\n<ul>\n<li><strong>software development<\/strong> &#8211; version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling tools, release engineering, launch approval, post-mortems, and frequent rewrites.<\/li>\n<li><strong>project management<\/strong> &#8211; 20% time, objectives and key results (OKRs), project approval, and corporate reorganizations.<\/li>\n<li><strong>people management<\/strong> &#8211; roles, facilities, training, transfers, performance appraisal and rewards.<\/li>\n<\/ul>\n<p>Some of these practices are widely known, some not so much. \u00a0There are not a lot of details, but the overall summaries should provide enough food for thought for anyone who works in the software development company or is involved in management.<\/p>\n<p>&nbsp;<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document\u00a0entitled &#8220;Software Engineering at Google&#8220;, where he collects and describes key software engineering practices the company is using. It covers the following: software development &#8211; version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Software Engineering at Google<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Software Engineering at Google #Google #management","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,62],"tags":[3069,2068,580,3178,1673],"keyring_services":[],"class_list":["post-27331","post","type-post","status-publish","format-standard","hentry","category-general","category-technology","tag-best-practices","tag-google","tag-management","tag-project-management","tag-software-engineering"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled &quot;Software Engineering at Google&quot;, where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Software Engineering at Google - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled &quot;Software Engineering at Google&quot;, where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-02-11T20:17:28+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-02-11T20:17:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Software Engineering at Google - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled &quot;Software Engineering at Google&quot;, where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#blogposting\",\"name\":\"Software Engineering at Google - Leonid Mamchenkov\",\"headline\":\"Software Engineering at Google\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2017-02-11T22:17:28+02:00\",\"dateModified\":\"2017-02-11T22:17:28+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#webpage\"},\"articleSection\":\"All, Technology, best practices, Google, management, project management, software engineering\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/general\\\/#listItem\",\"name\":\"All\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/general\\\/#listItem\",\"position\":2,\"name\":\"All\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/general\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#listItem\",\"name\":\"Software Engineering at Google\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#listItem\",\"position\":3,\"name\":\"Software Engineering at Google\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/general\\\/#listItem\",\"name\":\"All\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/\",\"name\":\"Software Engineering at Google - Leonid Mamchenkov\",\"description\":\"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled \\\"Software Engineering at Google\\\", where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2017\\\/02\\\/11\\\/software-engineering-at-google\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2017-02-11T22:17:28+02:00\",\"dateModified\":\"2017-02-11T22:17:28+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Software Engineering at Google - Leonid Mamchenkov","description":"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled \"Software Engineering at Google\", where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#blogposting","name":"Software Engineering at Google - Leonid Mamchenkov","headline":"Software Engineering at Google","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2017-02-11T22:17:28+02:00","dateModified":"2017-02-11T22:17:28+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#webpage"},"articleSection":"All, Technology, best practices, Google, management, project management, software engineering"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/#listItem","name":"All"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/#listItem","position":2,"name":"All","item":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#listItem","name":"Software Engineering at Google"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#listItem","position":3,"name":"Software Engineering at Google","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/#listItem","name":"All"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/","name":"Software Engineering at Google - Leonid Mamchenkov","description":"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled \"Software Engineering at Google\", where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2017-02-11T22:17:28+02:00","dateModified":"2017-02-11T22:17:28+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"Software Engineering at Google - Leonid Mamchenkov","og:description":"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled &quot;Software Engineering at Google&quot;, where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling","og:url":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2017-02-11T20:17:28+00:00","article:modified_time":"2017-02-11T20:17:28+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"Software Engineering at Google - Leonid Mamchenkov","twitter:description":"Fergus Henderson, who has been a software engineer at Google for 10 years, published the PDF document entitled &quot;Software Engineering at Google&quot;, where he collects and describes key software engineering practices the company is using. It covers the following: software development - version control, build system, code review, testing, bug tracking, programming languages, debugging and profiling","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"27331","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-20 04:25:33","updated":"2026-01-15 12:43:44","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/general\/\" title=\"All\">All<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSoftware Engineering at Google\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},{"label":"Software Engineering at Google","link":"https:\/\/mamchenkov.net\/wordpress\/2017\/02\/11\/software-engineering-at-google\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18205,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/05\/22\/the-f5-key-is-not-a-build-process-its-a-quick-an\/","url_meta":{"origin":27331,"position":0},"title":"The F5 key is not a build process. It&#8217;s a quick an&#8230;","author":"Leonid Mamchenkov","date":"May 22, 2013","format":"quote","excerpt":"The F5 key is not a build process. It's a quick and dirty substitute. If that's how you build your software, I regret that I have to be the one to tell you this, but your project is not based on solid software engineering practices. Jeff Atwood","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29302,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/25\/our-software-dependency-problem\/","url_meta":{"origin":27331,"position":1},"title":"Our Software Dependency Problem","author":"Leonid Mamchenkov","date":"January 25, 2019","format":false,"excerpt":"\"Our Software Dependency Problem\" is a great article going in-depth into the subject of the dependency management during software engineering. Dependency managers have scaled this open-source code reuse model down: now, developers can share code at the granularity of individual functions of tens of lines. This is a major technical\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":29188,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/01\/07\/monorepos-please-dont\/","url_meta":{"origin":27331,"position":2},"title":"Monorepos: Please don\u2019t!","author":"Leonid Mamchenkov","date":"January 7, 2019","format":false,"excerpt":"I have only recently discovered the concept of monorepos. It does sound interesting and I am yet to try it out, or, at least, dig deeper into the subject. But then, there are people who have strong opinions against them, and I the reasoning makes all the sense to me.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27978,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/09\/09\/multiple-perspectives-on-technical-problems-and-solutions\/","url_meta":{"origin":27331,"position":3},"title":"Multiple Perspectives On Technical Problems and Solutions","author":"Leonid Mamchenkov","date":"September 9, 2017","format":false,"excerpt":"\"Multiple Perspectives On Technical Problems and Solutions\" is an interesting take on engineering in general and software architecture in particular. \u00a0It starts off with: Fundamental: engineering decision-making is a\u00a0socially constructed\u00a0activity [...] In other words, engineering (as an activity) does not have \u201ccorrect\u201d solutions to problems. As an aside, if you\u2019re\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":42682,"url":"https:\/\/mamchenkov.net\/wordpress\/2019\/06\/05\/notes-to-myself-on-software-engineering\/","url_meta":{"origin":27331,"position":4},"title":"Notes to Myself on Software Engineering","author":"Leonid Mamchenkov","date":"June 5, 2019","format":false,"excerpt":"I came across these \"Notes to Myself on Software Engineering\", with which I agree wholeheartedly. Some of these I've learned \"the hard way\". For most of these, I wish I knew them earlier. They would make my life a lot easier. Here a few to get you started, but make\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27622,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/05\/25\/eight-rules-for-effective-software-production\/","url_meta":{"origin":27331,"position":5},"title":"Eight Rules for Effective Software Production","author":"Leonid Mamchenkov","date":"May 25, 2017","format":false,"excerpt":"Timofey Nevolin wrote an excellent article \"Eight Rules for Effective Software Production\" over at Toptal.com. \u00a0The whole thing is well worth a read, but here are the 8 rules to get you started: Understand the IT Mentality Do Not Mix Software Production and Development Methodologies Use Persistent Storage as an\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=27331"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/27331\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=27331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=27331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=27331"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=27331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}