If I could go back in time to prepare...
Tags: beginners, bootcamp
Published: 2020-05-28 19:26:02

I recently graduated from Flatiron and I am so excited to have completed this first phase on my way to becoming a junior developer.  But the bootcamp experience was not so easy for me.  Before I started bootcamp, I had been (and still am for the present) a SAHM for 16+ years.  My formal college education was a distant memory.  I had taken some college courses through a local community college several years back for pre-nursing but other than that, I hadn't needed to use my brain in the specific way I used it during those months in bootcamp.  Even the pre-work was difficult (although enjoyable) for me.  

I was one of the students that learned so much in the program, but there are many holes in my understanding because the curriculum was constantly moving on with new material.  If I could go back in time...a year before I had thrown myself into the bootcamp experience (side note: I attended an on-campus program until the corona virus forced everything online) these are some of the things I wish I had known or taken the time to learn so I wouldn't have struggled as much during bootcamp.

1. **Learn how to use a Mac.**
  Sounds easy enough, right?  I was required to have a MacBook Pro for bootcamp and actually I am grateful to have such a nice laptop to work/learn on.  But when I first started, it was a challenge to figure out how to do anything on the MacBook after using PC's my entire life!  I would often get behind in lecture or paired programming because I was still trying to open up or find a file saved on my computer because I had no idea how to use a Mac.

2. **Learn how to use VS Code.**
  This could probably have a whole sub-category of things but just the basics like creating a folder and a file and opening it up in VS Code would have helped those first few weeks.  I would also suggest learning a few basic file extensions.  For example, Ruby files are saved with a .rb extension, HTML files are saved with a .html and JavaScript files are saved with a .js extension.  Last but not least, how to open a terminal window or multiple terminals within VS code and run/start those files is helpful basics so you can focus on learning to code.

3. **Learn how to use the terminal.**
  This was part of the pre-work, but I didn't really catch on the first time I went through this part of the content.  I enjoyed the coding more so I focused on that part.  I wish I had spent more time practicing and becoming more comfortable with using the terminal to navigate to different directories, see what was in those directories and how to open a file (in VS Code from the terminal).  As a side note, I was always nervous when installing things on my brand new computer from the terminal, especially when I didn't know where they were being installed and what they were for.  But I have learned that anything that is installed on your local computer can be located and uninstalled if necessary.  Using the --v flag to check the version of what was installed is also helpful to check if it installed correctly!

4.  **Find someone or a good tutorial to help with the set up of GitHub.**  GitHub was a problem that haunted me through my entire bootcamp experience. I attempted to set up my GitHub account and connect my computer to this account.  However, I must have made several mistakes since I was so new to all of that.  Every time I used my VS Code, there was over 5000+ changes waiting to be staged (apparently, every file and folder on my computer along with all kinds of other files I didn't understand were all waiting to be added to every project).  And if that wasn't annoying enough, when I tried to push any commits, my commits were under 'github-username' about half of the time instead of my own username.  There were several other issues that I am happy to say are fixed now! I was able to research and reset several things that needed configuring.

5.  **Finally, learn HTML + CSS and then build a few basic projects using those new skills.**  I started my program with only a basic knowledge of HTML and CSS.  I spent so much time trying to figure out how to build features in JavaScript and React and connect everything together correctly (routes, database, controllers, etc), that I almost always ran out of time to properly design the layouts or implement correct HTML and CSS on the front-end.  After I graduated, I took some time to start learning how design should be structured and how to correctly use CSS to design responsive applications.  I realized my hack-y, google-y methods I had implemented in my projects were not correct and would only show up well on my own screen, but not necessarily on someone else's screen.

As a bootcamp graduate, I feel like my goal of someday becoming a software developer has just begun. I am working towards continuing to learn and practice my skills by building small projects.  There are so many resources available, as well as a supportive tech community to help out any developer, no matter where they are in their learning and growth!