Still no silver bullet

This commit is contained in:
David Eisinger
2023-07-04 12:07:26 -04:00
parent fa13fce51f
commit 57112eeb4f
2 changed files with 499 additions and 0 deletions

View File

@@ -35,6 +35,10 @@ references:
url: https://mcfunley.com/choose-boring-technology url: https://mcfunley.com/choose-boring-technology
date: 2023-07-04T03:40:17Z date: 2023-07-04T03:40:17Z
file: mcfunley-com-5myzcq.txt file: mcfunley-com-5myzcq.txt
- title: "There's still no silver bullet |> Changelog"
url: https://changelog.com/posts/still-no-silver-bullet
date: 2023-07-04T16:04:24Z
file: changelog-com-kqx1ni.txt
--- ---
### Thoughts on priorities in software development ### Thoughts on priorities in software development
@@ -56,6 +60,7 @@ references:
* [When to Build Millennia Sewers][6] * [When to Build Millennia Sewers][6]
* [We are wasting up to 20% of our time on computer problems, says study][7] * [We are wasting up to 20% of our time on computer problems, says study][7]
* [Choose Boring Technology][8] * [Choose Boring Technology][8]
* [There's still no silver bullet][9]
[3]: https://grugbrain.dev/ [3]: https://grugbrain.dev/
[4]: https://world.hey.com/dhh/even-amazon-can-t-make-sense-of-serverless-or-microservices-59625580 [4]: https://world.hey.com/dhh/even-amazon-can-t-make-sense-of-serverless-or-microservices-59625580
@@ -63,3 +68,4 @@ references:
[6]: https://taylor.town/millennium-sewer [6]: https://taylor.town/millennium-sewer
[7]: https://techxplore.com/news/2023-06-problems.html [7]: https://techxplore.com/news/2023-06-problems.html
[8]: https://mcfunley.com/choose-boring-technology [8]: https://mcfunley.com/choose-boring-technology
[9]: https://changelog.com/posts/still-no-silver-bullet

View File

@@ -0,0 +1,493 @@
#[1]News Feed (The Proverbial Fire Hose) [2]Master Feed (All Shows)
[3]Posts Feed [4]JSON News Feed
[5]Changelog
* [6]Podcasts
* [7]Posts
* [8]Community
* [9]Subscribe
* [10]Changelog++
* [11]Live
* [12]Submit News
* [13]Sign In
____________________
(BUTTON)
[14]Changelog
* [15]Podcasts
* [16]Posts
* [17]Community
* [18]Subscribe
* [19]Changelog++
* [20]Submit News
____________________
[21]Jerod Santo [22]changelog.com/posts
There's still no silver bullet
a friendly reminder that you haven't found the panacea
by [23]Jerod Santo [24]2023-05-24T16:25:22Z [25]#practices +2
* [26]#history
* [27]#react
The late, great [28]Fred Brooks wrote many words about software
engineering. You may have heard of [29]Brookss Law or read his seminal
book, [30]The Mythical Man-Month. Even if you havent, youve probably
heard at least one colleague proclaim:
Nine women cant make a baby in one month!
This is a powerful metaphor for two reasons. First: its so vivid that
its hard to forget (and easy to recall in a time of need). Second: it
makes obvious a not-so-obvious conclusion. Which is:
Adding manpower to a late software project makes it later.
Thats a hard pill to swallow, especially when your project is late.
But its a truth pill, which makes it worth choking down. Heres
another truth pill that Brooks wrote in his paper [31]No Silver
BulletEssence and Accident in Software Engineering:
There is no single development, in either technology or management
technique, which by itself promises even one order of magnitude
[tenfold] improvement within a decade in productivity, in
reliability, in simplicity.
__________________________________________________________________
For those who dont understand the silver bullet reference… its
[32]pulled from folklore where a bullet cast from silver is the only
weapon that can kill a werewolf. Over time a silver bullet has come to
represent “a simple, seemingly magical, solution to a difficult
problem.” Brooks could have easily reached for [33]panacea instead, but
I think the shiny characteristic of silver makes it the perfect analog
to software solutions.
__________________________________________________________________
Ive found myself referencing this a [34]couple [35]times recently.
Both of those conversations were in the context of [36]React, but the
principle applies to every over-adopted technology.
So, this post is a gentle reminder to my fellow software engineers:
* Does a new tool promise to solve all your problems? It wont
* Do you think youve found the “one true tech”? You havent
* Have a shiny hammer that looks great for hitting screws? It isnt
Please humor me while I [37]quote myself for a moment: (Hey, its
easier than writing)
IFRAME: [38]https://www.youtube.com/embed/btIc-_dGz9k
Subscribe to [39]our YouTube channel for more clips like this, live
show recordings, and more ✌️
We tend to be kind of lazy and just take the big hammer and hit all
the nails with it. Like, “Oh, Ive found the panacea. This is gonna
solve all my problems”, because it does solve some of your problems
big-time.
But its also is gonna create other problems, and its also not
gonna fit in every place that you can shove it. I mean, I know
theres React-based command line builders… And its like, okay, if
you like components, cool. That makes sense. But why is React
building your command-line app? I just dont understand.
When I extemporaneously said “I just dont understand”, I meant that
the choice confounds me. But I do understand why people might make it.
Saying “use the right tool for the job” is easy, but actually selecting
the right tool for the job is anything but. Good tools are hard to
find, hard to evaluate, hard to learn. We have constraints, we have
biases, we have shortcomings.
But thats all part of the work.
And if you “just use Go” or “just use React” or “just use Postgres” for
every problem that crosses your keyboard, youre just not putting in
the work.
(And I say this as a guy who uses Postgres for most things! 😆)
__________________________________________________________________
If you enjoyed reading this, youll probably enjoy [40]Changelog News,
my free weekly podcast + newsletter covering developer news worth your
attention. I keep it brief (~8 min), entertaining & always on-point.
Not so sure? Check out a [41]recent issue!
Software moves fast. We help you keep up. Our weekly newsletter is
brief, entertaining & always on-point.
____________________
Get Changelog News
(BUTTON)
__________________________________________________________________
Discussion
[42]Sign in or [43]Join to comment or subscribe
(BUTTON)
(BUTTON) Solomon Ucko
sollyucko
[44]Solomon Ucko
Solomon Ucko
* [45]Twitter
* [46]GitHub
* [47]LinkedIn
[48]2023-05-25T03:42:39Z ago
just use Rust, except possibly when youre working with a platform
designed for another language (e.g. web => HTML/CSS/JS, Android => Java
or Kotlin, macOS/iOS => Objective-C or Swift, Microsoft Office macros
=> Visual Basic), though Rust does have FFI crates for all of these.
[49]reply
(BUTTON)
(BUTTON) James Harr
jamesharr
[50]James Harr
James Harr
* [51]GitHub
[52]2023-05-27T12:55:20Z ago
Nine women cant make a baby in one month!
I quoted this to my wife once while trying to explain the concept from
the book. She knew what I meant, but said (paraphrasing) its a micro
aggression to pick out women and I might want to pick another example.
After some reflection and an initial knee jerk internal reaction of
“no, its a fine example”, I agree with her. Theres no reason to
change the book it is what it is, it was written at a point in time,
and it did its job of getting the readers to think. All that said, we
can come up with a better example for the present and future. I dont
know what that example is, but I know we can do better.
[53]reply
(BUTTON)
(BUTTON) Jerod Santo
jerodsanto
[54]Jerod Santo
Jerod Santo
Omaha, Nebraska
Jerod co-hosts [55]The Changelog, crashes [56]JS Party, and takes out
the trash (his old code) once in awhile.
* [57]Twitter
* [58]GitHub
* [59]LinkedIn
[60]2023-05-27T13:36:23Z ago
How is it a micro aggression? I do not understand.
[61]reply
(BUTTON)
(BUTTON) James Harr
jamesharr
[62]James Harr
James Harr
* [63]GitHub
[64]2023-05-27T16:02:25Z ago
Well, maybe micro aggression isnt the right term, but its something
that left a bad taste in her mouth and Im trying to remember exactly
how she described it. I think you almost have to put your self in the
shoes of someone who 1) has had to work upstream in an industry because
of their gender 2) has had to deal with people in a society that see a
womens “job” is to bear children and careers come second at best 3)
has had to deal with a lot of people having opinions over your body and
what you do with it, most of which do not share your anatomy. After
putting yourself in that position, the comparison starts to feel more
icky.
Ill be honest, Im defending a view I dont entirely “get” and may not
be capable of understanding. However, after seeing her reaction when I
said that quote, this is one of those times where Im going to say “I
believe you”. Ive been incredibly privileged in this world as a white
male, and thats a pretty big blindspot, so Im putting trust in
someone else to see whats there.
Im not going to fault anyone for quoting it and you have nothing to
apologize for; Part of the reason that quote works so effectively is
how ridiculous it is. Im just going to challenge people to do better,
and its going to be hard.
[65]reply
(BUTTON)
(BUTTON) Jerod Santo
jerodsanto
[66]Jerod Santo
Jerod Santo
Omaha, Nebraska
Jerod co-hosts [67]The Changelog, crashes [68]JS Party, and takes out
the trash (his old code) once in awhile.
* [69]Twitter
* [70]GitHub
* [71]LinkedIn
[72]2023-05-28T12:43:12Z ago
Ill be honest, Im defending a view I dont entirely “get” and may
not be capable of understanding. However, after seeing her reaction
when I said that quote, this is one of those times where Im going
to say “I believe you”
Thats a fair stance to take, but it doesnt produce much of a
convincing argument that will drive people to change. If you want
people to starting using a better metaphor, I challenge you to come up
with one.
[73]reply
(BUTTON)
(BUTTON) Bryan Betts
bryan-ffd
[74]Bryan Betts
Bryan Betts
* [75]GitHub
[76]2023-06-28T12:58:27Z ago
“Over time a silver bullet has come to represent “a simple, seemingly
magical, solution to a difficult problem.”
Well, maybe - but what youre actually referring to here is a magic
bullet, or Zauberkugel. Over time, some people - yes, including
award-winning engineers and scientists - have come to confuse the two.
[77]reply
(BUTTON) Hide Overlay
* [78]About
* [79]Contact
* [80]888-974-CHLG (2454)
* [81]Twitter Icon
* [82]Mastodon Icon
* [83]LinkedIn Icon
* [84]GitHub Icon
* [85]YouTube Icon
* [86]Instagram Icon
[87]Podcasts
* [88]Changelog News
* [89]Changelog Interviews
* [90]Changelog & Friends
* [91]Founders Talk
* [92]JS Party
* [93]Practical AI
* [94]Brain Science
* [95]Go Time
* ---
* [96]Master
Social
* [97]Twitter
* [98]Mastodon
* [99]LinkedIn
* [100]GitHub
* [101]YouTube
* [102]Instagram
Community
* [103]Merch Shop
* [104]Join the Community
* [105]Code of Conduct
* [106]Sign in to Slack
* ---
* [107]Request Episode
* [108]Submit News
Etc.
* [109]Posts
* [110]Changelog Nightly
* [111]Sponsor
* [112]Search
* [113]View Source
* ---
* [114]Report Issues
* [115]Terms & Conditions
* [116]Privacy Policy
[117]
Bandwidth
Fastly
[118]
Hosting
Fly
[119]
Search
Typesense
(BUTTON) (BUTTON) (BUTTON)
Player art
(BUTTON) Previous Episode (BUTTON) (BUTTON) (BUTTON) (BUTTON) Next
Episode
(BUTTON) [1X] 0:00 ____________________ / 0:00
References
1. https://changelog.com/feed
2. https://changelog.com/master/feed
3. https://changelog.com/posts/feed
4. https://changelog.com/feed.json
5. file:///
6. file:///
7. file:///posts
8. file:///community
9. file:///subscribe
10. file:///++
11. file:///live
12. file:///news/submit
13. file:///in
14. file:///
15. file:///podcasts
16. file:///posts
17. file:///community
18. file:///subscribe
19. file:///++
20. file:///news/submit
21. file:///person/jerodsanto
22. file:///posts
23. file:///person/jerodsanto
24. https://changelog.com/posts/still-no-silver-bullet
25. file:///topic/practices
26. file:///topic/history
27. file:///topic/react
28. https://en.wikipedia.org/wiki/Fred_Brooks
29. https://en.wikipedia.org/wiki/Brooks's_law
30. https://en.wikipedia.org/wiki/The_Mythical_Man-Month
31. http://worrydream.com/refs/Brooks-NoSilverBullet.pdf
32. https://en.wikipedia.org/wiki/Silver_bullet
33. https://en.wikipedia.org/wiki/Panacea_(medicine)
34. https://youtube.com/shorts/m5A8eQaaG8o
35. https://jsparty.fm/269#transcript-237
36. https://reactjs.org/
37. https://jsparty.fm/269#transcript-237
38. https://www.youtube.com/embed/btIc-_dGz9k
39. https://youtube.com/changelog
40. https://changelog.com/news
41. https://changelog.com/news/45/email
42. file:///in
43. file:///join
44. https://twitter.com/SolomonUcko
45. https://twitter.com/SolomonUcko
46. https://github.com/sollyucko
47. https://www.linkedin.com/in/solomon-ucko-143853155
48. file:///var/folders/q9/qlz2w5251kzdfgn0np7z2s4c0000gn/T/L29735-5835TMP.html#comment-YX1k
49. javascript:void(0)
50. file:///person/jamesharr
51. https://github.com/jamesharr
52. file:///var/folders/q9/qlz2w5251kzdfgn0np7z2s4c0000gn/T/L29735-5835TMP.html#comment-yW7b
53. javascript:void(0)
54. file:///person/jerodsanto
55. https://changelog.com/podcast
56. https://changelog.com/jsparty
57. https://twitter.com/jerodsanto
58. https://github.com/jerodsanto
59. https://www.linkedin.com/in/jerodsanto
60. file:///var/folders/q9/qlz2w5251kzdfgn0np7z2s4c0000gn/T/L29735-5835TMP.html#comment-V31e
61. javascript:void(0)
62. file:///person/jamesharr
63. https://github.com/jamesharr
64. file:///var/folders/q9/qlz2w5251kzdfgn0np7z2s4c0000gn/T/L29735-5835TMP.html#comment-Zqom
65. javascript:void(0)
66. file:///person/jerodsanto
67. https://changelog.com/podcast
68. https://changelog.com/jsparty
69. https://twitter.com/jerodsanto
70. https://github.com/jerodsanto
71. https://www.linkedin.com/in/jerodsanto
72. file:///var/folders/q9/qlz2w5251kzdfgn0np7z2s4c0000gn/T/L29735-5835TMP.html#comment-qGM2
73. javascript:void(0)
74. https://github.com/bryan-ffd
75. https://github.com/bryan-ffd
76. file:///var/folders/q9/qlz2w5251kzdfgn0np7z2s4c0000gn/T/L29735-5835TMP.html#comment-J3nq
77. javascript:void(0)
78. file:///about
79. file:///contact
80. tel:+1-888-974-2454
81. https://twitter.com/changelog
82. https://changelog.social/
83. https://linkedin.com/company/changelog
84. https://github.com/thechangelog
85. https://www.youtube.com/changelog
86. https://www.instagram.com/changelog_
87. file:///podcasts
88. file:///news
89. file:///podcast
90. file:///friends
91. file:///founderstalk
92. file:///jsparty
93. file:///practicalai
94. file:///brainscience
95. file:///gotime
96. file:///master
97. https://twitter.com/changelog
98. https://changelog.social/
99. https://linkedin.com/company/changelog
100. https://github.com/thechangelog
101. https://www.youtube.com/changelog
102. https://www.instagram.com/changelog_
103. https://merch.changelog.com/
104. file:///community
105. file:///coc
106. https://changelog.slack.com/
107. file:///request
108. file:///news/submit
109. file:///posts
110. file:///nightly
111. file:///sponsor
112. file:///search
113. https://github.com/thechangelog/changelog.com
114. https://github.com/thechangelog/changelog.com/issues
115. file:///terms
116. file:///privacy
117. https://www.fastly.com/?utm_source=changelog
118. https://fly.io/
119. https://typesense.org/?utm_source=changelog&utm_campaign=changelog-search&utm_medium=referral