A curated list of reading/viewing material; each article is short enough to "read over lunch". (Note: Videos can be longer)
Programming/Tech heavy with a QE/QA bent, but articles range all over. Organization is rough, and new material is welcome. (PRs are very welcome!)
5 reasons you need to learn to write Python decorators - This addresses some great use cases for Python decorators and gives a good justification for learning them.
The Python Dictionary - A comprehensive look at Python Dictionaries. There's some great stuff here, even if you think you are a dictionary master.
Super Considered Super - Raymond Hettinger - How super() works in Python. (this is linked from the Python 3 documentation as helpful material)
Beyond PEP-8 - Raymon Hettinger's PyCon2015 talk about code readability: PEP-8 is the starting point, not the ending point, for code-readability. (running time of about 27 minutes)
Stop Writing Classes - Jack Diedrich's PyCon2012 talk about the overuse of classes. (running time of about 52 minutes)
Please Fix Your Decorators - Hynek Schlawack - Discusses some of the pitfalls with python decorators and why wrapt is usually a good solution
Naming your personal scripts/aliases with commas - Brandon Rhodes - One why naming your personal scripts/aliases with a comma is a good idea. Is "really about" name spaces in disguise, as well as structuring things for human ease of use.
Semantic Linefeeds - Brandon Rhodes - How you format text can make edits and version control diffs a lot more useful.
Lessons Learned in Software Development - List of heuristics and rules of thumb for software development
Trunk Based Development as a Cornerstone for Continuous Delivery - Rafiq Gemmail - Expands on Trunk Based Development part of the Accelerate Book - How high performing teams eschew (long-lived) branches and commit often.
Anatomy of a Perfect Pull Request - Practical advice on making PRs easy to check for correctness and to review. PRs are the lifeblood of a project. Going hand-in-hand with Trunk Based Development, your PR cadence is your development cadence, the easier your PRs are to review and check for correctness, the faster you can go.
How to Edit - Rands In Repose - This short piece about writing prose, but I find this very much applies to writing code; the critical need for other, critical, eyes. Code/Pull-Requests probably can't wait for these kinds of author-self-review delays, which is why doing regular code walk-throughs and reviews are so important, though often neglected.
Why you shouldn't use ENV variables for secret data - Diogo Monica - ENV variables aren't as secure as you might think. How Docker solved this issue.
Do the simplest thing that could possibly work - Ron Jeffries - A few paragraphs on staying focused; shows the power of brevity. "Real progress against the real problem is maximized if we just work on what the problem really is."
"Tests are the Programmer's Stone, transmuting fear into boredom." - Kent Beck - from Various quotes in Computer Science/Engineering and Test-Driven Developement. Addison-Wesley, Boston 2002
BDD 101 - Writing Good Cherkin - Automation Panda - Guide to Good Gherkin
Quick Cucumber Overview - Cucumber documentation - Short page that helps clarify how to think about Gherkin.
Gherkin as FSM (Finite-State Machine) - Robert C. Martin - Exploration of Gherkin as describing a finite-state-machine (FSM). (linked from the Quick Cucumber Overview.)
http://users.csc.calpoly.edu/~jdalbey/309/Lectures/softwareTestingMyths.html - jdalbey - Three myths about software testing. Doug: I take some exception to the idea that unit tests are only to find bugs. With TDD (even on legacy code), unit tests serve as executable design/requirements and are the gutters along the fairway that keep my bowling ball from hitting the pins in someone else's lane.
The Transformative Power of Classical Music - Benjamin Zander - Realizing our untapped love for classical music -- and by extension, our untapped love for all new possibilities, new experiences, new connections.
Backwards Brain Bicycle - Destin / Smarter Every Day - On How hard it is to change habits and ingrained patterns. (running time of about 8 minutes)
Maker's Schedule, Manager's Schedule - Paul Graham - On why meetings, the bread and butter of a manager's day, are so disruptive for programmers.
Conservation of Mental Bandwidth - Set Godin - Nice companion piece to Paul Graham's immediately above, on the need for uninterrupted focus time.
Is It Worth The Time? - xkcd - How much time should you spend automating a task, based on how long the task takes and how often you do it.
The First Thing we give up when crunched - Nice explanation of what that "first thing" we give up in a crunch can tell us.
The Interim Strategy - Seth Godin - Good culture isn't something we can do "later" "when we have time". It's what we do now, every day.
Marginal Gains - James Clear - How seemingly small and insignificant decisions compound over time.
The Bridge-Color Problem and The Engineering of Software - Joe Newcomer - On recording project history and decision making.
Hyperproductive Development - Jessica Joy Kerr - "Complex systems are easier to build than to figure out after they’re working." "The temptation to rewrite is strong, because if I rewrite it then I’ll understand it." This could be a good chunk of the NIH syndrome. I think she captures most of what the 10x productity meme is about.
Dark Scrum - Ron Jeffries - How Scrum can go bad and some ways to address that.
Scrum Story Points are not People Hours - Explains complexity (Story Points) vs. Effort (working hours)
Durable Communication - Casey West - Being effective with geographically dispersed teams. But also applies to traceabilty, looking back at things over time.
On the importance of Infrastructure - Seth Godin
Hiring for expertise vs. hiring for attitude - rrohan189
All cases are special cases - Set Godin - Scaling vs. Adaptability.
Why I hate [Frickin] Unicorns and the Culture They Create - Mark Suster - (Warning, drops a few F-Bombs for those sensitive to such things) - A great article about what it takes to build lasting value without resorting to smoke & mirrors or hype.
Estimation: The Best We Can Do - Estimation is Evil - Two great articles about why project estimation is such a loathsome, but essential, task and how we can make peace with it in an agile world. (Start with "Estimation is Evil" but be sure to read both or you'll only get part of the picture)
On scope of work vs. resources - Seth Godin - Too much work or too few people?
Software is testing - Seth Godin - Many other things need testing too. Continuous improvement depends on testing. See esp. the link "professional" in Seth's article.
On Prep, Spec, Fit and Finish – Seth Godin - This is the heart of QE, happy-path/down-the-fairway must work, but all the rest of it, the corner cases, the specs to know which are which, are so much more. And they take a lot more resources.
The Andon Cord - Continuous Improvement based on stop and fix when defects are found. Parallels/dove-tails nicely with the story in The Phoenix Principle.
The Process Myth - Know why you are doing something. Process should be an amplifier and servant, not a cold heartless hated master.
Principles over process - Rohan / A Learning a Day - Keep asking why you are doing something.
Staring at the Numbers - Seth Godin - Another take on The Process Myth, on the mindless following of process without understanding why.
This content was started from a series of email exchanges between Doug (@dgou) and Chris (@cdemattio) over the years, and augmented by Lewis (@brolewis), Ryan (@rbcasperson), and Shawn (@sdutton-personal).
Organizational structure and general curation work has largely been by Doug (@dgou).