Skip to content

Commit

Permalink
deploy: a47be77
Browse files Browse the repository at this point in the history
  • Loading branch information
IanWold committed Nov 28, 2024
1 parent dd2e6b9 commit 6a98e98
Show file tree
Hide file tree
Showing 9 changed files with 405 additions and 3 deletions.
325 changes: 325 additions & 0 deletions Posts/book_club_11-2024.html

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions Series/book_club.html
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,13 @@ <h1 class="title">Book Club</h1>
<ul>


<li>
<em>11.28</em>
<a href="../Posts/book_club_11-2024.html">
Book Club 11/2024: No<small>On forming quality opinions and saying 'no'</small>
</a>
</li>

<li>
<em>10.28</em>
<a href="../Posts/book_club_10-2024.html">
Expand Down
7 changes: 7 additions & 0 deletions Topics/industry.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ <h1 class="title">Topic: Industry</h1>
<ul>


<li>
<em>11.28</em>
<a href="../Posts/book_club_11-2024.html">
Book Club 11/2024: No<small>On forming quality opinions and saying 'no'</small>
</a>
</li>

<li>
<em>09.02</em>
<a href="../Posts/book_club_8-2024.html">
Expand Down
7 changes: 7 additions & 0 deletions Topics/learning.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ <h1 class="title">Topic: Learning</h1>
<ul>


<li>
<em>11.28</em>
<a href="../Posts/book_club_11-2024.html">
Book Club 11/2024: No<small>On forming quality opinions and saying 'no'</small>
</a>
</li>

<li>
<em>09.20</em>
<a href="../Posts/learn_the_old_languages.html">
Expand Down
7 changes: 7 additions & 0 deletions Topics/processes.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ <h1 class="title">Topic: Processes</h1>
<ul>


<li>
<em>11.28</em>
<a href="../Posts/book_club_11-2024.html">
Book Club 11/2024: No<small>On forming quality opinions and saying 'no'</small>
</a>
</li>

