Things I Learned as an Intern that I Did Not Learn in Code Bootcamp
Reading time: ~ 4 minutes
As is tradition, two Epicodus interns joined us in August for a short stint as a part of their bootcamp. Here's a reflection from Josey Kinnaman on her experience with us as a developer intern and what she learned.
Coding bootcamp is hard (if you didn't gather that from the name, you will soon find out). After almost 5 months of coding for almost 60 hours a week, I felt myself feeling very tapped out and unenthusiastic about code. The gap between student and actual developer felt immense and the pressure to find a job was crashing down all around me.
Luckily for me, Planet Argon loves interns and junior devs. Not because of free labor or because they are slightly masochistic, but because they have woven them into the fabric of their culture. They believe that having interns around brings a fresh perspective and keeps mid to junior devs more engaged.
What better way to affirm what you already know than to explain it to someone who does not? What better way to learn about the newest React.js trend than by bringing in someone who just learned about it 2 weeks ago? What better way to check documentation and README.MDs than by having fresh devs stumble through them?
I could keep going, but I think I have made it clear that I truly appreciated this (and it helped my self-esteem as a fresh dev). Once I settled in at Planet Argon, there were some things that I was surprised to find out/did not realize during code school. There were also some helpful tips and tricks I learned from devs that really helped me that I will also mention, but I will let you decide which is which...
Most devs don't build projects from the ground up!
Especially junior developers! Likely you will be barely working on more than a couple lines of code a day! This epiphany floored me after spending so many hours creating file structures in the command line to realize I probably will not have to do this again for a very long time (if ever). So maybe don't sweat this as much. Make a template.
Also, the projects you work on as an actual dev are very LARGE. I felt like some practices we learned in bootcamp did not make sense because we were learning them and using them on such small scale projects. Like Redux…who in their right mind would use Redux on a 3 component project?! Literally no one. Some of the small annoying things you may have to do for best practice's sake definitely start to make more sense when you see them on a 1500 file or more project. If you can get access to larger projects while in code school, this would also be helpful.
You will rarely be working on your own code.
Again, especially as a junior developer, you will probably be spending the majority of your time debugging or refactoring. I am almost angry now that I got no hands-on experience working with other people's code while in bootcamp. So if you can, grab a friend, throw some bugs into a project, and swap code with them. Open source code is another thing that I wish I would have learned about sooner (also great to have on a resume).
Take notes!!!
Document your successes, your failures, write out To-Do lists. Kayla Reopelle shared her note-taking habits with me, and it changed my life! She suggested Evernote to make your notes searchable and it has really helped me as a dev.
Commonly, you don't just run into a problem once, and it's great to be able to quickly reference it again when it comes up.
- How to take notes on bugs or problems (from Kayla Reopelle):
- Things that I know about what is currently happening
- Questions I have about why the bug is being raised
- Findings as I try to answers those questions
Devs ask for help.
Who knew?! They also get stuck, get frustrated, and are not perfect. They often use pair programming too. It is OK to not know everything. You literally can't! So it is important to stay humble, ask good questions, and ask for help. Employers are actually looking for this skill more so than technical coding skills.
Git happens … so practice!
Like more than you think you need to and in your own time. Make branches on your own project even if it seems silly. This was the hardest thing to acclimate to and is super scary on a massive real-life project. This tool is a great way to stay ahead of the game.
Vanilla Js is alive and well!
Maybe it's just me, but I walked away from code school feeling like I didn't actually know plain ol' Vanilla Javascript. We spent so much time on React.js and JQuery that I became over-reliant on those libraries for help. BUT most technical interviews use it in some form or another. Whiteboarding with friends and on my own has helped me solidify some of my knowledge here.
I didn't realize until recently that Edabit has a resources tab which gives possible solutions for problems. I try to do one problem a day and that has really helped (something I learned fromAtomic Habits by James Clear). There are also tons of videos on whiteboarding to be found on YouTube that have a lot of really great tips and tricks. A favorite: The REACTO method.
I will close by saying that I think I won the jackpot as far as internships go and that the title of this post could probably be changed to something along the lines of "What Being an Intern Teaches You that Coding Bootcamp Does Not…If Your Internship is Doing Things Right" but I truly hope that your internship experience will be as good as the one I had with Planet Argon (and if for some reason it turns out not to be, I can direct you to some of the other amazing blog posts on the Planet Argon page and maybe the Maintainable Podcast for some more direction).
I also encourage you to do an internship, if it's not already on your developer career path agenda. My internship experience helped "bridge the gap" between student and developer, and hopefully it will for you, too!