Starting as a Research Programmer

One of things I’ve always wanted to do was to learn how to program. I mean, really programming, not just learning what variables or functions were. The notion of learning, and really getting what gears were turning behind all the applications and software we use everyday was exciting.

For the past few years, I tried picking up programming without must success. I would develop some random websites / programs such as a music organizer (PHP = MYSQL), user profile updater (python + JSON), but nothing really stuck. The programs worked, but I never perceived these as success in any way, because success to me doesn’t mean a product or result, but keeping to a direction of growth.

I’ve always been fascinated with Python for three main reasons. First, it’s glamourized in the programming community for it’s parsimonious characteristics. Second, it can be used for web, smart, and desktop applications. Third, it’s a popular programming language for research programs for psychology (my main field of study).

In January 2019, I asked my supervisors at one of the labs I wanted to take a chance with me and allow me to work as a researcher programmer instead of a research assistant. One of the first tasks they asked me to do was to standardize their facial stimulus. I was a bit overwhelmed by this request at first, and here’s why:

There were thousands of photographs of varying sizes and colours. My goal was to expand or shrink these images, move these images, crop these images, and colour balance these images to fit a “template” image. The problem stemmed from a lack of protocol in gathering stimulus (e.g. RAs did not over an cross-hair overlay on the camera or did not have participants sit the correct distance).

I created two programs: facial standardizer and colour correction. Together, these programs not only corrected the earlier faults of the stimulus gathering protocol but probably saved hundred of hours of RA hours in correcting the work.

I learned a lot of lessons from these projects, but I’ll state two less obvious ones. First, a lot of programming is actually research. That is, researching if libraries already exist to do what you want to do, saving you hundred of hours yourself. Second, programming, like almost every other thing, isn’t as hard if you break things down into little, digestible chunks.

I’ll be posting these programs for public use in a short while!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s