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