Atoms to Bits
I have always been interested in how things worked since I was a child. I remember my city-planning exploits whenever my parents were not home. I would set up terminals (kid oven, dollhouse, and toolbox) and connect them using a system of roads and flyovers constructed with VHS tapes. All the remote controls I could find would act as the buses to shuttle passengers around the city. My goal was to build as many turns into the flyovers and keep the system stable enough to handle all the bus trips before collapsing.
Fast forward to my university years, I decided to major in geology since I excelled at geography in high school. My years studying geology were some of the most fascinating times for me. It shaped my perspective on the way systems get put together. For 7 years I focused on learning to use incomplete clues to deconstruct and reconstruct models representing the large and small-scale features of the earth. This gave me an appreciation for how a multitude of small events (think ripples in a stream) can lead to outsized outcomes. Outcomes like the Mississippi River choosing a different path to the Atlantic Ocean.
Toward the end of my undergraduate program, I needed to take a science elective from outside my major. I signed up for an introductory programming course in C. I enjoyed the class and the projects we worked on. I even contemplated a minor in computer science, but I wanted to graduate on time so I abandoned that idea.
My next foray into programming happened during a research job I had gotten the summer before I started graduate school. The group I was working with was analyzing logs from oil wells to interpret the geology of Southern Oklahoma. One day, the Ph.D. student I was working with asked if I could work on loading the data before the next day and I said yes, thinking it would be a cakewalk.
I realized I was in trouble when I tried to bulk load the files and the interpretation program we were using wouldn't map the new data into the project. I read the manual and spent a few hours troubleshooting. Then I realized that it was an issue with the naming convention used on the new files; all 2000 of them! I was eager to impress my new graduate school advisor and could not fathom telling him that the project would be delayed by a week.
So I sauntered off to Google. I found a PowerShell script somewhere. I had no clue what PowerShell was, but it was getting really late and I was desperate. I modified the script and ran it. It worked and I was on my way home less than 10 minutes later!
My graduate school research focused on modeling geological datasets using earth science software. So I learned Python to help clean and manage data where the software fell short. It became a staple in my work thereafter.
When the coronavirus pandemic started in 2020, I watched many facets of everyday life come to a standstill. But I also saw the acceleration of technologies we used to stay connected, entertained, and collaborate. I became fascinated with the things people were building on the internet. Particularly, the speed at which they were able to do so.
In early 2021, I discovered freeCodeCamp on Reddit and completed the basic JavaScript module. It was pretty fun. I spoke to my friends who had self-taught programming and they advised me to attend a bootcamp. The community, structure, and guidance bootcamps provide would be better than slogging through the material alone. Doubts about whether I was going down the wrong rabbit hole continually crept into my mind. But when I caught myself still enjoying the harrowing pre-course work for Hack Reactor, it gave me the confidence I was on the right path...
From studying atoms to composing bits.