Course code: WEB-37
  • Years with company: 4
  • Years programming: 13
  • Primary programming language: C
  • Other programming languages: python, C++
  • Unit test harnesses: Just getting started with Google Test
  • Something else: In my free time, I like to work with my hands (wood and masonry projects for hardscaping and landscaping)
  • Test practice now: Mostly manual integration tests - Develop new feature - Compile and deploy to target - Exercise system to observe intended behaviour Very limited automated integration/unit testing
  • Target system: - Work on multi-device embedded systems with real-time constraints - Medium-sized legacy codebase
  • Dev tools: - Emacs for text editing - GCC-like tool chains - Git - Jira/Confluence/Bitbucket - Jenkins
  • Build time: 1-5 minutes
  • Coding standard: - well-defined - New code must conform - Difficult to enforce clang-tidy/clang-format
  • Function too long: - >3 indents of complexity - >50ish lines - >1 responsibility
  • Code reviews: Engage appropriate domain SMEs (1-5 people) Turn-around (1 day - months) Diff 1-5000 lines
  • Code time: 40%
  • Test time: <10%
  • Debug time: >50%
  • Favorite thing about dev: Always a new challenge & lots of room to improve workflow and quality of output
  • Least favorite thing about dev: - Wasting tons of time drudging through legacy code - Breaking brittle code - Poor architecture
  • Tdd knowledge: - Write a test to make your code fail - Add code to make the test pass - Refactor
  • Why are you attending: Hear the pitch for TDD to see if hype is real See example & understand methodology/thought-process