Education to Engineering - my Flatiron School experience
Tags: flatiron, coding, career, devjournal
Published: 2023-07-05 23:05:28

I started the year 2023 with a pretty big goal - to change careers from public education to software engineering. As anyone who has made a big life decision knows, there are a lot of emotions that go along with change. In January, I enrolled in and began the Flatiron School software engineering bootcamp as a flex student, and six months later I am writing my final blog post and getting ready to enter the job market. This post is intended to answer the question I've been asked many times since making the decision to switch careers - "What has your experience at Flatiron School been like?"

## Backstory 
No experience can be separated entirely from its context - so as I share my thoughts here, I also want to share a little of my personal context.

**(TLDR at end of section)**

I love teaching and being a teacher. I taught high school band for eight years, the first five in person at a Title I school (my old high school, at that!), the sixth online during COVID, and the final two in a different school that is rated as one of the best in the state. I am incredibly grateful for the impact I was able to have on students and for the person I became because of the students and adults I met along the way. I never imagined myself doing anything other than teach - I planned to be a band director on a marching band field or staying late at school for an event until retirement age - and then COVID happened.

Sitting still isn't a skill I had developed much of in my life - I was always at some band event or finding the next thing to say 'yes' to. Most of the time I would leave for work around 6:00am and not return home until somewhere between 7:00pm and 9:00pm. My Saturdays were busy with marching band and other music events, and I really loved it. When Spring Break of 2020 arrived, an announcement came over the school intercom that the break had been extended for an extra week due to the Covid-19 outbreak. I hugged students goodbye and said I'd see them in a couple of weeks. And then the world stopped. Eventually we were told we would not come back to school in person for the end of the year, and because we couldn't ensure students all had access to technology, our district developed writing assignments for each class that students had to complete to get their course credit. I set up some Google meets where my band students could come and see each others' faces. We talked about plans for the following year and how excited we were to be able to make music together and be in person again in just a few months.

After a summer of debating across the nation whether schools could be in person or not, our district decided it was safest to stay fully remote for the 20/21 school year. We tried our hardest to keep everything operating as usual for our students. 0/10 would recommend trying to do band online, but we tried our best! Many of our classes ended up being discussions of what music meant to us, how we were doing, etc. My school opted for a unique schedule where students took two 3-hour long classes - one from 7:30-10:30am and the other from 12:30-3:30pm, all online, for a month. After a month, they switched to their next two classes on the same schedule. As a teacher, I taught during one block and lesson planned during the other block - turns out it takes awhile to plan for a 3-hour long lesson each day. Over time, I figured out a planning routine that took about 2 hours, so I'd teach from 7:30-10:30am, plan until 12:30pm, then have the rest of the day to fill. I couldn't see my students and couldn't leave my house, like the rest of us. Eventually, I found a routine I really enjoyed that allowed me to exercise, plan meals, read a book, or have some other time for myself in the day to fill my extra afternoon time.

My husband, who was teaching orchestra alongside me at the same school, decided during the pandemic he did not want to teach anymore and enrolled in Flatiron School at the end of the 20/21 school year. At the same time, I decided it was time to move to a different school and was offered a job at a prestigious school in the state. I taught at this new school for two years - we were back in person and I got to build relationships with students again and make music, but now imagining myself as a band director until retirement was daunting instead of exciting. I'm still not entirely sure what changed, but I knew staying in education was not filling my cup anymore and I needed to change things.

**TLDR:** I loved teaching at one point, the pandemic somehow changed all the things, post-pandemic teaching was no longer fulfilling and I decided to change careers.

## Selecting a Program
*I can teach myself to code. I know how I learn, I have a master's degree in education, for goodness sake. I should be able to learn online with free resources. My husband is a software engineer, I can just ask him questions!*

