My first year writing code

In October 2018 I started attending Epicodus, a code school in Portland OR. Taking the leap to learn how to code full-time was one of the most pivotal decisions I have ever made. I am extremely grateful that I made that decision. I am now working for a company that aims to make transit more efficient with mobile fares, an effort I care about deeply, and also prioritizes my professional growth. I want to share a little about my past and why I decided to make a shift into tech, as well as some things I have learned along the way.

Why I decided to learn how to code

My interest in coding began during my last year of undergraduate studies. I have a degree in Environmental Studies and a minor in Geospatial Studies, where I focused on mapping environmental injustice. My senior capstone was an interactive map of aerial images of prisons and an essay about the environmental issues around prison sitings. I used Odyssey.js and CARTO, then CartoDB, to create the map. This was my first introduction to using an API to load map tiles, and CSS to style layers.

After completing my degree, I interned at Metro, a regional government with offices in Portland, as a GIS (Geographic Information Science) intern in their transportation planning department. There, I made maps using Mapbox, and first learned about D3. Through my experiences, I could see that there were many opportunities to create wide-reaching visualizations with code. After this internship, I took some time to work in the service industry and decide what I wanted to do with my career. These small introductions to web development remained with me during my , and I decided to take the leap and enroll in code school.

Things I found helped me during my first year of writing code

Learning how to code was by far the most challenging thing I have ever done. Although I admire self-taught programmers and those that can balance education with work or taking care of dependents, I find that, for myself, I need to be fully immersed in something to be successful. This is why I decided to go to school full time.

I was able to go to school full time because I received a scholarship from Tech Rise, a program through Worksource Portland Metro that aims to increase racial and gender diversity in the tech industry. During the time of receiving this scholarship, I was working in the service industry and had accrued student debt from my undergraduate studies. I was not financially equipt to take on more debt, and the scholarship enabled me to avoid taking out more student loans. I am extremely grateful for what this scholarship has given me and scholarships like this deserve more support.

Though I am a woman entering a male-dominated industry, I want to recognize that I have privileges that have helped me make such a swift transition into tech. I am a cis straight able-bodied white female with some economic privilege. I do not have any dependents, I have a steady living situation, a supporting partner and family. If I was not afforded any mix of these privileges, entering tech would have been a lot more difficult for me.

Lastly, these are in no way revelatory or may work for everyone; they are just some things I found helped me.

Find a community to learn with

  • The most valuable part of code school is the community that can be found among classmates. I met some amazing people at Epicodus that really helped me grow as a developer. I had people to attend meetups with to quell my social anxiety, to bounce side project ideas off of, and to empathize with how stressful of a transition it is. This community does not necessarily need to be from code school, but I found it critical for my development as a software engineer.

Sleeping and eating well is a main priority

  • I maintained a strict sleep schedule and meal prep schedule this year. Sundays were spent almost exclusively prepping food for the week and making time for my mental health. I was able to save money during school by not eating out for lunch and I had extra time on weekday evenings to attend meetups or study rather than cook dinner.

Avoid copy and pasting whenever possible

  • As a new developer, it is really easy to find an example of something similar you are trying to achieve and copy and paste it into your own code. I have found that prevents one from truly understanding what the code is doing, and makes is much harder to debug.

Read code out loud

  • Epicodus is based on pair-programming so every day I had someone to talk to about code. When my pair and I would work on an assignment I would state in plain English was a function is doing, which helped solidify my understanding. This is often referred to as "rubber duck debugging."

Find a niche

  • I decided to learn how to code because I wanted to make powerful visualizations and work on meaningful products. I targeted myself as a developer interested in transportation, urban planning, and maps because that is what I have experience in and care about. This made me stand out when applying for jobs, as I had a clear focus. It also helped me narrow down different companies that I wanted to work for.

Create a portfolio early

  • I started building my portfolio during my winter break, which was about two months into code school. I knew that this would be something that would be necessary later down the line, and having a basic setup saved me time when I needed to put together something quick. I used Gatsby, which allowed me to learn new technology like GraphQL and they have an amazing starter tutorial.

Networking is almost as important as learning how to code

  • During the second half of school, I tried to attend at least one meetup a week, participate in local hackathons and volunteer with coding organizations. At these events, I listened to what others in the community were excited about, even if I knew nothing about them at the time. I also reached out to people who held positions I was interested in for informational interviews.

Return to the basics

  • One of my mentors at my current employer lent me his copies of Kyle Simpsons You Don't Know JS which I have been reading over the past couple of months. During code school, you jump into learning different frameworks and libraries (React, Angular, Express, etc) that you often glaze over the nuances of the language — in my case was JavaScript. Learning the fundamentals of asynchrony or how scope works is extremely beneficial.

Conclusion

My first year of writing code was one of the hardest and most transformative years of my life. In year two I am continuing to attend some meetups (twice a month) and would like to volunteer with other community-minded coding organizations like Code For PDX. I would also like to volunteer with I am taking more time for exercise and my personal health by exercising more.

paw145@humboldt.edu