The long way through Software Craftsmanship

Paper: TDD in industrial teams

May 12, 2015 - 1 minute read - Comments - paperinvestigationspringertddnachiappan-nagappanmichael-maximilienthirumalesh-bhatlaurie-williams2008quote

I’ve read this paper by Nagappan, Maximilien, Bhat and Williams on the cost, advantages, pitfalls of doing TDD in industrial teams (private companies who create software). My notes Abstract: little empirical evidence supports or refutes the utility of this practice in an industrial context they seem to be talking about inside-out tdd as in chapter 2 (page 291), they talk about small units and then integrating them in a bigger context Benefits taken from chapter 2 (page 292)

Talk: Software is eating the world

May 10, 2015 - 2 minute read - Comments - erik-meijertalkagiletddreaktor-dev-day2014analogy

I’ve watched this talk by Erik Meijer My notes Agile!: The Good, the Hype and the Ugly The hacker way code always wins vs manager always wins source: http://www.wired.com/2012/02/zuck-letter/ we’re doing maths => we’re building a proof reinforcement learning agent is the company related to “build, measure, learn” by Eric Ries (the lean startup) Feedback systems Open (no) feedback system, such as timed sprinklers Closed feedback system Output only system Why everything is software Examples of everything is software Software is eating the world Even hardware is modeled as software Modeling as a Finite State Machine (FSM) There’s memory in the feedback loop.

Self-study in May 2015

May 9, 2015 - 5 minute read - Comments - 2010articlepassioncraftsmanshipbootcamptalkvideoslidesvideoosconvalueslanguageluke-sneeringerrob-pikeken-auerbufferself-study-aggregationfunctional-programmingguideoopslascrum2004jmockgoosnat-prycesteve-freemankatadojodtodomain-objectcoding-dojostuart-hallowayhaskelllisplearningtiago-garciajeremy-jarrellgregory-moecksaron-yitbarekgreg-wilsonron-jeffriescarlos-blejeff-atwoodslava-akhmechetgodavid-pollakmichael-bernsteinhornbecktechnologistwell-roundedpaperlisp-1lisp-2tedxtedx-brusselsaza-raskindata-bankscience-corpphilippe-creuxpreparatory-refactoringrefactoringadam-angelomanagementengineeringreadingself-study

Update: I’ve grouped all small posts related to the self-study from May 2015 into a single post Programmer passion considered harmful I’ve read this article on why programmer passion could be negative. The title is similar to a paper by Dijkstra. Software Craftsmanship: Are Bootcamps Enough? I’ve read this article on software craftsmanship, development bootcamps and passion by Ken Auer Improve your development environments with virtualization I have seen this video: Improve your development environments with virtualization by Luke Sneeringer.

What versus How

May 6, 2015 - 2 minute read - Comments - bookideawhat-vs-howgoos

After reading the GOOS1, the more and more I get this feeling of what vs how: Information hiding The total simpler than the sum of the parts Extracting a concept so you can think about this. Makes you find better names: test name variable name method name interface / protocol name I also got this feeling when reading Clean Code. But with this other book the smell is much harder, stronger.

Internal training: Testing is hard - just do it

May 5, 2015 - 2 minute read - Comments - traininginternalinternal-trainingtddtestinglazinessopen-questionsarticlebrown-bag-session

At a client, last week I’ve organized an internal training, in the form of a discussion about this article: Testing is hard - just do it Our thoughts When a bug is found, prove it exists with a test This immediately reduces defect rate: the same regression cannot be introduced again fix a bug a second time If fixing a bug (having defects in your code) was ‘waste’, as defined by lean methodologies, it also is wast fixing it for the following times

Video: Nothing is something

May 4, 2015 - 2 minute read - Comments - talkvideosandy-metzbathruby2015composition-vs-inheritanceruby

I have seen this video: Nothing is something by Sandi Metz, as I saw it recommended here In the video, she talks programming in this fashion: (it is a stack, not an unordered list) Abstraction seeking Message centric Condition Averse Smalltalk Infected Not here to change the language but change you This is a pattern I’ve also heard from Alvaro Videla, where he said that other, more powerful languages can change your mind and help you bring some of those concepts to your own language.