About the Author
I have been a software engineer for almost three years, and I want to help people who are considering code school to better understand what they are getting into.
Before I became an engineer, I was a research associate at a small biotechnology firm. I was in charge of managing the laboratory information management system that we used to track data, inventory, and project plans. In order to customize data entry for each project, I had to learn how to build forms using HTML, CSS, and JavaScript. The fast feedback cycle was intoxicating: make a small change, refresh the page, and see the result. There was no experiment I could run in the lab where I could enjoy such fast results. I started hunting for more opportunities to write code.
There were many repetitive tasks in my research, and one of them involved graphing data that had been recorded by a sensor. The data was stored in csv format, and I would upload the file into Excel, select the columns, create a scatterplot, write labels for the axes, calculate the trend-line, export the chart as an image, and save it into a numbered folder. Tedious. Repetitive. Redundant. Work.
After performing this workflow a dozen times, I started researching alternatives. I used a Bash script to import the data into R, graph it, add the axis labels and a customized title, and export the result into an image. I also performed a regression analysis and used awk to scrape the output and save it to an analysis file. In the end, I could point my script at a folder containing the data files and it would generate all the charts I needed, and save them in the appropriate place. I may have spent hours tweaking that script into shape, but it saved me days of mind-numbing work at every phase of my experiment. It was thrilling, and I became hooked on programming.
I spent the following two years studying software development through night school at McGill University. They offered a certificate program that offered a great overview of all the possible specializations one could pursue in IT, including network design, database design, and operating systems administration. I still use a lot of the foundational knowledge I gained in those courses, and I chose to attend code school in order to fill in the gap of practical application that I felt my resume was lacking.
Attending code school was the best decision I have ever made. I love my new career because I get to solve complex problems, improve my own efficiency, and learn constantly. Check out my book for more about what I have learned through my code school journey and beyond. If I knew then what I know now, I would have made the same choice but I would have been less anxious and better prepared.
Katie Leonard – 2016