Course code: WEB-5
  • Years with company: 2
  • Years programming: 45
  • Primary programming language: C (this year)
  • Other programming languages: C++, Python
  • Unit test harnesses: TestRunner and a plethora of "home-brew" tools
  • Something else: I'm 2 weeks older than Bill Gates. Counting dialects, I've used more than 30 programming languages, some of which I'm sure you've never heard. I've written assembly code for at least 4 different CPUs. I've professionally programmed for more than 40 years, 36 of that full-time. I've been on design teams for 7 custom CMOS ICs and was sole developer on 1 analog/digital custom IC. Given all that, I'm relatively new to embedded code (about 7 years or so).
  • Test practice now: It is a mix of: - hand-walking through new code with a simulator/emulator - hand-generated dedicated unit-tests - creation of special top-level regression tests - pass through the suite of regression tests
  • Target system: Embedded multi-core ARM SSD drive
  • Dev tools: SlickEdit, gcc, ddd, ARM compiler, pylint, TestRunner (this year)
  • Build time: 1-5 minutes
  • Coding standard: Covers naming conventions, coding style,
  • Function too long: When it's longer than 3-4 pages long. Common practice here is much longer than that.
  • Code reviews: Run in Code Collaborator
  • Code time: 35% (includes design)
  • Test time: 40%
  • Debug time: 25%
  • Favorite thing about dev: The act of encoding ideas into logic.
  • Least favorite thing about dev: Project politics, redirection from above, poorly stated and/or shifting objectives.
  • Tdd knowledge: Colleague did review of your class after taking it.
  • Why are you attending: Two reasons: 1) Boss said I had to, but also 2) I *love* code. Anything that helps me do a better job is worth learning.