3 weeks and I feel like my brain is going to blow up. It’s too much information, sometimes I feel like “OMG, I have no idea how to do this” and 5 minutes later I figure out that I can do it after trying. It sounds so obvious but the unknowing can be scary sometimes.
I was wondering this morning about how I would start this post because, as I said, it’s too much information in only 3 weeks but I’m so excited to tell everyone about the stuff I’ve learned. I’ve drafted some topics — my favourite ones — to focus my post on.
Last week was awesome. I could say it was my favourite so far. We had to develop our ideas, turn them into a project to be executed in 3 days, and finally present it. The project purpose was to work in pairs so we could do pair programming. It wasn’t the first time, we already had to do this before during the second week, and it has been shown to be an effective learning method.
Pair programming is basically when two developers work together on some project or task. One of them is the “driver” and the another one is called the “navigator”. The first is the one who takes the computer and is responsible for writing the code according to the navigator’s specifications. The navigator dictates instructions that the driver must follow. From time to time the positions are switched so that both devs can experience different perspectives. Besides that, the pairs talk to each other during the projects development, asking questions and discussing anything that is pertinent to the code’s development in order to optimize learning and coding skills.
My programming pair for this project, Ryan Sickle, was a great guy and I enjoyed working with him. His coding experience and the way he shared it with me contributed to my learning. … thanks a lot, Ryan! It was awesome working with you and I’m really proud of the project we’ve completed.
We made a terminal application in Ruby language, of which the main idea was reading recipes, such as its ingredients and steps, intended for at-home cooks. The idea is very simple, but developing it into code was a big and exciting challenge. It was fun! Even though knowing that our code could be simpler and probably improved from the functional point of view, the most valuable thing was geting the opportunity to successfully translate our thoughts into code and develop the logic of our idea.
Another important outcome with this project is related to GitHub’s workflow. We have been learning about this since bootcamp’s first week, but it’s much better to learn through practice. I still feel like a total beginner when it comes to GitHub’s website, but now I understand the logic of its workflow. Of course there are still a lot of things about GitHub to learn and I’ll plan to get better through practice. But for a beginner with a general understanding between git init, add, commit, push, pull, master and branches…well, I can say it was a good start. By the way, for anyone who wants to see more about our first project on GitHub’s website, here is the link for the repo.
One more thing that I would like to highlight are some tools we used during the project’s development. We had some classes talking about project management and its tools during the second week of bootcamp, and then we had the opportunity to use them last week. Trello is my favourite one! Not only because it has a cute and cool interface, but also due to the versatility that it allows me when it comes to organizing everything according to my preferences and to manage my activities or projects in a practical and adaptable way indifferent situations. For last week’s project, we created a Trello board with some lists to guide us along. Below you can see a screenshot of our project’s board:
We also used Slack when we needed to communicate with each other, to send images, or any other necessary information. And actually this tool was used everyday by us, including bootcamp’s students and educators. It’s very useful and facilitates communication in teams — hence why is used by so many companies in whole world.
One last thing: gems! We decided to look for open source libraries and use them in our project. This is another thing that Ryan taught me…how to search for it and how it works. So we used Kaggle’s website and found a json file containing all the recipe data we needed to input in our code and run it. We also used a rainbow gem to make our code coloured and a terminal-table gem to build some needed tables. So basically gems are data libraries containing a reusable collection of files with a name and version that you can install and use in your code.
Finally…after 3 weeks of coding bootcamp and a first project, I would like to share 3 important things that I’ve learned.
➢ Try it! And try it. Now try it again.
It looks obvious, but it’s not. Since I started learning to code, I frequently think about the possibilities or solutions for some problems or exercises. I catch myself wondering about certain solutions for a problem. So I type something, then delete it, and then type it again and delete it again…but wait. Why?! The goal is not to get it right on the first try. No now I’ve started to risk more on through my own attempts to make the code run, no matter if the solution seems overly complicated or wrong…TRY IT is the key.
➢ Plan it.
You can achieve a goal with no plan. But the path becomes easier when you plan your steps. Last week showed me this and we luckily had so many planning/management tools. We needed to use them and gain practice so that each time we use them, we can improve the next time.
➢ Document it.
I had no idea about how to do that before last week, about how to start documentation. After seeing Ryan do this, I’ve learned a little bit about it. More than that, I’ve come to understand the importance about documenting, as it allows anyone reading your code to understand it. Comments and well-written documentation are both important and essential.
I would like to tell you some another things about the last 3 weeks, but that is enough for now. See you next time! 🙂