<li>
<em>11.20</em>
<a href="../Posts/three_laws.html">
Expand Down
41 changes: 41 additions & 0 deletions feed.xml
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,47 @@ They've journeyed forth, with purpose evergreen.&lt;/p&gt;
<pubDate>Wed, 22 Nov 2023 00:00:00 Z</pubDate>
<a10:updated>2023-11-22T00:00:00Z</a10:updated>
</item>
<item>
<guid isPermaLink="false">book_club_11-2024</guid>
<link>https://ian.wold.guru/Posts/book_club_11-2024.html</link>
<title>Book Club 11/2024: No</title>
<description>&lt;p&gt;Happy Turkey Day gobble gobble! Those of us in the US are celebrating Thanksgiving Day, and today I'm thankful for all my colleagues who make a habit of saying &amp;quot;no&amp;quot;. Does the period go inside the &lt;em&gt;&amp;quot;&lt;/em&gt; in this case? I've always been unclear.&lt;/p&gt;
&lt;p&gt;Anyway, I'm not a big fan of &amp;quot;yes&amp;quot; - &amp;quot;yes, we can add all those features&amp;quot;, &amp;quot;sure you can add those extra layers to the architecture&amp;quot;, &amp;quot;Decompose our microservices into nanoservices in spite of only having 12 users? You betcha!&amp;quot; These are kind of silly examples admittedly but it's a common picture that's been painted by plenty of opinion-havers in our industry before me. This isn't a problem unique to ours too, the so-called yes men are everywhere.&lt;/p&gt;
&lt;p&gt;I spend a lot of time speaking with my colleagues about the importance of qualifying knowledge, learnings, and opinions with conditions; too many of us are too absolute in our thinking. Instead of holding the opinion &amp;quot;we should &lt;em&gt;always&lt;/em&gt; use onion architecture&amp;quot; it's better to assert &amp;quot;&lt;em&gt;if&lt;/em&gt; we have a large monolith that requires robust domain segregation, &lt;em&gt;then&lt;/em&gt; onion architecture is preferred.&amp;quot; Whether you hold either opinion or not, I hope it's obvious that we would all prefer to work with the engineer holding the second. When we learn new things or develop new strategies or &lt;em&gt;whathaveyou&lt;/em&gt;, the success always happened in the context of some environment, and the facts of that context are as much a part of the success as the actual good thing that was implemented. Our work is more robust when we incorporate those facts into our learnings in these qualifying conditions.&lt;/p&gt;
&lt;p&gt;This is a way of not saying &amp;quot;yes&amp;quot; at each opportunity. In my example, we change from &amp;quot;yes, let's use onion architecture&amp;quot; to &amp;quot;maybe, let's see if we should use onion architecture.&amp;quot; The same comes from the other direction with &amp;quot;no&amp;quot; statements. Think of all the software engineering opinions you hold, and let me ask you how many are &amp;quot;no&amp;quot; opinions? I mean propositions like &amp;quot;don't use onion architecture&amp;quot; or &amp;quot;don't put opening curlies on the same line&amp;quot; or the like. Now of those &amp;quot;no&amp;quot; opinions you have, how many of them are just the opposite of a concrete &amp;quot;yes&amp;quot; opinion you hold? I mean, for example, if you hold the opinion &amp;quot;don't put opening curlies on the same line&amp;quot; you also think &amp;quot;always put opening curlies on the next line.&amp;quot; When I did this exercise I found that a lot of my &amp;quot;no&amp;quot; opinions are just mirrors of other &amp;quot;yeses.&amp;quot;&lt;/p&gt;
&lt;p&gt;These are equally unproductive, and transforming them into conditionals will do good. It's clear then that offering a &amp;quot;no&amp;quot; opinion, or saying &amp;quot;no&amp;quot; in any way, is always best served by making sure it's the right &amp;quot;no&amp;quot; for the context, and being open to the possibility of a &amp;quot;yes&amp;quot; instead. That said, there's infinitely more &amp;quot;no&amp;quot; than &amp;quot;yes&amp;quot; to be had at any given time. Think about the last trivial bug you had to solve at work - there's a million choices you could take that are obviously wrong. You didn't need to rewrite the whole application, you didn't need to distribute it out into a separate service, you didn't need to introduce a cache. Well, probably not for all of those, but you get the point: there are very few good paths and an infinite number of bad paths.&lt;/p&gt;
&lt;p&gt;So &amp;quot;no&amp;quot; positions are significantly more common, and you're going to be in a better position defaulting to &amp;quot;no.&amp;quot; This comes back around to our starting point being annoyed by our yes-colleagues: if &lt;em&gt;most&lt;/em&gt; paths before us are bad, they get us into trouble indiscriminately saying yes. If only a few paths are good paths forward, skepticism and carefulness behoove us. Being good at saying &amp;quot;no&amp;quot; helps to keep us on the right course.&lt;/p&gt;
&lt;p&gt;On a final note, I've heard from a few folks that their interest in the topic of &amp;quot;no&amp;quot; is more inclined towards a largely unexplored field of ethics within software engineering. I think there's a growing sense that we need some manner of organization in this area; our industry has kind of been flying by the seat of its pants for decades, and almost every other profession is better organized with a proper code of ethics. I can see how the &amp;quot;no&amp;quot; topic fits in here: what are our ethical obligations as to when to say &amp;quot;no?&amp;quot; I'll confess that I'm not terribly interested in this question at the moment, I was more interested in exploring how &amp;quot;no&amp;quot; can shape our outlook on the problem space, and the space itself. Certainly though I'll link some resources below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://adamralph.com/2019/10/22/would-it-help-if-i-spoke-to-your-management/"&gt;Would it help if I spoke to your management? - Adam Ralph&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.benkuhn.net/conviction/"&gt;No one can teach you to have conviction - Ben Kuhn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://grugbrain.dev/#grug-on-saying-no"&gt;Grug on Saying No&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dzone.com/articles/the-power-of-saying-no-a-superpower"&gt;Saying &amp;quot;NO&amp;quot; - A Superpower - Anand Safi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lifehacker.com/im-david-heinemeier-hansson-basecamp-cto-and-this-is-1820470919"&gt;I'm David Heinemeier Hansson, Basecamp CTO, and This Is How I Work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lucasfcosta.com/2020/09/05/not-having-problems.html"&gt;Not Having Problems - Lucas F. Costa&lt;/a&gt; (loosely related)&lt;/li&gt;
&lt;li&gt;Finally a general link to &lt;a href="https://renegadeotter.com/"&gt;Renegade Otter&lt;/a&gt;, where each blog post is a &amp;quot;no&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Video/Podcast:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=pcGW-FiapG8"&gt;Say No by Default - REWORK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=H8eP99neOVs"&gt;Focusing is about saying no - Steve Jobs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On Ethics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uncle Bob has an interest in this space:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4T0ivYGSNpg"&gt;Software Engineering Ethics Manifesto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Tng6Fox8EfI"&gt;The Scribe's Oath&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=A5umy4lUOOY"&gt;So You Can Sleep At Night - Jonathan Rothwell and Steve Freeman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=mw-OAGCcmSA"&gt;&amp;quot;I'm sorry Dave, I can't do that&amp;quot;: Ethics in Software Development - Dr. Morgan Leigh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=___k3hCQHEU"&gt;Software development, responsibility and ethics: the coming crisis - Richard Fontana&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
<pubDate>Thu, 28 Nov 2024 00:00:00 Z</pubDate>
<a10:updated>2024-11-28T00:00:00Z</a10:updated>
</item>
<item>
<guid isPermaLink="false">book_club_12-2023</guid>
<link>https://ian.wold.guru/Posts/book_club_12-2023.html</link>
Expand Down
7 changes: 7 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,13 @@ <h1 style="display: none;">A blog about software engineering and architecture.</
<ul>


