Course code:
WEB-9
Years with company:
13 years (~9 years as employee,+ ~4 years as consultant/contractor)
Years programming:
~30 years
Primary programming language:
C#
Other programming languages:
C++, java, pascal, python
Unit test harnesses:
Self made systems
Something else:
Started programming as a hobby which has become my profession.
Since 2000 I have my own company.
I have worked with the following technologies:
Total Stations. Surveying solutions. Radio links. Optical distance meters. Handheld computers.
Military fighter air crafts. Presentation systems for the pilot. HUDs.
Train computers. Building a test framework in C#, replacing old tcl scritps.
Mobile phone devices. Improving test framework.
Test equipment for the power industry. Large advanced voltage/ampere meters.
I have never used TDD in the work process.
Test practice now:
Mostly manually.
Target system:
Total station for surveyors. Measures angles and distance with high accuracy. Arm AT91m42800, OSE, WinCE.
Dev tools:
Visual Studio, GNU make, GCC, AxD debugger, Sublime, Eclipce, Emacs, Putty, GIT, SVN, CVS, ClearCase,
Build time:
1-5 minutes
Coding standard:
I have read some books like, "Code Complete" and "Solid Code", but i usually try to adapt to current standard/format of code.
Function too long:
A function shall only do one thing.
Code reviews:
Some companies have more of them (defined in the development process). Now i usually have them on request basis. And i prefer in-pair programming or i think its called extreme programming.
Code time:
25%
Test time:
25%
Debug time:
50%
Favorite thing about dev:
All of the three above actually.
Least favorite thing about dev:
Meetings.
Time schedules.
Maintenance.
Correct answer is probably testing, but I thing testing is mostly fun. Its like baking a cake (coding) and actually taste it afterwards (testing).
Ok, repetitive testing is not so fun.
Tdd knowledge:
Not much, test driven development. Write tests before code?
Define interface first? This part sound conflicting with code development.
I think of code development as an iterative process where many parts evolve, including interface.
Why are you attending:
They asked me at Trimble to join this course. We are setting up at test platform (using TeamCity) for an old product.
Personally i want to learn more about TDD as well. It improves product (and code) quality.