4 min read

Transitioning to software development in 2018

In spring 2011, I joined the Alaska Fish and Game genetics lab as Fisheries Biologist. A big accomplishment for me given it was my first year out of college and Alaska has a limited job market for professional state biologists. The lab was everything I wanted in a workplace, some respect, some fun and impactful science. On my first day on the job I met the lead biometrician in the break room at lunch and he pressed me on what math I knew. He then laid a line on me that has been my mantra since. He said, “If you want to make an impact in science, apply statistics where it hasn’t before”.

This was a profound statement for a couple reasons. One, it implies that the world is big enough that there is still a pent up demand for proper, advanced, statistical analysis. All I’ve ever seen shows me that this is true. If you have the skills and you apply them, a single person can make a dent in the how the world operated. The second is a bit plain but important, if you do the work people need and what fuels you, you can get some control over your own fate.

It was pretty evident after a week there, everyone was using R for working through the statistical analysis of genetics. Fortunately, it was free and easily installed. I was adding 1 + 1, printing “hello world” to the console, and creating my own objects on the first day. It’s been said before that R is a programming language for statisticians and something like python is a statistical language for programmers. Well, this can seem like a dig at statisticians if your a programmer but to userR’s, its a dig at python as well. haha. I grokking of R was very enlightening and fun and as I went over the functionality of rpackages from r-bloggers, which was the best source for discovering and learning back then, I was learning many things the biometricans and other higher ups weren’t really investing the time to learn. Within a couple years, I had proven myself as an valuable R developer for our in house analysis workflow, but given this was a state bureaucracy (remember this is fish and game folks), there was resentment for me working out of the scope of being a science grunt.

I was not ready to take the side hustle of contracts yet but I had founded Code for Anchorage, a satellite club of Code for America. They funded the pizza and beer for us to hack on various projects and learn from others in the community. Folks that had been through the same place as me before and folks that have always been programming showed up to help those that were simply curious, those that were looking to transition, and talk with other professionals. Networks were formed and it was open to the public. Folks found new jobs and small contracts as well.

I made the decision to break out of the state biology gig a year after I got my first contract. That was four years after installing R.

I’m not alone in making this kind of transition. There is a big set of folks that want the creative outlet that programming provides that are “stuck” at a job that limits their personal advancement. But I’m sure a big chunk of these candidates may feel self reservation about the time commitment and feel it might be too much time. It all depends and I think the biggest catalyst to getting over this mental hurdle is a network of similar people that have done it before because most of the time it is a one line fix to what has been keeping your project from being deployed that someone else has wrestled with before in your town that there isn’t a good answer for on the internet.

If you are reading this and you are trying to make that transition, don’t give up, keep working on the project you’ve been thinking about and keep moving. If I was going to paraphrase the words of my previous mentor for 2018, I’d say “If you want to make a dent in this world, find the right open source project in your favorite language and make it work for what you want and then get your network and lean on them.”

Also, don’t buy the hype. You don’t “need” to build your project on one particular language. Try to go as far as you can in one, if that doesn’t work, try another. Use Ubuntu. Use github. Exploit StackOverflow!