When I was a sophomore in high school, I wanted to get involved with biology research. So I found a professor who was working on something I found interesting, reached out to his lab, and asked if I could do an internship there for a summer. Turns out I couldn’t—I was 15 at the time, and regulations dictate that anyone touching the lab equipment has to be at least 18 years old (or, in very special cases, 16 with a boatload of waivers signed). So research that summer was a no-go.

I got really into programming my junior year, and so I wanted something more in that field for the following summer. Except when I looked up professors who needed programmers, I found a boatload of interested researchers who needed someone to write code for them, instead of just one or two; moreover, there was no age requirement to be a programmer. So once again I found a professor who was doing something I found interesting, and worked for his lab that summer. (Even better, I didn’t have to go in more than once every few weeks; the nature of my work was such that I could work from home most of the time.)

One of the remarkable parts of being a programmer is how low the activation energy required to do something new is. As I discovered in my second research job, the amount of infrastructure you need to build something new, or research something interesting, is effectively zero when compared to the existing infrastructure required to do research in another field, like biology or chemistry. If you want to work on something new (assuming you have enough knowledge of programming), you can do so without needing a massive federal grant for new equipment, or specialized chemicals that can only be handled after taking a course, or any of the things researchers in other fields need.

(In fact, a lot of researchers have been investing heavily in computer science for this very reason—simulating an experiment in a computer is basically free compared to the cost of actually running it.)

Even if research isn’t your thing, computer science makes the bar for getting started with something new very low, and the longer you study it, the lower the bar gets. This weekend, inspired by a project from the Honors Data Structures class I took my first semester, I decided to build a randomized text generator for chats on GroupMe (a group messaging app). (Two of the a cappella groups at UT have a shared chat that is fairly predictable after a while, so I figured it would be a great testing ground for this tool.)

So I wrote a random text generator given an input database, a scraper that collected texts from the GroupMe API, and then a small suite of analysis functions to pull some interesting statistics from the conversation. It took me a solid four hours to write (a lot faster than I would have expected, but mostly because I had the random text generator code already written), and by the end I was generating arbitrarily long sequences of text, weighted by the number of likes they had received.

It was a short, mostly useless project, but it was fun to write and led to some interesting results. But the important thing is that the nature of our field is such that we can spend our free time writing these little projects, and need nothing more than an idea and our laptops (and probably most of StackOverflow) to do so.

So whether you’re interested in research or just on building a cool idea, I encourage you to spend the time to work on it. It takes far less energy and effort than you might think to get the ball rolling here than it does elsewhere, and it might lead you to interesting results


The views, opinions and positions expressed by the authors and those providing comments on these blogs are theirs alone, and do not necessarily reflect the views, opinions or positions of UT Computer Science, The University of Texas or any employee thereof.