The long way through Software Craftsmanship

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: 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.

Internal training: Introduction to AngularJs

Apr 30, 2015 - 1 minute read - Comments - traininginternalinternal-trainingangularjsangularbrown-bag-session

At a client, today I’ve done an internal training on angular js: we’ve prepared some slides and a live demo. The repository with all the information can be found here. Apparently, the training has been a success, given that most of the talent in the team is backend focused (as opposed to full-stack) and changing from java to javascript is not straight-forward. Note: this post has been created a posteriori, dated with the correct training timestamp.