First, I must confess - I’m a QA and probably won’t become a developer soon. So you might wonder how I landed in Pilot Bootcamp Wrocław? Here's my story!
Well, I love creating new things, and because programming is a low-cost way to develop stuff, I always wanted to be able to code. I participated in Rails Girls Warsaw, completed a few online courses (which are difficult to get a lot out of - the internet can be a lonely place to learn), and despite having pushed some commits in my projects, I felt that my knowledge of the trade was too little for my liking. Additional programming skills would also help me become a better QA Specialist - I could break things more consciously - on purpose, rather than by accident.
With this in mind, I thought: what could be a better way to learn Ruby on Rails than sitting for 10 whole days coding, with actual mentors who can always be asked about the best solutions and can help clarify the unclear?
So I applied, got interviewed and was selected as a participant, along with 12 other people. I was over the moon, and I began wondering how to prepare for the experience. However, Emilia, the organiser, assured us that we all have some programming knowledge already, and it would be more than enough for Bootcamp.
We started each day with a short presentation introducing us to the tasks we were to be given that day. Then we coded, coded and coded some more! Sometimes until 9 PM! Time flies when you’re concentrating really hard on learning stuff that interests you.
Each participant had their own set of identical tasks - so it was individual work, but we shared ideas about solving them and explained concepts to each other (if you want to truly learn something - teach it!).
We didn’t have any lectures on theory, so when I saw the first tasks, I was like: where the heck should I even start?!
And this is how I learned about StackOverflow Driven Development & Google-Oriented Programming.
If you asked me what sources were the most helpful for developing my Bootcamp code, I’d say that for Ruby it was the official Ruby documentation (unsurprisingly). The rest consisted of figuring things out for myself, relying on my existing knowledge and asking Google the appropriate questions. However, I recommend paying a lot of attention to manipulating data stored in arrays, hashes and strings. In my opinion, the Codecademy Ruby course explains this very clearly, and I found that it even worked as a reference while programming - I knew just where to find the things I needed.
When it comes to the Ruby on Rails part, it gets trickier because the use cases become more complex and need a more individual approach - most of the time you won’t find any ready-to-use solutions on Stack Overflow.
The biggest help here were the Rails Guides, which cover all the basics needed for coding your own app. The second best source was the Rails Tutorial by Michael Hartl - the Bootcamp line of development was very similar to the outline of that book, so I recommend completing the tasks from it as well.
The third major source was, of course, Stack Overflow, alongside a huge number of blog posts I stumbled upon while searching for answers. I have to say - it still amazes me that people post all these solutions online, helping newbies like me. They are simple, of course, but they saved me a lot of frustration, tears and time.
Finally, I couldn’t do what I did without the mentors (read frequently asked questions about Ruby on Rails gathered by mentors from Netguru) who were there for us participants whenever we reached an impassable obstacle. It’s very important to be able to ask questions the moment they arise, directly to a living person, without losing “the flow”. Non-direct ways of asking questions, like Stack Overflow or other forums have the disadvantage of being time-consuming and patience straining. So, if you have any RoR developers in your neighbourhood, ask if they’re available for consultation. There’s a huge chance they will be - every developer was once a newbie and benefited from the knowledge of others.
I myself will certainly return the favour and become a mentor when I feel more confident in my coding endeavours!