Top all-time · #1290
James Shore
Personal blog · jamesshore.com · on HN as jdlshoreprogrammingcareer
James Shore's personal blog at jamesshore.com covers programming and career. Since 2008, 57 different Hacker News readers have linked it 172 times, most often ““Dependency Injection” is a 25-dollar term for a 5-cent concept(2006)”. It is still writing: the last post was on 2026-09-29, and you can follow it by feed.
Most-linked posts?
- “Dependency Injection” is a 25-dollar term for a 5-cent concept(2006)7 people · 7 mentions · first linked 2013-05-01
- The Diary of a Developer Trying to Change the Company He Works For (2002)4 people · 4 mentions · first linked 2013-06-17
- /Blog/Lets-Play4 people · 4 mentions · first linked 2012-10-31
- The second edition of The Art of Agile Development is in development3 people · 5 mentions · first linked 2020-11-19
- TDD Lunch and Learn3 people · 5 mentions · first linked 2022-03-07
- The Problem with Dependency Injection Frameworks3 people · 3 mentions · first linked 2023-01-08
- James Shore: The Decline and Fall of Agile3 people · 3 mentions · first linked 2008-11-15
- What Is Agile?2 people · 6 mentions · first linked 2020-09-25
- James Shore describes what it's like to be on a “Zero Bug” Team (2010)2 people · 3 mentions · first linked 2016-03-04
- James Shore: Microservice Architecture Without Microservice Overhead2 people · 3 mentions · first linked 2020-09-30
What Hacker News says?
Velocity isn't a productivity metric, so your findings probably aren't meaningful. "Velocity is the sum of the estimates of the stories that were completed in an iteration. If the programmers estimate perfectly, it's simply a measure of the number of hours that the programmers worked, minus interruptions. The number is often confused by estimates that aren't 100% accurate. Velocity measures a strange combination of…
Comment linking /Blog/The-Productivity-Metric.html
on “Facebook to shift permanently toward more remote work after coronavirus”Submitted A useful productivity measure? as a story · 249 points
HN discussionI've been involved in the agile community since near the beginning, and I'm fairly well known there. It's partly the book, partly my blog [1], partly speaking at conferences, and partly longevity. [1] http://www.jamesshore.com
Comment linking /
on “Ask HN: How much recurring income do you generate, and from what?”Submitted If we had the best product engineering organization, what would it look like? as a story · 215 points
HN discussionIf you have a class whose constructor depends on an instance of something else, you can instantiate that first and pass it on. That's all there's to it. You can do DI in your own startup code and have some logic in there that substitutes mocks when running under test. Or you could change the logging when debug is enabled. Hardly rocket science. If you can write code, you can write the startup code. If your team like…
Comment linking /v2/blog/2023/the-problem-with-dependency-injection-frameworks
on “Show HN: I built a web framework in C”Submitted The Accountability Problem as a story · 144 points
HN discussion> Empirically Citation needed. There are studies out there showing that productivity is proportional to days spent on the problem, not hours. It's likely that for a knowledge worker, sustained schedules with long workdays actually reduce average productivity. http://www.jamesshore.com/Articles/Business/Software%20Profi... There may be some exceptional people who can defy this rule, and it's possible they are concent…
Comment linking /Articles/Business/Software%20Profitability%20Newsletter/Crunch%20Mode.html
on “Stop working so hard”Submitted Cargo Cult Agile (2008) as a story · 111 points
HN discussionWhat you just wrote as a code example is Dependency Injection, it's just manual dependency injection as opposed to using an IOC container or any of the mechanisms Angular provides. I am very much in favour of the approach you posted. That's exactly how I write my code (I don't currently use Angular), but yep ... that's DI. As James Shore said 'Dependency Injection is a 25-dollar term for a 5-cent concept'. [1]. What…
Comment linking /Blog/Dependency-Injection-Demystified.html
on “Angular 2 Core”Submitted Testing Without Mocks: A Pattern Language (2023) as a story · 90 points
HN discussionNo, you're right. "Favor composition over inheritance" has been the go-to OOP design advice for years. The distinguishing feature of OO is modeling concepts by encapsulating state and behavior . For some reason, introductions tend to focus on complex inheritance structures instead. I think that's really unfortunate because it sends entirely the wrong message about OOP. That said, I do occasionally use inheritance fo…
Comment linking /Blog/Lets-Play/
on “Class Hierarchies? Don't Do That”Submitted Testing Without Mocks: A Pattern Language (2018) as a story · 55 points
HN discussionBeign at either extreme, moving too fast or moving too slow, is problematic. A related field to medical is the Space + Rocket industry. Heavily regulated and if you make a mistake people die. For much of the lifetime of the industry, NASA was the best there was. They embraced a "zero bug" mentality ( http://www.jamesshore.com/Agile-Book/no_bugs.html ). It resulted in very slow and costly development and we accepted…
Comment linking /Agile-Book/no_bugs.html
on “Walgreen Terminates Partnership with Theranos”Submitted How Does TDD Affect Design? as a story · 54 points
HN discussionPair programming [1] and collective code ownership [2] are great ways of getting everyone on the same page and keeping them up to date. My experience is that only a fraction of developers are interested in keeping things clean and meticulous. The rest are more interested in cranking out features. Both are needed. In my experience, a ratio of 1 "meticulous" to 6 "git-r-done" programmers works fine if you're using col…
Comment linking /Agile-Book/collective_code_ownership.html
on “Why do web sites and software take so long to build? And why is it so hard?”Submitted James Shore: The Decline and Fall of Agile as a story · 16 points
HN discussionThe phrase “plan -> build (iterate) -> ship” is carrying a lot of water in this article. It’s unfortunately vague. Scrum and Kanban, which are each called out separately, are also plan -> iterate -> ship methods. Reading between the lines, I think the distinction the author is making is actually between named methods and unnamed methods, some of which are customized variants of Agile methods, and some of which are e…
Comment linking /v2/books/aoad2/management
on “How big tech runs tech projects and the curious absence of Scrum”Submitted The Decline and Fall of Agile as a story · 9 points
HN discussionHey! My book’s on that list. (The Art of Agile Development.) The second edition is coming out later this year and I’ve been putting it up on my website as part of the open review: https://www.jamesshore.com/v2/books/aoad2
Comment linking /v2/books/aoad2
on “A curated list of books on Software Architecture”Submitted Cargo Cult Agile (2008) as a story · 8 points
HN discussionI’ve found hardware-oriented businesses to be woefully behind the times when it comes to software engineering processes. This article is no exception. Although I agree with his overall framing, once you get to the details, James is describing a document-oriented approach that was in vogue about 25 years ago, and has long since been superseded. What replaced it? Agile. Wait, don’t throw rotten vegetables—I’m not talk…
Comment linking /v2/books/aoad2/what_is_agile
on “Systems Engineering, or "why james gets paid"”Submitted Refactoring with Martin Fowler [video] as a story · 3 points
HN discussionDefinitely matches my experience. And let me just leave this here... http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.htm...
Comment linking /Blog/The-Decline-and-Fall-of-Agile.html
on “Agile is a Sham”Submitted What Is Agile? as a story · 3 points
HN discussionAs much as I appreciate your praise of TDD here, there are large categories of defects that TDD does nothing to prevent. TDD only helps programmers write the code they intended to write. It doesn't protect against programmer misunderstandings. As a result, well-TDD'd code may still have defects that involve: - the programmers misunderstood what needed to be built ("requirements" defect) - the programmers interfaced…
Comment linking /Blog/Lets-Play/
on “IBM's infamous "Black Team"”Submitted Testing Without Mocks: A Pattern Language as a story · 3 points
HN discussionGood estimate generation is the holy grail If estimating is what you want to learn, James Shore has some good posts on the topic: http://www.jamesshore.com/Blog/Agile-and-Predictability.html http://www.jamesshore.com/Agile-Book/estimating.html
Comment linking /Agile-Book/estimating.html
on “Agile Is Dead, Long Live Continuous Delivery”Submitted The Diary of a Developer Trying to Change the Company He Works For (2002) as a story · 3 points
HN discussionThe clickable link is in the right margin just underneath the (first) QR code image: https://www.jamesshore.com/v2/blog/2024/update-on-software-e...
Comment linking /v2/blog/2024/update-on-software-engineering-career-ladder
on “If we had the best product engineering organization, what would it look like?”Submitted Analysis of HN Traffic Surge on Let's Code TDJS Sales as a story · 3 points
HN discussion