Course code:
BARR-6
Years with company:
5
Years programming:
12
Primary programming language:
c, c++, matlab, simulink
Other programming languages:
assembly
Unit test harnesses:
customized
Something else:
I have been working as a software engineer in the US since 2004. I worked for 4 different companies and I have been mainly worked on application software, such as diesel engine control, transmission control, and crane control software. I also use c++ with Qt to write display software during the past 5 years.
In all my jobs, I use water fall (V-model) development process for the software development. The unit testing is normally performed on the test bench or the real machine, for example, a crane, a tractor, or a truck. And I have never used TDD.
Test practice now:
I use a simulator or the HIL (hardware in loop) in our software lab most time. And I have to use cranes to capture the faults that cannot be duplicated in the lab. The modules communicate to each other via CAN bus (CANOpen). I trace the data on the CAN bus to look for anything abnormal. I use Lauterbach debugger for debugging.
The unit testing is done by our team in India.
Target system:
mobile cranes
Dev tools:
GCC compiler, Tasking C/C++ compiler, Qt, Lauterbach with Trace32, dSpace (HIL)
Build time:
5-30 minutes
Coding standard:
Our company's c/c++ coding standards
Function too long:
a function that does more than one thing; it has deep loops or deep nested if-else; or it duplicates the same logic as others.
Code reviews:
We use Phabricator to do online review
Code time:
30
Test time:
20
Debug time:
50
Favorite thing about dev:
Write code and watch it works as expected on a target system.
Least favorite thing about dev:
Frequently changed the requirements and debugging.
Tdd knowledge:
Very limited.
Why are you attending:
To seek for a better software development approach to improve our software quality and meet deadlines.