Course code: WEB-9
  • Years with company: 3+
  • Years programming: 12 (as a profession) 25+ (as a hobby)
  • Primary programming language: Currently its Java. Meh.
  • Other programming languages: C++, C, Ruby, Perl, Javascript
  • Unit test harnesses: JUnit, GTest, Test::More, RSpec, Tape, Cucumber and its permutations
  • Something else: I like reading about history. I have three young children and a crazy hyper dog. I used to be a church youth choir director in the past when I wasn't sure if I really wanted to pursue a career in engineering. For fun, I once spent a summer volunteering at a museum, helping to restore a WWII-era submarine. I am a sucker for small companies and start-ups.
  • Test practice now: Small things are driven in with unit tests. Acceptance-level tests (written in Gherkin, driven by Cucumber) are written to demonstrate feature completeness to the customer.
  • Target system: Currently, its cross-platform desktops
  • Dev tools: IntelliJ, vim, QtCreator, Jenkins
  • Build time: 31-60 seconds
  • Coding standard: We currently use community-driven standards, enforced by tools such as checkstyle and rubocop
  • Function too long: Other than just a feel, tools such as checkstyle and rubocop let me know.
  • Code reviews: Currently we use GitHub
  • Code time: 40
  • Test time: 40
  • Debug time: 20
  • Favorite thing about dev: Its great to make something out of nothing.
  • Least favorite thing about dev: I don't have many technical problems. Most revolve around working with people, managing my own levels of motivation, and capturing / delivering / communicating customer needs.
  • Tdd knowledge: I've been using it since 2004. Yet, I'm always getting better at it. I once tried to make a useful unit testing framework for Bash.
  • Why are you attending: When I program a relatively inconsequential program at the day job, I use TDD. When I program an Arduino, MSP430 or something at home for fun, I don't because I just don't quite know how. Time to fix this.