Six months after learning how to code: Advice to those thinking about learning it as well.
Six months ago, I began a coding bootcamp through Flatiron School as a software engineer. When I began, I had no experience at all, struggling to understand the concepts presented, let alone complete the labs assigned. I found that steadily, the concepts began to stick, and I was able to begin applying them in ways other than initially specified. I felt I was actually learning for the first time in years!
My second project was another chance to see if I had really picked up the next big skill from the course, React. I felt way less confident than I had when starting my first project. I chose yet again to do something familiar, you could even say more than familiar, as I chose to expand my first project. I made a more complex Pokemon app, including a Pokedex, a race mini-game, as well as the same battle mini-game as the first project. In addition, I made a favoriting system as well, that was used in each mini-game to select one of your favorites to use as your Pokemon. It all came together quite well, moreover, since I was simply expanding out on my previous idea, I was able to focus more on the React portion of work rather than coming up with an entirely new idea as well. Without a doubt, the two Pokemon projects I did to begin my project process, with Pokemon being quite familiar to me, made those real learning opportunities, allowing me to stretch and even redefine how I used certain methods or ideas Flatiron introduced me to.
For my next project, I was unsure of what to do. I had many ideas but the one that stuck was some hybrid of Candy Land and Mario Party. You would select your character, as well as the cpu characters. Then, one by one move around the board after rolling a six-sided die, trying to be the first to reach the castle at the end of the road. I am still quite proud of what I achieved with this project. Before beginning the in’s and out’s of coding it all, I had an idea of how to get the pieces to move around the board, without the need for using animations. I thought it could be a clever workaround (as my animation knowledge was and still is quite limited). As I laid the foundations for the project, I kept feeling anxious that my idea would not work, and that I would inevitably be stuck with a whole game laid out, and no moving pieces. To my surprise, it worked! Albeit not exactly how I initially intended, however it worked nonetheless. With some help from an instructor, We were successfully able to get the pieces moving around the board with the use of asynchronous promise objects. I had a big takeaway from this project, believe in your thoughts and ideas. I was so close to calling it off on the whole thing simply because I was unsure if my idea would work. Seeing it through and giving it a real shot is how I was able to create this project in full, exactly to the letter in terms of how it worked.
At last, after all my hard work, I had reached the final capstone project of the course. My goal was to create something that could show off the culmination of my learning from the past four months. I designed another simple mini-game, with many more features tagged along. In short, you began with an amount of money, with a simple goal, get more money. You achieved this through shopping in a store for ingredients, and using those ingredients to cook dishes, which in turn you can sell for more money! Although I did not foresee many issues with this setup, there were many. Initially the backend I created did not function as intended, delaying my progress right from the start. With each step forward, came a new unpredictable issue. Through troubleshooting, and getting a little help from other students and my instructor, we were able to sort each issue one at a time. This may have been one of the most important learning experiences I have had so far. Even though I thought there would be no big hurdles to climb for this project, there were many more than the others that came before it. Always remember to try solving one at a time, and eventually, you will have solved each and every problem you come across.
The projects I worked on during my time at Flatiron have taught me so many important things about software engineering. From the planning to implementation, I am, now more than ever, confident in my abilities to design web applications however I would like. Through the effortlessly functioning components or the roadblock errors that halt us in our tacks, there is always a solution, you just have to find it.