Life after a coding bootcamp

Chislaine Cruz
7 min readMar 23, 2021

I reached a point in my career where I did not find my work satisfying or fulfilling. I was looking for challenges that I considered fun and to create things that others could use.

This is the typical I-want-to-change-careers-and-get-into-tech story. I know this because I said it, and so did many others that have attended coding bootcamps. I discovered my interest in tech by popping into women in tech events and speaking with engineers that also worked at my company. They had created a fun culture within their teams and worked on cool, challenging projects. I wanted to be a part of that and became determined to find a way in. I came across Fullstack Academy based in New York City through an online search and it sounded like everything I needed, but I also wondered, was it worth it? What was life like for those who had already completed the program? Did they learn enough to be successful at their next job? Did they even land a job in tech? I did not find the answers to my questions at the time, but I decided to give it a go anyway.

I graduated Fullstack Academy in 2020, stayed on as a teaching fellow for another cohort, and then started a software engineering apprenticeship at Oscar Health. I am writing this article five weeks into the program because I want to share my experience this past month at my first technical job as well as offer up things I wished I had known when I was going through the bootcamp. I also hope this knowledge helps those who are interested in attending a bootcamp to make a decision, or helps current students better prepare for their first job.

The First Week

I noticed a few things right off the bat: This company is powered by its people and their values, and the teams are very supportive. I was pleasantly surprised by how well-structured the apprenticeship program was. There are clear goals and expectations for you and for those who are working with you. The program is designed for people early in their careers or bootcamp graduates to help us become stronger engineers by giving us enough time to onboard, get acquainted with the code base, languages and libraries, meet people, and understand how teams work together on common goals. Apprentices are assigned mentors that teach us the technical things we need to know and provide guidance during those first weeks. We have weekly apprenticeship meetings where we get to meet engineers from different teams that we wouldn’t have the chance to meet otherwise, chat with one another, and even learn something new. Given the structure of the program, I do not feel rushed to learn, or pressured to contribute significant work for my team. Everyone is aware of our timeline; we have a whole month to onboard and learn, and three months to apply what we learned to small projects to deepen our knowledge. This is a supportive environment to learn, and I am very thankful to be in it at the start of my tech career.

Bootcamp Retrospect on Week One

Working with a full stack engineering team of about 7 engineers feels like part two of Fullstack’s senior phase. The bootcamp does a great job mimicking real-work environments for students to complete group projects in. Everything you are told to do is what you should expect on the job: daily stand-ups, creating issues and pull requests, merge conflicts, user stories, implementation notes; I experienced all of that again and I was happy that it felt familiar.

If it happens that your team uses the same language or tech stack that you learned in the bootcamp, it can save you some time and make you feel more comfortable. Although I am able to use some of the tech that I know, like JavaScript and React, I also have to learn Python and other frameworks. Fast-paced learning is what you should expect at a bootcamp like Fullstack. The ability to learn new technologies quickly is the single most important skill that you develop and it does make you a better engineer. We are always learning!

I also learned that pair programming is the way to get big features done. Engineers pair program often, especially if you are just starting out. My mentor and I did a few sessions together and it helped me understand all the necessary steps needed to implement a solution for an issue. All of those skills you learn at the bootcamp about technical communication, driver-navigator roles, explain-like-I’m-five are all helpful on the job.

Second Week

Towards the end of week two, I was working on my first issue! I realized the importance of writing good issues and implementation notes, whether on Github or another project management tool. Once I implemented a solution, I had to think about what was the best way to test it. If I was working on the front-end, I could document the changes visually. However, if it was on the backend, it might be required to create a new test case for the changes. I was still working very closely with my mentor at this point, so I followed his lead and did not have to make these decisions on my own.

Bootcamp Retrospect on Week Two

During the senior phase at Fullstack Academy we learned how to write user stories for our projects. It is important to understand why we need to create a feature and implement a change. It helps answer the question of who is the target audience. Implementation notes are also a critical part of planning because it provides useful information to the engineer who will be working on it. These notes can also give the team an idea of how big the change is and how long it could take to be finalized. Writing good implementation notes does not mean coding the approach (that’s up to the engineer working on it to decide), but instead to write helpful notes such as where files are located, line numbers, caveats, and even mentioning different approaches. As an apprentice, I rely on these notes written by more experienced engineers to begin working on issues and they make my life easier because they’re well-written.

Testing your code and writing good test specs is an absolutely critical part of your role as a software engineer. While Fullstack emphasized the importance of testing and writing good test cases, the curriculum does not dive deep into writing your own specs or testing frameworks. The majority of workshops done during the junior phase were writing code to make the test specs pass with the specs already written so we did not have to consider how they worked. I believe it would benefit students tremendously if the program dedicated a few days as part of the curriculum to focus on the writing aspect of testing. As part of an independent project of my own during my time at the bootcamp, I decided to learn Jest. Jest is a testing framework for JavaScript and I learned a lot by filming a simple video walkthrough of how to get started testing. I highly suggest dedicating some time on your own to learn a testing framework by watching Youtube videos and reading documentation. This will help you stand out during interviews and show you’re better prepared for work as testing your code will be expected of you as an engineer.

Third + Fourth Week

I had a few training sessions about what the team is responsible for and how they fit into the bigger picture at the company. I leaned about different systems and how they’re connected. Looking at these diagrams reminded me of the system design questions I practiced for interviews.

I also started working more independently and had some time to play around with code while working on new issues. It felt scary working on my own and trying to figure things out. It’s normal, I’m new and still learning. I kept trying to understand how things are connected and how they are designed. This is how we learn.

Bootcamp Retrospect on Week Three + Four

The majority of your bootcamp projects consists of creating repositories from scratch and building them on your own or with a team. However, working as an engineer for a company after graduating means working on an existing codebase. I felt overwhelmed by the large codebase, not knowing what it does or where anything is. It’s crucial to ask questions to your fellow engineers and manager, and also do a bit of exploration on your own time to get more familiar with it. Also take a look at other engineers’ pull requests and what they’re working on. Read other engineers’ code reviews and comments to others. This could teach you their preferred way of doing things.

Even though I did not do this myself, I highly suggest supplementing your bootcamp experience with open-source code contributions or by joining an existing team to build something. Going through that experience will help develop a new set of skills that will be helpful when joining a larger team with an existing repository.

I also think familiarizing yourself with system design knowledge can help understand how all teams are interconnected. You can start by going through resources like these. You might start questioning why a current system is designed the way it is, and asking these questions and showing some knowledge is pretty impressive coming from somebody who has little tech experience.

These were some of my thoughts during my first weeks in the apprenticeship program and I wanted to share them with the community, with the hope that aspiring engineers find value in them. This will be hard work for a while but it will pay off. You might feel overwhelmed at first but take it one day at a time. Whenever you think you don’t know enough to be part of a team or company (hello, impostor syndrome), keep going! It gets better the more you do it. Your confidence will begin to grow with time and practice.

--

--

Chislaine Cruz

👩🏽‍💻 Software engineer with a passion for solving problems and mentoring engineers. Founder of www.careerpathy.com