<li>
<em>11.28</em>
<a href="Posts/book_club_11-2024.html">
Book Club 11/2024: No<small>On forming quality opinions and saying 'no'</small>
</a>
</li>

<li>
<em>11.20</em>
<a href="Posts/three_laws.html">
Expand Down
3 changes: 2 additions & 1 deletion sitemap.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ https://ian.wold.guru/Posts/book_club_1-2024.html
https://ian.wold.guru/Posts/book_club_10-2023.html
https://ian.wold.guru/Posts/book_club_10-2024.html
https://ian.wold.guru/Posts/book_club_11-2023.html
https://ian.wold.guru/Posts/book_club_11-2024.html
https://ian.wold.guru/Posts/book_club_12-2023.html
https://ian.wold.guru/Posts/book_club_3-2024.html
https://ian.wold.guru/Posts/book_club_4-2024.html
Expand Down Expand Up @@ -85,8 +86,8 @@ https://ian.wold.guru/Topics/testing.html
https://ian.wold.guru/Topics/industry.html
https://ian.wold.guru/Topics/patterns.html
https://ian.wold.guru/Topics/languages.html
https://ian.wold.guru/Topics/postgres.html
https://ian.wold.guru/Topics/learning.html
https://ian.wold.guru/Topics/postgres.html
https://ian.wold.guru/Topics/tooling.html
https://ian.wold.guru/Topics/projects.html
https://ian.wold.guru/Topics/standards.html
Expand Down
4 changes: 2 additions & 2 deletions topics.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@

<li><a href="Topics/languages.html">Languages</a></li>

<li><a href="Topics/postgres.html">Postgres</a></li>

<li><a href="Topics/learning.html">Learning</a></li>

<li><a href="Topics/postgres.html">Postgres</a></li>

<li><a href="Topics/tooling.html">Tooling</a></li>

<li><a href="Topics/projects.html">Projects</a></li>
Expand Down

0 comments on commit 6a98e98

Please sign in to comment.