The Free Coding Boot Camp: How I Learned to Code in 6 Months

Tips on learning to code (for free) and how I took the plunge.

Surround yourself with those that are smarter than you.

I decided I would write this after attending my fourth hackathon. Honestly, the title is click-bait because I did not actually go to a free boot camp, but instead, took an alternative approach and did various projects in the span of six months with other hackers either attending established boot camps or pursuing a CS degree in college.

Last year, after graduation, I was happy to be done with school but still had a yearning to learn and gain more skills. I love tech and always wanted to code but up until then my experience included breaking WordPress themes in high school and manipulating the HTML and CSS of templates so that my Myspace profile was cute.

So, I did what any millennial with a college degree would do in the face of a problem, I googled: “how to learn to code”. I was hit with several, but great, resources like CodeAcademy(CA), MIT’s OpenCourseWare, FreeCodeCamp(FCC) — shout out to Quincy — Udemy, Treehouse, and everything in between. I tried watching videos but I wasn’t engaged. I like the environment FCC and CA had for coding but needed more in terms of varying project-types. I found myself lurking on forums in order to see what technical people were discussing. I needed to meet people IRL. Then I thought, “Where would a bunch of software engineers and developers meet?,” I mean, they had to go outside sometime. Then I realized, a hackathon. I searched for the next one in my city and instantly applied.

Here we go…

The Hackathon:

Hackathons are like coding boot camps in that you get to apply your knowledge with projects, but hackathons are held within a shorter amount of time, over the course of a weekend. Hackers from all over the state, and sometimes the nation, come together to build awesome applications with software and or hardware and compete for prizes. What is even better about hackathons is that they are FREE: the food, swag, and knowledge. I took the academic route and stumbled upon the Major League of Hacking’s site. (MLH is for college and recently graduated individuals like me so it was perfect)

My first hackathon was local and called ShellHacks at FIU. I did not have a team and I was also intimidated because of my lack of knowledge in computer science, but I decided to go anyway.

At my first hackathon

After the opening remarks, I was sitting alone and was approached by a student — a good friend now — to join her team and together we approached another student, soon to be fellow hacker, and friend. Instantly, I felt a rush. This was really happening. Even though I had a background in graphic design, I had to be honest with my team and let them know that I could barely write any code.

Does “Hello World” count?

They understood. The three of us split up the back-end and front-end of our application. A mentor from the school came up to us and told us it would be best to pair-program the front-end. I couldn’t really hard code anything so I was mostly there to observe. My pairing partner knew C++, along with other languages, but our web application would require JavaScript in which he also did not know much about. Thus, he was learning on the spot. Our other awesome teammate was a front-end ninja but she decided to tackle the back-end in MongoDB. So we were all learning something new.

It is one thing to get the theoretical knowledge in a traditional class setting but actually seeing the applications being built helped me learn best. The concepts are just that, concepts, and there has to be application in order to really understand — like taking a test.

I followed along as my partner set-up the environment in the terminal — I didn’t even know what the command line was — and he soon started to make the code dynamic with components in Javascript. I was learning with him as he was learning himself and I observed how he deduced the problems that arose. I was blown away. We would talk about the problems and he would challenge me to try it on my own.

I am forever grateful for how nice they were…

My teammates were able to place themselves out of their comfort zone and made me realize that this is possible, learning a couple of computer languages was doable.

During a hackathon, I notice that the speech of my peers includes more technical vocabulary. At a coding boot camp, the students are all relatively at the same level with the same limited knowledge-base.

The Finesse:

In addition to the actual hacking, there are workshops at these events. MIT, Stanford, [Insert amazing school here] graduates, senior developers, and experts come to teach their favorite framework, language, or tool to help you hack. These workshops are usually aimed towards beginners. The materials are open-source so you can follow along as if you were in a traditional class.

Need to learn how to set-up your environment? There’s a workshop.

Need to learn how to use Git? There’s a workshop.

Want to build a mobile app? There’s a Mobile Dev workshop in Swift.

Over the weekend these intelligent individuals are available to help you.

To summarize: I had an awesome team (like tutors), mentors (like teachers), and attended workshops (like classes). I was fortunate to have all of these resources available to me.

Now, if you are attending a hackathon to get a job, you can network. Recruiters from across the nation are there giving interviews on the spot. They will also be impressed if you use their company’s APIs for your team’s demo. In addition, you can form relationships with them and inquire about career opportunities, even without technical skills.

Pro: You can potentially have a first-degree introduction with someone at a company like Spotify, Facebook, and Microsoft.

They understand that CS students are a limited resource.

If you do not want a job but want to hack cool things with your friends, there are VC’s coming to see what students are working on (usually in VR/AR and blockchain) in order to intercept them early-on.

If startups are like established publications, these hackathons are like the forum Reddit, the underground community, where ideas are being exchanged and innovation is happening in real time. Overall, there are free resources, class structure, and career placement all in one weekend. If this was food it would be the “deconstructed coding boot camp” — which sounds much more clever in my head than it does out loud.

The Actual Learning:

The MLH season happens throughout the academic year. After ShellHacks, over the next few months, the crew and I went to three more hackathons, back-to-back, all over the state of Florida. Each time was a chance to test my knowledge, but the real work happens in between the hackathons. I had to do the “homework”. I had to read up on the documentation, build a mini app, watch tutorials, and validate an idea I wanted to build with the team before the next meetup. I saw each hackathon as an exam. After a couple of hackathons under my belt, I had a few projects that tracked my progress.

Once you start other opportunities arise.
“Learning to code” before I actually started learning.
Actually learning to code.

Step-by-Step:

All forms of learning to code are great, the more the merrier. Each style, whether it is getting a CS degree, self-teaching, or a attending boot camp is designed for different types of learners.

I went beyond my first time at a hackathon. If you are not a recent graduate I encourage you to go out into your community and look for a developer MeetUp, online or local hackathons (give money), or even coordinate your own ‘hack-weekend’ with a group of people.

In short, if you want to learn to code for little to no money:

  1. Get out of your comfort zone. You might not have money, but you have time.
  2. Go to any form of hacker meetup or developer circle and befriend devs.
  3. Focus on one language at a time (avoid frameworks early on…trust me).
  4. Go to the source and read the original documentation. Who wrote this language? They usually have the best explanations and tools.
  5. Try to code and or read the documentation at least a couple hours a week or one hour a day.
  6. Build something you like with your current skill-set. It does not have to be a full app (just back-end maybe).
  7. Stick to one learning path or resource because there are so many out there. If you are going to, do videos only, or FCC by itself. Avoid jumping around pathed-resources.
  8. Set goals and create your own syllabus — here me out — it helps to structure how YOU learn best.
  9. Join a Slack Channel like Code Buddies, but better if local.
  10. StackOverflow.

From my experience, the hacker community is very open about the transfer of information and sustaining an open-sourced culture. I understand that universities and coding schools need to make money, it is a business after all, but the actual knowledge itself should be free and is free for the most part. College taught me how to learn and apply strategies like the Feynman Technique in order to learn more efficiently. Teaching yourself to code (in a supportive community) will help you develop better problem-solving skills

Good luck, and enjoy the journey.

What’s Next:

I am currently reading up on JavaScript's documentation, taking a Python workshop, and building web apps. Follow me on my journey and stay up to date on projects I make live. Let’s learn together!

Connect with me via Twitter.