Course code: WEB-35
Years with company:
Primary programming language:
Other programming languages:
Unit test harnesses:
fsunit; sunit; nunit; xunit; junit; cucumber jvm; cucumber ruby; cucumber rust; fitnesse with smalltalk fixtures
got into tdd (desktop, smalltalk) 20003 and it breathed new life into my career; ten years ago worked on an eXtreme programming team on smalltalk and c++ embedded linux, first exposure to TDD embedded linux. We used fitnesses. This is my first TDD bare metal time. Enjoying rust. Left C/C++ in the rear view mirror a decade ago, hoping I can pivot back to them in class, or pair in or use rust.
Test practice now:
ideally most of my day -- above 80% -- spent in the happy place of the red-green-refactor micro loop. 3 months into job here, about 5% in that place, 95% in what Geepaw calls GAK activity, others, yak shaving.
bare metal rust some kind of STM processor (new to this space I am)
rust; c++ for the legacy bits; applying strangler pattern to eliminate that, in hopes of 100% rust 0% C++
Under 10 seconds
I apply Beck's 4 definition of done (passes test? reveals intent? no duplication? fewest elements?)
Function too long:
I come from cultures (Smalltal, F#, Lisp) where a ten liner is a long one.
we mob - reiews are real time; asynchronous review (I'm looking at you, Git PR) are for those sad souls who default to solo.
Favorite thing about dev:
getting paid to think; and pairing in to think together? joy squared.
Least favorite thing about dev:
bugs - best tester in world taught me to call them mistakes
I've been coaching whatever team I'm on in it the past decade, but I am still learning. Recently F# way -- and to an extent Rust -- lean on compiler: can my compiler be my unit test? Can I write code in such a way if it compiles it probably works?
Why are you attending:
I want to learn TDD in embedded rust; I've a hunch the principles are the same (decouple I/O from branching logic) but, looking at our code base, shake my head: why are we so dependent on hardware for every little thing? What am I missing?