Skip to content

Latest commit

 

History

History
158 lines (88 loc) · 6.62 KB

README.md

File metadata and controls

158 lines (88 loc) · 6.62 KB

Contact Information

Christopher Thompson

[email protected]
LinkedIn
Resume

Current Projects

Project Description
cct-tools Collection of config files I use and system configuration for new machines
cct-help Collection of links, tips, documents I've found useful at some point in my career

What I've Done

L3Harris Autonomous Surface Vehicles (ASV)

ASView

Brochure
Marketing Video

Sea Train

Press Release

C-Tug 3

Press Release
Trial Video

Oceaneering

C-Monitor

Brochure

C-NaviGator

Brochure

C-Scape

Brochure

C-Tides

Brochure

What I Believe

General Philosophies

It is on men that safety at sea depends and they cannot make a greater mistake than to suppose that machines can do all their work for them

~Mr. Justice Cairns, 1967

It is my job to prove this man wrong.

Asking Questions

Many people, especially junior developers, fear that they'll look stupid if they ask questions. My general response to that is... Get over it . If you don't ask questions, you won't get answers and that will be worse in the long run.

It's better to ask questions and look stupid now than not ask questions and remain ignorant forever"

~somebody on the internet.

Doing something bad is usually better than doing nothing at all

Seems counterintuitive, but atleast trying something and failing will be better in the long run than never trying. You can learn from mistakes, you can't learn from doing nothing.

Make it work, then make it pretty

When developing something new there is a lot to gain by rapidly getting something working and then focusing on making it pretty and supportable long-term. We should strive for getting a working POC in the field within a few sprints so we can have something landable that can be reviewed. Then we can iterate rapidly on changes or improvements as necessary while having trust that the core is correct. This is not to say you should hack something together and call that a POC; it should be designed properly still. The intent is to get the core skeleton in place and approved/tested without waiting until 90% of the work is completed.

Testing

Test Early, Test Often

While not explicitly advocating for Test Driven Development (TDD), I’m a big fan of it.

Crafting tests can help drive error handling and verification

Knowing how you will test before starting implementation provides insight into what the code should be accomplishing

Maintaining passing tests ensures code doesn’t break

Maintaining passing tests allows for incremental changes to be tested easily during development

Maintaining a system that is functional enough to be tested ensures we can always test

Test Happy Paths AND Unhappy Paths

Anyone can write a function that does what it’s supposed to with expected sane input. But good functions manage garbage gracefully and good tests ensure that

Missing Something?

Don’t have an engine service to use? Make one.

Need a fake service to stub out functionality? Make one

Stubs help everyone, not just you. And they help in all types of testing

Repeatability

Tests should be easily repeatable, by anyone, at any time

If It's Not Broken, It's Not Tested Enough

Software will be broken somehow. The job of a tester is to be able to find exactly where and how the software is broken. It may not always be a major breakage, but something somewhere will not function perfectly correct. If you haven't found that yet, then you haven't tested enough.

Side Projects

WeatherHawk myMet-Sport iOS Application

Developed the application myMet-Sport which reads wind speeds from an anemometer attached to an iOS device’s 3mm headphone jack and displays the data to the user.

UEI Air Flow iOS Application

Developed the application UEi Air Flow which reads air flow speeds from an anemometer attached to an iOS device’s 3mm headphone jack and displays the data to the user.

WeatherHawk myMet-Pro iOS Application

Developed an iOS application that reads weather data from a Bluetooth connected device and displays it to the user.

WeatherHawk myBlue-T/H iOS Application

Currently developing the application myBlue-T/H which reads temperature and humidity data from a recording device and outputs the data via email.

WeatherSnoop iPhone Application

Developed a front-end of the WeatherSnoop Mac application which takes weather related information from a WeatherSnoop server or a Weather Underground station and displays it to the user.

Benji Buddy iPhone Application

Took over development of the iPhone application Benji Buddy that used Department of Defense data to predict the debt a student would accumulate in his desired college and desired major.

iCuju, Soccer Guru iPhone Application

Developed the application iCuju, Soccer Guru as a side project with two partners. The application is table driven and allows the user to view diagrams and details of drills to coach his team while at practice.

FestiGoGo iPhone Application

Worked on the development of Festigogo, an application that displays information for various festivals around the country. The application would retrieve the information as XML files from the server and populate the tables and images. It allowed the user to login and store a customized schedule for a particular festival.

Education

Master of Computer Science

University of Louisiana at Lafayette, Lafayette, LA
May 2008
3.71/4.00

Bachelor of Computer Science

University of Louisiana at Lafayette, Lafayette, LA
May 2006
3.30/4.00