What did I learn during a coding bootcamp
Tags: firstpost, beginners, bootcamp, bechev
Published: 2018-09-30 18:58:15

---
title: What did I learn during a coding bootcamp
published: true
description: What did I learn during my bootcamp?
tags: first post, beginner, bootcamp, bechev
---

_Note: This article is the second part of a previous article. You should start by reading the first part which comes back on why I attended a bootcamp. [Please find it here](https://dev.to/bechev/why-i-attended-a-coding-bootcamp-49hc)._


So I'm done. That's it. Time to reflect on what I did and what can I do with it.

###__What did I learn?__

This one is easy! I learned some programing languages: __Ruby, Javascript, HTML, CSS, SQL, React__. But I also learned some frameworks: __Ruby on rails, ActiveRecord, Bootstrap, Redux, Sinatra,__ etc...

___Is it that easy though?___ No. I learned much more. Reflecting on those 8 months, I can now say that I learned much more than just some technical skills. If I want to sum it up, I would classify my learning in 3 different buckets:
- Technical skills (the obvious)
- Programming Mindset (the must-have)
- Personal strengths and weaknesses (the cherry on top of the cake)

####Technical skills
As briefly mentioned, during the bootcamp, I learned a bunch of different programming languages and frameworks. I, however, believe that this might be the less important part of the curriculum. 
The most important concept of curriculum is the learning path: __learn from the ground up__. From the lowest level to the highest which aim at explaining how everything works.  
To illustrate that, ___one simple example___: 
    In ruby, what does `attr_accessor :name` do? Well, it's important to know that under the hood, this simple line of code actually provides two methods:

            def name=(name) 
                @name = name 
            end

            def name
               @name
            end


The entire curriculum works this way -  __we start by building the lower level functionality to introduce higher-level ways of doing things such as frameworks__. There are multiple benefits to this approach but the biggest one is that by doing so, you understand how everything works together and allows you to be __much more creative when programming__. This is critical as this is what programming is. You leverage pieces of code wrote by other programmers. While it is possible to leverage them without understanding how it works under the hood, having this understanding helps tremendously. This is a first glimpse in the _programming mindset_.


####Programming Mindset
The bootcamp promote ___problem-solving___ through multiple projects, where you have to "make things work". This, ___combined to the ground-up approach,___ without explicitly saying it ___gives a programming mindset.___
While I'm still a beginner, I understand there are two big phases to learning to program. Understand how it works by leveraging pieces of codes built by others and then, take off the training wheels, and start building new stuff.

I strongly believe that both the problem-solving skills and the deep understanding of the logic of codings are key to be able to keep growing. One will understand that ___learning to code is actually learning how to figure out stuff.___ 
For that, you need a technical background to understand the technology and problem-solving capabilities to add to what already exists.

Very tied to the technical knowledge, I believe the bootcamp also brings an understanding of why ___best practices and conventions are key___, when developing alone, but even more as part of a team. _Who said missing an "s" (or having an extra one...) could have a lot of consequences when using ActiveRecord?_

####Personal strengths and weaknesses
Finally, during the process, I learned a lot about myself. I won't get into too much details here as that's not really the purpose, but that was an important one.
I used to think I was fairly advanced in programming because I was "first in class" of a non-programmer class... The first thing I understood is how little I know... ___I basically know...___ __NOTHING__. But that's ok. ___I have the rest of my life to learn.___
For that I will try to develop habits to keep improving _(more to come in a dedicated article)._

###__And so now, what?__

Now, well, I "know how to figure stuff out". Next steps for me are easy:
1. __Keeping improving on my coding skills__ by working on several different aspects (more to come as said above ;) )
2. __Explore what exists and find what I want to focus on__. The cool part about coding is that it allows you to do so much different things. Web-development, Game development, Blockchain, AI, Digital art, Data analysis and visualization.
I already know I love programming, know I want to know what I love programming. I will more than definitely keep you updated on my progress on those aspects!


Thanks for reading!

Feel free to follow me on:
- [Instagram](https://www.instagram.com/bechev_/)
- [Twitter](https://twitter.com/bechev?lang=en)