davideisinger.com

My personal website
Log | Files | Refs | README

changelog-com-kqx1ni.txt (15839B)


      1 [1]Changelog
      2 
      3   • [2]Podcasts
      4   • [3]Beats
      5   • [4]Posts
      6   • [5]Community
      7   • [6]Subscribe
      8   • [7]Changelog++
      9 
     10   • [8]Live
     11   • [9]Submit News
     12 
     13   • [10]Sign In
     14 
     15 [11][                    ]
     16 [13]Changelog
     17 
     18   • [14]Podcasts
     19   • [15]Beats
     20   • [16]Posts
     21   • [17]Community
     22   • [18]Subscribe
     23   • [19]Changelog++
     24   • [20]Submit News
     25 
     26 [21][                    ]
     27 [22] Jerod Santo [23]changelog.com/posts
     28 
     29 There's still no silver bullet
     30 
     31 a friendly reminder that you haven't found the panacea
     32 
     33 logged by [24]jerodsanto [25]2023-05-24T16:25:22Z [26]#practices +2
     34 
     35   • [27]#history
     36   • [28]#react
     37 
     38 The late, great [29]Fred Brooks wrote many words about software engineering.
     39 You may have heard of [30]Brooks’s Law or read his seminal book, [31]The
     40 Mythical Man-Month. Even if you haven’t, you’ve probably heard at least one
     41 colleague proclaim:
     42 
     43     Nine women can’t make a baby in one month!
     44 
     45 This is a powerful metaphor for two reasons. First: it’s so vivid that it’s
     46 hard to forget (and easy to recall in a time of need). Second: it makes obvious
     47 a not-so-obvious conclusion. Which is:
     48 
     49     Adding manpower to a late software project makes it later.
     50 
     51 That’s a hard pill to swallow, especially when your project is late. But it’s a
     52 truth pill, which makes it worth choking down. Here’s another truth pill that
     53 Brooks wrote in his paper [32]No Silver Bullet–Essence and Accident in Software
     54 Engineering:
     55 
     56     There is no single development, in either technology or management
     57     technique, which by itself promises even one order of magnitude [tenfold]
     58     improvement within a decade in productivity, in reliability, in simplicity.
     59 
     60 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     61 
     62 For those who don’t understand the silver bullet reference… it’s [33]pulled
     63 from folklore where a bullet cast from silver is the only weapon that can kill
     64 a werewolf. Over time a silver bullet has come to represent “a simple,
     65 seemingly magical, solution to a difficult problem.” Brooks could have easily
     66 reached for [34]panacea instead, but I think the shiny characteristic of silver
     67 makes it the perfect analog to software solutions.
     68 
     69 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     70 
     71 I’ve found myself referencing this a [35]couple [36]times recently. Both of
     72 those conversations were in the context of [37]React, but the principle applies
     73 to every over-adopted technology.
     74 
     75 So, this post is a gentle reminder to my fellow software engineers:
     76 
     77   • Does a new tool promise to solve all your problems? It won’t
     78   • Do you think you’ve found the “one true tech”? You haven’t
     79   • Have a shiny hammer that looks great for hitting screws? It isn’t
     80 
     81 Please humor me while I [38]quote myself for a moment: (Hey, it’s easier than
     82 writing)
     83 
     84 Subscribe to [39]our YouTube channel for more clips like this, live show
     85 recordings, and more ✌️
     86 
     87 
     88     We tend to be kind of lazy and just take the big hammer and hit all the
     89     nails with it. Like, “Oh, I’ve found the panacea. This is gonna solve all
     90     my problems”, because it does solve some of your problems big-time.
     91 
     92     But it’s also is gonna create other problems, and it’s also not gonna fit
     93     in every place that you can shove it. I mean, I know there’s React-based
     94     command line builders… And it’s like, okay, if you like components, cool.
     95     That makes sense. But why is React building your command-line app? I just
     96     don’t understand.
     97 
     98 When I extemporaneously said “I just don’t understand”, I meant that the choice
     99 confounds me. But I do understand why people might make it.
    100 
    101 Saying “use the right tool for the job” is easy, but actually selecting the
    102 right tool for the job is anything but. Good tools are hard to find, hard to
    103 evaluate, hard to learn. We have constraints, we have biases, we have
    104 shortcomings.
    105 
    106 But that’s all part of the work.
    107 
    108 And if you “just use Go” or “just use React” or “just use Postgres” for every
    109 problem that crosses your keyboard, you’re just not putting in the work.
    110 
    111 (And I say this as a guy who uses Postgres for most things! 😆)
    112 
    113 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    114 
    115 If you enjoyed reading this, you’ll probably enjoy [40]Changelog News, my free
    116 weekly podcast + newsletter covering developer news worth your attention. I
    117 keep it brief (~8 min), entertaining & always on-point. Not so sure? Check out
    118 a [41]recent issue!
    119 
    120 Software moves fast. We help you keep up. Our weekly newsletter is brief,
    121 entertaining & always on-point.
    122 
    123 [42][                    ]
    124 [43][Get Changelog News]
    125 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    126 
    127 Discussion
    128 
    129 [45]Sign in or [46]Join to comment or subscribe
    130 
    131 Solomon Ucko
    132 
    133 sollyucko
    134 
    135 [49] Solomon Ucko
    136 
    137 Solomon Ucko
    138 
    139   • [50]Twitter
    140   • [51]GitHub
    141   • [52]LinkedIn
    142 
    143 [53] 2023-05-25T03:42:39Z ago
    144 
    145 just use Rust, except possibly when you’re working with a platform designed for
    146 another language (e.g. web => HTML/CSS/JS, Android => Java or Kotlin, macOS/iOS
    147 => Objective-C or Swift, Microsoft Office macros => Visual Basic), though Rust
    148 does have FFI crates for all of these.
    149 
    150 [54]reply
    151 
    152 James Harr
    153 
    154 jamesharr
    155 
    156 [57] James Harr
    157 
    158 James Harr
    159 
    160   • [58]GitHub
    161 
    162 [59] 2023-05-27T12:55:20Z ago
    163 
    164     Nine women can’t make a baby in one month!
    165 
    166 I quoted this to my wife once while trying to explain the concept from the
    167 book. She knew what I meant, but said (paraphrasing) it’s a micro aggression to
    168 pick out women and I might want to pick another example.
    169 
    170 After some reflection and an initial knee jerk internal reaction of “no, it’s a
    171 fine example”, I agree with her. There’s no reason to change the book – it is
    172 what it is, it was written at a point in time, and it did it’s job of getting
    173 the readers to think. All that said, we can come up with a better example for
    174 the present and future. I don’t know what that example is, but I know we can do
    175 better.
    176 
    177 [60]reply
    178 
    179 Jerod Santo
    180 
    181 jerodsanto
    182 
    183 [63] Jerod Santo
    184 
    185 Jerod Santo
    186 
    187 Omaha, Nebraska
    188 
    189 Jerod co-hosts [64]The Changelog, crashes [65]JS Party, and takes out the trash
    190 (his old code) once in awhile.
    191 
    192   • [66]Twitter
    193   • [67]GitHub
    194   • [68]LinkedIn
    195 
    196 [69] 2023-05-27T13:36:23Z ago
    197 
    198 How is it a micro aggression? I do not understand.
    199 
    200 [70]reply
    201 
    202 James Harr
    203 
    204 jamesharr
    205 
    206 [73] James Harr
    207 
    208 James Harr
    209 
    210   • [74]GitHub
    211 
    212 [75] 2023-05-27T16:02:25Z ago
    213 
    214 Well, maybe micro aggression isn’t the right term, but it’s something that left
    215 a bad taste in her mouth and I’m trying to remember exactly how she described
    216 it. I think you almost have to put your self in the shoes of someone who 1) has
    217 had to work upstream in an industry because of their gender 2) has had to deal
    218 with people in a society that see a women’s “job” is to bear children and
    219 careers come second at best 3) has had to deal with a lot of people having
    220 opinions over your body and what you do with it, most of which do not share
    221 your anatomy. After putting yourself in that position, the comparison starts to
    222 feel more icky.
    223 
    224 I’ll be honest, I’m defending a view I don’t entirely “get” and may not be
    225 capable of understanding. However, after seeing her reaction when I said that
    226 quote, this is one of those times where I’m going to say “I believe you”. I’ve
    227 been incredibly privileged in this world as a white male, and that’s a pretty
    228 big blindspot, so I’m putting trust in someone else to see what’s there.
    229 
    230 I’m not going to fault anyone for quoting it and you have nothing to apologize
    231 for; Part of the reason that quote works so effectively is how ridiculous it
    232 is. I’m just going to challenge people to do better, and it’s going to be hard.
    233 
    234 [76]reply
    235 
    236 Jerod Santo
    237 
    238 jerodsanto
    239 
    240 [79] Jerod Santo
    241 
    242 Jerod Santo
    243 
    244 Omaha, Nebraska
    245 
    246 Jerod co-hosts [80]The Changelog, crashes [81]JS Party, and takes out the trash
    247 (his old code) once in awhile.
    248 
    249   • [82]Twitter
    250   • [83]GitHub
    251   • [84]LinkedIn
    252 
    253 [85] 2023-05-28T12:43:12Z ago
    254 
    255     I’ll be honest, I’m defending a view I don’t entirely “get” and may not be
    256     capable of understanding. However, after seeing her reaction when I said
    257     that quote, this is one of those times where I’m going to say “I believe
    258     you”
    259 
    260 That’s a fair stance to take, but it doesn’t produce much of a convincing
    261 argument that will drive people to change. If you want people to starting using
    262 a better metaphor, I challenge you to come up with one.
    263 
    264 [86]reply
    265 
    266 Bryan Betts
    267 
    268 bryan-ffd
    269 
    270 [89] Bryan Betts
    271 
    272 Bryan Betts
    273 
    274   • [90]GitHub
    275 
    276 [91] 2023-06-28T12:58:27Z ago
    277 
    278 “Over time a silver bullet has come to represent “a simple, seemingly magical,
    279 solution to a difficult problem.”
    280 Well, maybe - but what you’re actually referring to here is a magic bullet, or
    281 Zauberkugel. Over time, some people - yes, including award-winning engineers
    282 and scientists - have come to confuse the two.
    283 
    284 [92]reply
    285 
    286 Hide Overlay
    287 
    288   • [94]About
    289   • [95]Contact
    290   • [96]888-974-CHLG (2454)
    291 
    292   • [97] Twitter Icon
    293   • [98] Mastodon Icon
    294   • [99] LinkedIn Icon
    295   • [100] GitHub Icon
    296   • [101] YouTube Icon
    297   • [102] Instagram Icon
    298   • [103] TikTok Icon
    299 
    300 [104]Podcasts
    301 
    302   • [105]The Changelog
    303   • [106]Practical AI
    304   • [107]JS Party
    305   • [108]Ship It!
    306   • [109]Founders Talk
    307   • [110]Go Time
    308   • [111]Changelog Master Feed
    309   • ---
    310   • [112]Request For Commits
    311   • [113]Brain Science
    312   • [114]Away from Keyboard
    313   • [115]Spotlight
    314   • [116]Backstage
    315 
    316 Social
    317 
    318   • [117]Twitter
    319   • [118]Mastodon
    320   • [119]LinkedIn
    321   • [120]GitHub
    322   • [121]YouTube
    323   • [122]Instagram
    324   • [123]TikTok
    325 
    326 Community
    327 
    328   • [124]Merch Shop
    329   • [125]Join the Community
    330   • [126]Code of Conduct
    331   • [127]Sign in to Slack
    332   • ---
    333   • [128]Request Episode
    334   • [129]Submit News
    335 
    336 Etc.
    337 
    338   • [130]Beats
    339   • [131]Posts
    340   • [132]Changelog Nightly
    341   • [133]Sponsor
    342   • [134]Search
    343   • [135]View Source
    344   • ---
    345   • [136]Report an Issue
    346   • [137]Terms & Conditions
    347   • [138]Privacy Policy
    348   • ---
    349   • [139]Status
    350 
    351 [140]
    352 
    353 Bandwidth
    354 
    355 Fastly
    356 [141]
    357 
    358 Hosting
    359 
    360 Fly
    361 [142]
    362 
    363 Search
    364 
    365 Typesense
    366 Player art
    367 Previous Chapter Next Chapter
    368 [152][0                   ]
    369  [153][] [1X] 0:00[155][                    ] / 0:00
    370 
    371 References:
    372 
    373 [1] https://changelog.com/
    374 [2] https://changelog.com/
    375 [3] https://changelog.com/beats
    376 [4] https://changelog.com/posts
    377 [5] https://changelog.com/community
    378 [6] https://changelog.com/subscribe
    379 [7] https://changelog.com/++
    380 [8] https://changelog.com/live
    381 [9] https://changelog.com/news/submit
    382 [10] https://changelog.com/in
    383 [13] https://changelog.com/
    384 [14] https://changelog.com/podcasts
    385 [15] https://changelog.com/beats
    386 [16] https://changelog.com/posts
    387 [17] https://changelog.com/community
    388 [18] https://changelog.com/subscribe
    389 [19] https://changelog.com/++
    390 [20] https://changelog.com/news/submit
    391 [22] https://changelog.com/person/jerodsanto
    392 [23] https://changelog.com/posts
    393 [24] https://changelog.com/person/jerodsanto
    394 [25] https://changelog.com/posts/still-no-silver-bullet
    395 [26] https://changelog.com/topic/practices
    396 [27] https://changelog.com/topic/history
    397 [28] https://changelog.com/topic/react
    398 [29] https://en.wikipedia.org/wiki/Fred_Brooks
    399 [30] https://en.wikipedia.org/wiki/Brooks%27s_law
    400 [31] https://en.wikipedia.org/wiki/The_Mythical_Man-Month
    401 [32] http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
    402 [33] https://en.wikipedia.org/wiki/Silver_bullet
    403 [34] https://en.wikipedia.org/wiki/Panacea_(medicine)
    404 [35] https://youtube.com/shorts/m5A8eQaaG8o
    405 [36] https://jsparty.fm/269#transcript-237
    406 [37] https://reactjs.org/
    407 [38] https://jsparty.fm/269#transcript-237
    408 [39] https://youtube.com/changelog
    409 [40] https://changelog.com/news
    410 [41] https://changelog.com/news/45/email
    411 [45] https://changelog.com/in
    412 [46] https://changelog.com/join
    413 [49] https://twitter.com/SolomonUcko
    414 [50] https://twitter.com/SolomonUcko
    415 [51] https://github.com/sollyucko
    416 [52] https://www.linkedin.com/in/solomon-ucko-143853155
    417 [53] https://changelog.com/posts/still-no-silver-bullet#comment-YX1k
    418 [54] javascript:void(0)
    419 [57] https://changelog.com/person/jamesharr
    420 [58] https://github.com/jamesharr
    421 [59] https://changelog.com/posts/still-no-silver-bullet#comment-yW7b
    422 [60] javascript:void(0)
    423 [63] https://changelog.com/person/jerodsanto
    424 [64] https://changelog.com/podcast
    425 [65] https://changelog.com/jsparty
    426 [66] https://twitter.com/jerodsanto
    427 [67] https://github.com/jerodsanto
    428 [68] https://www.linkedin.com/in/jerodsanto
    429 [69] https://changelog.com/posts/still-no-silver-bullet#comment-V31e
    430 [70] javascript:void(0)
    431 [73] https://changelog.com/person/jamesharr
    432 [74] https://github.com/jamesharr
    433 [75] https://changelog.com/posts/still-no-silver-bullet#comment-Zqom
    434 [76] javascript:void(0)
    435 [79] https://changelog.com/person/jerodsanto
    436 [80] https://changelog.com/podcast
    437 [81] https://changelog.com/jsparty
    438 [82] https://twitter.com/jerodsanto
    439 [83] https://github.com/jerodsanto
    440 [84] https://www.linkedin.com/in/jerodsanto
    441 [85] https://changelog.com/posts/still-no-silver-bullet#comment-qGM2
    442 [86] javascript:void(0)
    443 [89] https://github.com/bryan-ffd
    444 [90] https://github.com/bryan-ffd
    445 [91] https://changelog.com/posts/still-no-silver-bullet#comment-J3nq
    446 [92] javascript:void(0)
    447 [94] https://changelog.com/about
    448 [95] https://changelog.com/contact
    449 [96] tel:+1-888-974-2454
    450 [97] https://twitter.com/changelog
    451 [98] https://changelog.social/
    452 [99] https://linkedin.com/company/changelog
    453 [100] https://github.com/thechangelog
    454 [101] https://www.youtube.com/changelog
    455 [102] https://www.instagram.com/changelog_
    456 [103] https://www.tiktok.com/@changelog.com
    457 [104] https://changelog.com/podcasts
    458 [105] https://changelog.com/podcast
    459 [106] https://changelog.com/practicalai
    460 [107] https://changelog.com/jsparty
    461 [108] https://changelog.com/shipit
    462 [109] https://changelog.com/founderstalk
    463 [110] https://changelog.com/gotime
    464 [111] https://changelog.com/master
    465 [112] https://changelog.com/rfc
    466 [113] https://changelog.com/brainscience
    467 [114] https://changelog.com/afk
    468 [115] https://changelog.com/spotlight
    469 [116] https://changelog.com/backstage
    470 [117] https://twitter.com/changelog
    471 [118] https://changelog.social/
    472 [119] https://linkedin.com/company/changelog
    473 [120] https://github.com/thechangelog
    474 [121] https://www.youtube.com/changelog
    475 [122] https://www.instagram.com/changelog_
    476 [123] https://www.tiktok.com/@changelog.com
    477 [124] https://merch.changelog.com/
    478 [125] https://changelog.com/community
    479 [126] https://changelog.com/coc
    480 [127] https://changelog.slack.com/
    481 [128] https://changelog.com/request
    482 [129] https://changelog.com/news/submit
    483 [130] https://changelog.com/beats
    484 [131] https://changelog.com/posts
    485 [132] https://changelog.com/nightly
    486 [133] https://changelog.com/sponsor
    487 [134] https://changelog.com/search
    488 [135] https://github.com/thechangelog/changelog.com
    489 [136] https://github.com/thechangelog/changelog.com/issues/new
    490 [137] https://changelog.com/terms
    491 [138] https://changelog.com/privacy
    492 [139] https://status.changelog.com/
    493 [140] https://www.fastly.com/?utm_source=changelog
    494 [141] https://fly.io/
    495 [142] https://typesense.org/?utm_source=changelog&utm_campaign=changelog-search&utm_medium=referral