Course code: MEG-1
Years with company:
Primary programming language:
Other programming languages:
Unit test harnesses:
Outside of work, I also enjoy writing software. I have recently started experimenting with the game programming. I hold the code written in my personal time to the same high stanadards that I hold the code written at work, and share many techniques and processes between the two. Working in different problem domains gives me new perspectives which can help me solve new problems.
When I'm not writing software, I enjoy camping with my family, and snowboarding with my friends.
Test practice now:
A combination of automated unit tests and manual testing on hardware. Historically, this has skewed mainly towards the latter, but in the last couple of years I have begun to test as much as possible via unit tests.
As a project team, we are looking to perform more automated testing on hardware. This is not something I have been involved with personally yet, but am looking forward to learning about it.
We typically develop hand held products used for electrical test. These products often involve multiple processors, and need to be designed with safety in mind.
Hstorically, IAR tools, but we're moving to GCC and other open source tools that play better integration with CI tools.
We develop primarily on Windows, although there is some Linux/WSL work (particularly with CI).
We also use Matlab/Simulink.
Under 10 seconds
We had some vague coding guidelines that were mostly suggestions, and mostly ignored. I developed a coding standard with input from the whole software team. This new standard is followed more closely than the old one. It is overdue for a review.
Function too long:
If it's performing multiple distinct tasks it should be split. If it doesn't fit comforatbly in the editor window on a small monitor with other tabs and editor panes open, it should probably be split.
We try to review all code that is integrated with the develop branch. There is no formal process for how. Sometimes it is done via screen share, sometimes via Bitbucket pull request. Reviewees nominate a reviewer familiar with the subject.
Favorite thing about dev:
Creating clean/flexible solutions
Seing a project come together
Least favorite thing about dev:
Hunting for bugs in poorly written code
Weighing up the pros and cons of tidying up poorly written code
Making the same points over and over again in code reviews
I know about the basic cycle of test-code-refactor. I have tried to practice this where possible, however, we currently have a lot of legacy code that cannot easily be unit tested. I am trying to refactor this code so that it can be unit tested.
Why are you attending:
The company is looking to adopt Agile processes for software development. TDD is a crucial part of this. I have shown an interest in the subject, so was nominated for the course.