These were all thoughts I had while trying to remember HTML from my MySpace days, reading through Odin Project resources, and generally banging my head into my desk while trying to self-teach myself to code. I had zero experience with coding (aside from that sweet mySpace profile where music would start playing when you landed on my profile) and felt generally overwhelmed by concepts. I remember going through an HTML/CSS lab on the Odin Project site while waiting for a plane to fly home in July of 2022 - so I spent about five months trying to teach myself to code.

I realized I needed a program with structure and resources I could lean into when I got stuck - the Flatiron School was a pretty easy choice for me as both my husband and a close friend had gone through the program and gotten jobs as software engineers. Both went through the Ruby and Ruby on Rails curriculum and were incredibly jealous I would get to learn Python and Flask.

## Flex Program & Time Management
I decided to enroll in the Flex program so I could finish out my year of teaching while enrolled. Since I was starting the program in January of 2023, I hoped I would wrap the program up by the start of summer, start a job search, and ideally be employed by the fall when my paychecks would run out.

The Flatiron School program is organized into five phases by language or framework. My curriculum included:
Phase 1 - JavaScript
Phase 2 - React
Phase 3 - Python
Phase 4 - Flask
Phase 5 - Capstone Project

You are expected to complete pre-work and come into the program with an understanding of HTML and CSS, since Flatiron doesn't explicitly teach these languages.

I taught a normal schedule each day and then would spend a few hours each night coding. The teaching position I took at my new school was an assistant band director position, so many of the responsibilities I had at my first job were no longer in play. The spring is also less busy for bands, so I was able to mostly focus on teaching my classes in the day and come home and code unless I had an extracurricular event. 

## Learning Curve
One of the most important skills you learn through coding is how to research information. I would argue the second-most important skill is learning when to ask someone else for help. Again, former teacher here, I thought I could figure out everything on my own with enough research, but as an engineer it is very different. 

There was a huge learning curve for me in determining the best resources to utilize and in learning where to find help when I needed it. I had read in the pre-work and phase 1 curriculum that I should spend about 45 minutes on a lab max before seeking help from a technical coach or instructor. Even knowing this recommendation, I found myself spending hours on the same lab, feeling frustrated when I couldn't figure out how to solve it. 

It took me about half of phase 1 before I was willing to reach out to a technical coach when I was stuck. When I finally connected with the TC, I remember them saying 'Oh yeah, I got stuck on this when I was a student in the program too...' They were able to help me through part of my challenge, but they also got stuck on one of the more challenging parts of the lab. At the time, I felt really frustrated that the coach could not help me through the problem. I reluctantly reached out to my husband, who went back into his own GitHub forked copy of the lab, checked his solution, and said 'Oh shoot, I guess I never figured out that part either. Well, I got a job so I think you'll be fine, you should move on.' **This answer was so frustrating.** *How am I supposed to just move on when I don't understand? I need to understand everything or I'll be lost!* 

After pushing through the phase 1 JavaScript curriculum, I designed my first project and reached my first assessment. I was really proud of my project - I built a clone of Tinder for dogs and even got my data to persist from my JSON file. I was so nervous for my assessment. In the Flatiron program, each phase assessment with an instructor has three parts - a conceptual verbal exam, a project showcase, and a live coding challenge. I made it through the first two parts fine, but when getting to the code challenge I froze up. I remember feeling overwhelmed and frozen - I didn't know how to figure out the answer and so I couldn't do anything. I failed the live coding portion and had to schedule a retake. I felt so disappointed in myself. *Maybe I shouldn't leave teaching, I'm good at my job and even though I'm not happy, I can stay and just push through it. I'm not smart enough to be a developer. I can't do this.*

Here's where context is important - not only did I fail at my first assessment attempt, all of my family and some of the few teacher friends I had told about my career change reminded me if I could always go back to teaching if my new career plan didn't work out. On top of feeling disappointed in myself, I also felt guilt for leaving education and my students, anxiety around not finishing the program quickly enough to keep our family income afloat, plus whatever mixed emotions came from hearing that at least I had a back-up plan that made me unhappy I could return to if I couldn't cut it. I imagine all of these factors combined made my failing the assessment that much worse. In perspective looking back, failing the assessment was a tiny misstep in an overall much larger journey.

