Course code: CARBON-2
  • Years with company: 1
  • Years programming: 35
  • Primary programming language: C
  • Other programming languages: C++, Python
  • Unit test harnesses: cpptest cpputest google-test pytest
  • Something else: Background is mostly embedded and device drivers
  • Test practice now: TDD for new projects - personal projects Integrated system test for legacy code at work
  • Target system: Legacy C (Linux kernel) C++ (Linux daemon)
  • Dev tools: CLion Vim CMake Git Jenkins
  • Build time: 5-30 minutes
  • Coding standard: Use clang-format to enforce most style rules. Use compiler warnings, clang-tidy, & additional CLion annotations (like cpp-core-guidelines) Keep naming conventions consistent with existing code. Make it and keep it lint-free
  • Function too long: When it does more than one thing
  • Code reviews: Review by two other developers required for all commits, enforced by Gitlab.
  • Code time: 5
  • Test time: 20
  • Debug time: 15
  • Favorite thing about dev: Its like solving a puzzle. I know what I want the result to be, then I have to figure out how to get there.
  • Least favorite thing about dev: Waiting for ... build, test, reviews, approval to ship
  • Tdd knowledge: I've done lots of near TDD over the last 10 years (short code test cycles). Only recently have I done true test first TDD.
  • Why are you attending: Team-building with newer employees. First time I told my boss no, waste of my time. Felt I had to say yes this time. My problem right now is working with legacy code that is full of stability, quality, and performance problems.