Although late, I would like to introduce myself to the Dev.to team and describe myself a little bit. I know not many people will read this, but I know its message will resonate. A person who likes problem solving in this day and age will always find a community in the programming world.
Why change careers?
My background is in environmental engineering, where I have built a successful career as a compliance auditor and environmental regulatory expert over the past century and received my Professional Engineers license in the State of Maryland. With a strong background in a successful career, it has come as a surprise to many of my colleagues that I would be looking to change careers, so I would like to provide some background on why I am pursuing a path in software engineering. To summarize below, I started programming and evaluating datasets over 20 years ago, always assuming my career would be heavily influenced by computers. Throughout my career, I have been working to automate processes with different programming languages, which has become my passion.
Programming for a lifetime
I played a lot of computer games as a child. I was hardly a talented gamer, I was more interested in the community aspect of games and what was required to run these powerful 3-D games.
As a PC gamer in the 90s and early 2000s, I taught myself a lot about computer hardware in trying to find the perfect computer to run all my games. I knew more about RAM, processors, and GPUs than I do now. I knew how everything worked together, what made one stick of RAM work better than another, and what the best GPU was for the money. My parents were very influential and always made sure I had a computer that made me happy. Before I went to college, they sent me off with an ultra powerful gaming machine that I worked with the local computer shop owner to build.
In addition to my introduction to hardware, I was building websites that were detailed guides to the games I was playing. My most successful website as a kid was describing the best trades that could be made in Madden 99. I built several gaming websites afterwards and continued to use simple HTML on a daily basis.
Without knowing it, I was evaluating large datasets of player ratings in the games I was playing. Without a built-in way to update player ratings in Madden prior to the mid-2000s, the only way to get updated rosters was to “hack” the ratings files. I hardly assumed this was hacking, I was just trying to find a way to improve the games I was playing. I updated rosters and found different ways of distributing them to the online Madden community.
In 2003, I went to college and was sure that I would continue my background in computers by majoring in Computer Science. With my background as a young web developer and programmer, I breezed through the first two years in the CS program. The only problem was that the CS program was not allowing me to implement the advanced math that I also loved, specifically differential equations. I met with an advisor and they recommended looking at environmental engineering, as water treatment required a strong handle of differential equations to evaluate treatment technologies. I loved the coursework of environmental engineering and decided to change majors.
I came out of college in late 2008, right after the recession started. There were limited job prospects, so I searched everywhere. I found a great job at the United States Army Public Health Command, mostly completing compliance work. I left the Public Health Command in late 2013 to return closer to my home with Parsons Corporation continuing my compliance work. I have always enjoyed this work and the great people I have worked with. I am very fortunate to have such great work experiences.
Although the work atmospheres were always enjoyable, I was missing out on the advanced problem solving I enjoy so much. I found the solution to missing out on the advanced problem solving was through finding different methods of automating processes. Working as a Federal contractor, I was limited by the languages that I was able to use on my work computers. For most processes, I would have to find a way to make Visual Basic do most of the legwork. Visual Basic, for all its limitations, was similar enough to C++ that I was able to do some fairly powerful things. I was able to automate a majority of the routine tasks. One such task was copying and pasting tables from an excel spreadsheet into a template document. The implementation of this task would save me up to two hours on each report I wrote. With over thirty reports a year, two hours a report added up and was a small portion of the processes I automated at Parsons.
Ultimately, the desire to automate processes and programming was a bigger drive for me than the compliance work. I started taking several free online courses on web development, specifically with React, and data analysis. I became obsessed with solving problems through sites like HackerRank and CodeWars. I built several websites and completed this coursework in addition to a rigorous travel schedule and working a full-time job.
Driven by volunteering
In early 2019, I started volunteering at Code for Denver, part of the Code for America brigade. It was there that I found a project to volunteer for that would show me the power that I could have as a programmer with my knowledge of the environment. A member at Code for Denver had a brilliant idea to visualize water quality data throughout the United States under the title Water Beacon. I was extremely excited when he wanted me to help his project, and I filled the gap in environmental knowledge he needed to build the data sets. I created a psuedo-code equation that was translated into Python that would create a score for each FIP area in the United States. This data would drive our front-end visualization, which was being built on React and D3.js. With the equation built and the visualization ready to be implemented, I asked to be the one to build the D3.js visualization showing the data. Through several struggles, I finally was able to build a quality visualization that is really impactful. Since then, I have implemented D3.js in several other personal projects and consider myself a D3.js and React Hooks expert.
Building Green Owl Compliance
The Code for Denver work started to show me how impactful quality environmental software can change the world. After receiving encouragement from several other Code for Denver members, I was urged to build online environmental compliance software that could provide passive income. I spent months developing the web application, alongside a forum for other compliance auditors and a blog posting site. When ready to deploy, I was very proud of what I produced. I wanted to verify that I would not be infringing on any corporate responsibilities at Parsons through deploying the site and contacted the Parsons’ legal team. I received bad news that even though Parsons does not provide this software, there is potential they could bid on a project to build the software in the future and it would be a conflict of interest for me to deploy and monetize Green Owl Compliance while employed at Parsons.
At that point in time, I was faced with a difficult decision. Although I really loved working at Parsons, I was more interested in continuing to automate processes and build more powerful software programs. I felt it would be unfair for me to continue working at Parsons when my passion was elsewhere. I notified my managers that I would be leaving Parsons at the end of my contract, which was December 3, 2019. It was one of the most difficult decisions I have ever made in my life.
What is happening now?
I am pursuing programming as a career. Although I would love it if Green Owl Compliance was successful enough to support me and my family, it will be an extremely long road until that happens. I still consider this to be solely a passive income stream. I am looking to find a great team to work with and build awesome software. I am a very strong web developer using React and React Hooks, am great at writing problem-solving algorithms, and am a budding data analyst. I am extremely motivated and a quick learner, capable of picking up any new language, syntax, framework, or library.