## Surges and Slips
Throughout phases 1 through 3 of the Flatiron School program, I would describe the experience in terms of surges and slips. There were times I felt I was really understanding the curriculum (surges) and times I had to look at the solution branch for every lab and felt there was no way I could understand the content (slips). Once I told my students in mid-February I would not be returning next year, the career change started to feel real and I pushed myself to put even more time into the curriculum. By resigning my position, I eliminated one of the 'back-up plans'. Again, lots of emotions but I continued on, passed my second attempt at the phase 1 assessment, and continued through the program.

## Curriculum & Career Preparation
Flatiron School has recently reconfigured the program to correlate career preparation with phases of curricular instruction. At the end of phase 2, you must have your LinkedIn profile set up and at the end of phase 4, you submit a draft of your resume. Students receive feedback on both assignments from a career coach. The feedback I received was timely and detailed. I am really grateful to have started this preparation early, as it encouraged me to design a [portfolio website](https://jessicavaughn.netlify.app/) and to start thinking about networking early on in the program. As I enter the job market, I have a polished [resume](https://docs.google.com/document/d/1HzjC4m3uOv3IWioJ8PKQpEgsCn6DVPieM0wAEXfgl4o/edit) and an active [LinkedIn](https://www.linkedin.com/in/jessicavaughn619/) profile to leverage.

After completing my phase 3 Command Line Interface project, I really felt like the knowledge I had learned throughout the program settled in and phase 4 and 5 were really fun. I got to design my first two full-stack web applications, [myTunes](https://youtu.be/DFA_5AwnnIw) (a Spotify clone) and [Craftsy](https://youtu.be/jWwT2GTx5rs) (an e-commerce application). In my final project, I was especially excited to research and implement Google authentication and PayPal checkout. I could not have imagined being able to build such a comprehensive application back when I started this program a mere six months ago. I am so proud of how far I have come through this program.

## Program Support
The flex program at Flatiron School worked well for me as an independent learner. In the first two phases, I really struggled with availability of support - most of the time I was coding on MST in the evenings or on the weekends, when instructor support for the EST-based program was not available. If I felt I needed help from an instructor, the soonest I could book a time was about four days out. Most of the time, I booked a 1 on 1 with an instructor and then ended up cancelling it after figuring out the problem myself since the next appointment was so far away. At first this was really frustrating, but eventually I learned to just review the solution branch if I was stuck and to go ahead and move ahead. I felt I learned the most during the project portion of each phase when I had to design a project that solved a real-world problem and use my new knowledge to create a functional product.

The biggest support for me during the program was the Community Stand Up channel, first on Slack, then on Discord after the school migrated. Every day I posted what I had worked on the day before, my goal for the day, and any blockers I was facing that day. I really appreciated the accountability the channel gave me and ended up connecting with other students through the daily ritual.

When I was able to connect with an instructor (typically for project support), the direction I received was awesome and I felt very supported. Each of my instructors cheered me on and I know they wanted to see me succeed. When starting the program, I expected more of a hand-holding approach, but in retrospect am glad I had to figure things out for myself much of time. I now feel well-equipped to take on a career in this field where I will likely spend at least as much time researching and asking others for help as I do actually coding!

## Next Steps & Final Thoughts
I completed my capstone project this week and as I wrap up this blog post, I've completed the final requirement for the Flatiron School software engineering program. Next up - I begin 180 days of career support!

I hope this post, in addition to being pretty cathartic for myself, lets anyone on a journey of change into my inner world and thoughts and maybe encourages you to think about your own. It's tough to share the negative feelings we have and I think many of us associate those negative feelings with our sense of self-worth. Whatever journey you are on, I hope that you can separate your emotions from your value and remember that who you are is enough. Best wishes to you!