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.
So I'm done. That's it. Time to reflect on what I did and what can I do with it.
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)
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.
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?
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).
Now, well, I "know how to figure stuff out". Next steps for me are easy:
- Keeping improving on my coding skills by working on several different aspects (more to come as said above ;) )
- 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: