Course code: WEB-28
  • Years with company: 19
  • Years programming: 20+
  • Primary programming language: java
  • Other programming languages: c/c++, some asm, some vhdl/ada, some python
  • Unit test harnesses: Junit mostly, some gtest, a little bit of unity and cpputest at one point.
  • Something else: In my day job got caught up in a role that is more project management or technical oversight early on and feel like I have not had a lot of hands on coding day to day to build the kind of skills I think I should have, so I feel a bit rusty. I try and do embedded system project on my own time to get a chance to do more embedded development.
  • Test practice now: Outside of work I try to use a unit test framework and I try and employ TDD. I have done the most TDD with Java and Junit, but try to use it when I can. Professionally I try to encourage our org to move in that direction more when possible but I am not directly coding very much as all there.
  • Target system: Professionally our organization see's a wide variety of targets from enterprise servers to low level micro controllers of various types. Outside work: various microcontrollers from 8-bit atmels to 32bit arm and regular x86 architecture, Cortex-M0
  • Dev tools: tend towards lighter weight tools and command line, IDE wise I have used various including eclipse but trying vscode these days, jtag tools and compilers variants depending on specific controllers, mostly gcc based.
  • Build time: 1-5 minutes
  • Coding standard: Professionally it can vary since varied projects that come form outside sources we don't always control, sometimes misra based. Outside work I don't adhere as well as I could but often look at google's C++.
  • Function too long: Have not used more formal metric based methods, more intuition based on having function purpose and input/outputs focused.
  • Code reviews: Professionally it can vary by project, generally a developer reviews offline with guidance on hat to review, some tooling such as bitbucket and to make them more tool based. ideally trying to apply more continuous integration based.
  • Code time: 40
  • Test time: 40
  • Debug time: 20
  • Favorite thing about dev: Problem solving, making embedded hardware do something, enjoy low level register
  • Least favorite thing about dev: In day job the work is bogged down by organizational red tape, but that not specific to software in general.
  • Tdd knowledge: Basic concepts and why it makes sense for me, but less practice on the specific technical approaches for embedded and related unit test strategies, no formal training/experience.
  • Why are you attending: Want to see if this class would be useful for our organization as I try and inject more TDD mindset, also figure I can pick things from a more formal class that I did not get from self research, etc.