Among the fascinating concepts I came across while reading a book about software engineering for long-lived code is "Chesterton's Fence," or second-order thinking. The TL;DR is that if we do not consider the rationale of previous decisions and understand how we arrived at a certain phenomenon or dilemma we can frequently make a situation worse instead of better.
Wednesday, May 26, 2021
Monday, May 24, 2021
10 best practices for remote software engineering by Vanessa Sochat
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidMTfgq6-d9Wn8zsiAcWeEH1Er40KDgxJ8HXJeN-MgLsHjLIRXFFHNUtxLx18_CVkDtWh4w_xhEe-klxUNWszudNFw0hvL8Rje-lBWqrRhs8vy3X3yEEfwClSI_t6SbEDWrA2kK9W_jKg/s320/image-759301.png)
This relatively long article in the Communications of the ACM (CACM) article explains the top best practices, habits, and sensibilities for remote software engineers.
The details are very important and some of the definitions contain non-obvious concepts, so don't rely on this summary:
- Work on things that you care about;
- Define goals for yourself;
- Define productivity for yourself;
- Establish routine and environment;
- Take responsibility for your work;
- Take responsibility for human connection;
- Practice empathetic review;
- Have self-compassion;
- Learn to say yes, no, and not anymore; and
- Choose correct communication channels
Number 2, for example, is about self-compassion, setting charting your own career course, being mindful and forgiving of yourself.
Flow Framework by Mik Kersten
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgs53r6SqphT6AqPi7zT7WSkd3MeuTi77NUO5VwiHH-NBFAGua7XXKpRYzzBFM7phVtV6JG1GBB6hVb52fQg7wmfdePGBq29Ua7XEHci-B0PJetQMeD58W4ztGpFlrdvvJ3yzVwdNwa58s/s320/Screen+Shot+2021-05-24+at+11.49.01-709460.png)
For large tech organizations falling into a death spiral of technical debt, this framework offers some hope. Tech organizations optimize for how their success is measured. These measurements appear to motivate better behaviors, even when we account for the common practice of "gaming" metrics instead of embracing their purpose. The author gave a great talk called The CIO who mistook tech debt for a hat emphasizing the "agnosia" of leaders. He also wrote the book Project to Product.
Labels:
devops
Sunday, May 23, 2021
Cautionary Story of Services Mesh pitfalls, failures
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2xEm819saDxvchU1gMJJ7Oi8V48KsQa7V3scXvv3MjoXfsvaQ2Mt2SUjh9r3HxTbn96dCQnVjpVUq935srDWtkT0yoLVcByeKsw5XtaZQK66ICe-okZeibfHNx4yLVFAdnyCc-3Ls9Ww/s320/Screen+Shot+2021-05-23+at+1.32.18+PM-716846.png)
Eric Fossas posted this horror story of istio failures and weaknesses and warnings about linkerd to which he switched. He does not even mention the added latencies and failures the extra network hops incur.
Labels:
devops
Wednesday, May 19, 2021
Software Engineering at Google
This book is really interesting. There are many details not only of the policies, patterns, practices, and interesting scale at Google, but also (more useful), an analysis of common software engineering problems, trade-offs, and alternatives for many policies and approaches. The book is rich with examples and some cookbook guidance for different situations.
Labels:
devops
Tuesday, May 18, 2021
Monday, May 17, 2021
Pixie Observability framework on the extended Berkeley Packet Framework
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYC0RJrJbHbEHUeug48vi_J22IFHzX-Hhn0W9bBAvAvuGUUiWe_LCwu6T78YnSrm-sclcNm7FWWnHA3jpbnkfosRe0I9MtCVsTViIGxbsv9zZxyQRi2mh8Kw5pruV353wEAM3DBrY_nNc/s320/Screen+Shot+2021-05-17+at+17.22.25-721316.png)
Building on the what-you-need-only-when-you-need-it concept of Mantis, Pixie enables you to create "Pixie Edge Modules" (PEMs). PEMs are full body request traces (via eBPF); or PEMs can be system metrics or K8s events. There is no need for any code-changes because Pixie runs underneath your containers, services, and applications; Pixie guarantees less than 5% overhead. Custom metrics, traces & logs can be integrated into Pixie Command Module (PCMs) for your own, arbitrary traces or metrics. The PCMs run in your K8s cluster and are operated by command line. It's a much-richer observability platform than a mesh. Let's see if the concept takes off.
Labels:
devops
Displaying measurements in dashboards
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqnblqMoNWNS_IduQSf5I9iNVY3C-4pwE_mQtVXhFANVv8uETyrN1ZqPhtqBemyGNc4TcqTQhAtSf2j_CKiu_52TdSTFIcmp2ihxrNsbOcbJM7sUXN3c7bBst3fh3b_quuHfW8BMgRWEA/s320/image-781957.png)
I recently stumbled across this insightful and detailed advice for user experience design of dashboard displays. Grafana appears to take many of these guidelines into account when it creates default dashboards from my time series data but I have noticed most engineers make their dashboards much too complex by default.
Labels:
devops
Kubecon-EU 2021 redux
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmNONnpTs6Mm0YxQ4McbBHVpUKjyucj-Z4aSZ40-ndBK8dOhiWmS7LcAzcFjKIREbGSdNgfTUQ6uURHRl9jvNwgMFznqG8hif3rPyxGzsXZSjfLXWTqsBjuz1mAhWQYkbFz0sDDD8S0qA/s320/image-726847.png)
In previous years, my company sent folks to Kubecon & Kubecon-EU almost since the conferences started. However, this year I was unable to find any read-outs or trip reports internally, and I had no budget allocated to pay for my folks to go, so I retreated to others' public write-ups online. Danny Bryant wrote this one. His summary is not bad. Dany's key take-aways: Developers, and developer experience, within public cloud is a big deal; End users are making a big impact in the cloud native world right now; Networking in the cloud and K8s are is still evolving and unstable; Open standards are providing key abstractions, extensibility, and innovation; Control planes are where the most end user value is being created; Anyone can (and should) contribute to the community: docs are a great place to start.
Rich Burroughs wrote this longer write-up with more-detailed summaries of the talks.
Labels:
devops
Saturday, May 15, 2021
Why are all CEOs of trillion dollar companies originally software engineers?
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrgI2CQ-1cIm-st5vg29c28SeVuqpSfIf3gRe-BSH-P09BJhSIF09PXNNsuirWkiBiJN_AGZJHlT82Y5LuYs0xfepbZkTa5xJt4Jtbze08d1Jt3HaEh63nT_GE5qiLvcpPpdQMWD2SU0Q/s320/Screen+Shot+2021-03-04+at+16.47.57-753498.png)
The International Institute of Software Management (iism.org) features a relatively long but worthwhile analysis of why there are so many successful CEOs who were developers. and guidance for leaders who started out as developers for applying their skills to wealth creation and success.
(All of the links in this post were removed because Google claims they violate the reader's privacy. You will need to duckduckgo search for the iism article.)
Labels:
biz
Fwd: Better Code Review Practices
I recently reminded folks at work that it sometimes helps to look back at the issues we put into our code in the last 3-9 months. We can formulate a short (3-5 item) bullet list in a checklist. The list is the 3-5 most-frequent types of errors we made in the recent past. The checklist reminds us during code reviews to look for the same type of bug in new code while we are reviewing the new code. Of course, the checklist must change, so there is effort in re-reviewing the last 3 months of bugs 4x per year and updating the checklist. If all the bugs we put in are unique and there are no visible patterns, this effort is not worth doing. This idea comes from Steve McConnell's book Code Complete. He calls the process "checklist driven code reviews" and he published a (long) list of common patterns of issues as examples. Steve's book and approaches are quite old and modern integrated experiences and tools enable more, better refactoring, as well as some new difficulties for reviewers.
Over the weekend, I stumbled upon this interesting post from Mike Lynch with very-useful advice for how you should formulate your pull requests so that reviewers can more-easily review your code.
(All links in this post were removed because Google claims they violate the readers's privacy. You will need to duckduckgo search for the book, the checklist, and Mike Lynch's blog post about formulating pull requests for code review.)
Labels:
devops
augmenting our bodies
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbZKT0LXedWJVr7Od1DQ-xiMvTZTxBwF9csJeim0kcb0vFBySBZsHR2RuFqisOr5C54rONjlZoT04zsVmHG6mLhzXRAMLiYwTX-0n3k0MrpqVD3-HwytJk0ahzrjIzEFxAMlwrZezWkss/s320/Screen+Shot+2021-03-07+at+4.39.46+PM-786324.png)
In his first book, More than Human in 2010, our buddy Mez took us on some great thought experiments about the promise of brain-enhancing drugs and body-enhancing prosthetic devices such as exoskeletal limbs. We are starting to see early prototypes of concepts beyond simple enhancements and towards additional functionality. The third thumb project is one example.
Labels:
popsci
Do YOUR Job first
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNSp1z8xnXVE9ObPqrDpptOMlzqv-ZL5GXDhYSVKe9vtHCQn61Dix4eoAeFHKFFw4qIygSkufkCeo3j8UlJkk5HSVB-3W65EWE_7EuJwBnfDmvTb_S5ZW07aj3H7yxg0Z9wp-xVSJihiw/s320/image-725973.png)
Charity Majors posted some more good career advice in her blog on 2021-03-07. It's about focus and getting YOUR job done first, before you get distracted by all the other important work that is peripheral to the mission and purpose of your own job. Many of us are attracted to shiny, new objects and are easily distracted. Other folks are opportunistically looking to gain credit or glory unrelated to their job.
In 2016, on their way to their fifth (and best) super bowl championship, the New England Patriots cut one of the best players and athletes on their team, Jaime Collins. Collins is a fantastic player. Why was he cut? To function effectively and win as a team, each person must do her own job first. Do YOUR job.
Labels:
biz
Tuesday, May 11, 2021
Monday, May 10, 2021
Blood of Elves by Andrzej Sapkowiski
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh85PFtdCjgZyC2tm_UUaGY-HC8ATREOg0_pyZqMMy0tLD7ziyFDk6_nXAR6nRyZLqKc8uDQFDfwT8VUqHR-zLmm3UEASgppdqptHxzIJ1_RZ7SooKfX8Q95hcDRhnrfG1yPbon5a19ie8/s320/image-779029.png)
My kids kept saying great things about this series so I picked up the first book. I have a very strong preference for space opera or hard sci-fi. But the story, characters, & politics are very well-crafted. The magic system is mysterious and appears arbitrary at first but one assumes readers discover more about it as the story progresses in future books. I may finish the next two books but my queue of books to read has been growing. 3/5 Stars.
Wednesday, May 5, 2021
Monday, May 3, 2021
Surveillance Capitalism
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiISsEJh6SQWMW2hDPYOUvQ3G_PsANmuJ2jk348BTnqJ7lFX7Xb5Ul2Af8Tscr3Bbdy5YuDNum3BGx4sypbShIPHe8IY8lyMjEOS8MTOHvzZUcVecY_PB-5URGTcKEekiQ5mRu8bXbEBJU/s320/Screen+Shot+2021-05-03+at+17.47.08-746592.png)
I am curious about HIPAA laws in the age of Surveillance Capitalism and proof-of-vaccination requirements. I shall soon take a course on this topic so I may soon find out.
Labels:
biz,
philosophy
Gerry's Kids
As I mention from time to time, my youth and values were shaped by our mid-20th century enlightened optimism and confidence in our better future shaped by science & technology. This new documentary about Gerard K. O'Neill is a wonderful story that communicates the attitudes & feelings we had during that time. Reading The High Frontier was one of the most life-changing events in my life. It is no coincidence that the founders and leaders of all of the trillion dollar companies in the world today "bet the company" on big hairy audacious goals that required inventing new technology. They are optimistic we can invent and engineer our way into the vision. A simple example is that consumer Starlink satellite dishes currently sell for much less than their cost to manufacture.
Sunday, May 2, 2021
Saturday, May 1, 2021
DevxConf 2021
In case you missed DevxConf on Wednesday 2021-04-28 and Thursday 2021-04-29, here is a YouTube playlist of all the talks.
Labels:
devops
Successful System Hand-Over
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjarllRD7uV_wQKKXokXSLBDvxaQWORN1OTKA3ciBoxAMEMc-pst3r9ypDS9GGUXN14C_-0nuy0rOnEv_VgI8tykTLlEXcN2_N28cM2MQYdngI-h83siTWrBjeaUJvabnZpvY6CFaGH5SY/s320/image-778322.png)
Aleksandra Govilovska has published a fantastic, dense, and comprehensive guide on how, successfully to transfer a software system to a different team. This guide is a fantastic resource for your own checklist and project plan.
Labels:
devops
Steven Pinker's Psych-1 Class Lectures are Free Online
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnQlTKnXrmmymrNhAOIizLgLdWWPsRBVuzovOtddBm4l32IXfaEg9pdhGOthLj7TXzelk2A8SxhMuX1FyQ_RRjJfmiYw4pLCDAncKDDINBp26w8kF8Bq8VDpTQ6A5U9CfrgnhQNHKvPoA/s320/Screen+Shot+2021-05-01+at+16.59.23-771950.png)
As a big fan of Steven Pinker's popular science writing, TED lectures, and enlightenment ideas, I was thrilled to discover that Harvard has made all of the videos from his new Freshman college class on Psychology freely available. Many of the lectures are stand-alone, intrinsically interesting subjects. I wish I had time to watch all the lectures, sigh.
Labels:
popsci
War of the Worlds Global Dispatches edited by Kevin J Anderson
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghT8S-KwxTjSNV51my6xRXsFq_i0yZlNWxFFVYcfgnHymXeEbLrGa_AdWmUmjTJWJ5YiHBE2mHK-zY3BZfHOVJ-UmqrXHUfRERzdYuutDZoRglQNcygKRv2DXi2Wn4B9IJ92XJCiFsmOA/s320/image-749277.png)
I had read most of these stories before but enjoyed re-reading them as well as the new ones. The fun part, of course, is each talented writer's homage to the style, plotting, voice, and writing of each author to whom the stories are attributed. Among my favorites is "Night of the Cooters" with the persona of Slim Pickins as a Texas Ranger, which I had read in 1987 in a magazine. 4/5 Stars.
Subscribe to:
Posts (Atom)