Course code: WEB-19
Years with company:
Primary programming language:
C++ at work.
Other programming languages:
Unit test harnesses:
Tried a little GoogleTest, Unity, and CPPUTEST in my own time.
Previous employer's attempts at test harnesses.
Sole embedded software engineer of a small start-up (6 people).
I will be inheriting firmware responsibility, of a prototype and initial product, from my CTO and would like to apply some process to keep legacy code working, and new code clean and tested.
Test practice now:
Manual testing is the current method.
Strongly want to get TDD and unit tests as standard practice.
PWM, I2C, CAN, UART, and Wifi.
Segger JLink Plus
Non yet, although CLion's built in code cleanup and analysis tools are used to apply some uniformity.
There is potential for coding standards to be required on future products.
Function too long:
In theory, if it does more than one thing.
In reality, if you have to scroll ;-)
Due to small team it ammounts to me reviewing and cleaning my own code before committing to version control.
Code is altered by two other team members, currently without review.
I'm currently introducing new code processes into the company.
Favorite thing about dev:
Solving problems. Making things.
What I love about embedded software as apposed to desktop software is causing an effect in the physical world rather than the virtual world.
Who doesn't like making an LED blink?
Least favorite thing about dev:
Oh, and bug fixing.
Red, Green, Refactor.
Write a test, make it fail.
Make that test pass in the simplest way possible.
Clean up that code.
Repeat until your task is complete.
Why are you attending:
I have been reading a few dev books recently (including your own) and the use of TDD makes a lot of sense to me, but I get stuck on an embedded level, and when working with legacy code.