Login
A chronicle of the thoughts, learning experiences, ideas and actions of a tech junkie, .NET, JS and Mobile dev, aspiring entrepreneur, devout Christian and travel enthusiast.
Andela Bootcamp - What I learnt (Part 2)

As promised in my first post, this is the second and hopefully last part of the recounting of my Andela boot-camp days. To give a recap of my first post, the boot-camp lasted two weeks and covered a broad range of disciplines. In the first post, I covered Git, Programming Logic, Relationship Building, Questions, OOP (Object Oriented Programming), TDD (Test Driven Development), Writing Proficiency, Agile Programming and Feedback. This post aims to give a short synopsis on the second set of nine skills. Without further ado, let’s dive in.
Motivation and Commitment: It is common knowledge that for you to give your best to any task, you have to be first motivated and then committed to seeing it through. So we weren’t belabored with those during boot-camp. Instead what was discussed were the factors that affect our consistent motivation and commitment. As we discussed steps that could be taken to ensure we stay motivated for the entirety of any given project.
Speaking to be understood: Prior to boot-camp, I had always fancied myself as a pretty good public speaker, but some things I came across at boot-camp really challenged my concept of good public speaking. One of such concept challenges was that good public speaking is not about how well you feel you have delivered your message but how well your audience got the message you were trying to pass across. Also, converse to conventional wisdom, good public speaking is passing as much information in as few words as possible; the less you say, the more people remember.
Teams: There is a big chasm between knowing something, believing it and then acting it out. I have always that working in teams more often than not was better than working alone, but that knowledge had not translated into a belief for me as I prefer working on my own till boot-camp. In boot-camp, I was placed in a team and we were given a task involving git, and for the first time, I had to do my part and trust everyone else to do theirs. Since then, I have worked in teams and I’m still working in one and I have come to believe in and act out team dynamics.
HTTP and Web Services: This was about the most magical thing I discovered at boot-camp. Apart from the meaning of HTTP and knowledge that it was the protocol by which HTML pages are served, I have virtually no knowledge about the power of HTTP. During boot-camp, we were introduced to RESTful APIs and how they differ from SOAP. We were also taught how REST is powered by HTTP verbs (GET, POST, PUT, DELETE, and PATCH) [I might make a tutorial on this in the future, place a comment if you want one. I could do it in JavaScript or C#]. One of the given tasks was to design a simple website that consumes a web service of your choice. I chose open weather, got an API key and made what I considered then the most amazing app. The app displayed the weather data for any location entered.
Adaptability: Well, this was especially difficult for me and let me explain why. I have taught myself C# ( a statically typed language) and have made use of the language to solve nigh on every software problem I have encountered. Admittedly I used python for the home study curriculum, but at boot-camp, it was a JavaScript storm. For those who still don’t know what my beef could be, let me break it down. First, JavaScript is a dynamically typed language which means you don’t tell the interpreter what the type of data you’re is. Let me give an example; To define an integer in C#: int num = 12; To define the same number in JavaScript: var num = 12; To define a name in C#: string name = “Julius”; To do the same in JavaScript: var name = “Julius”;.
For me, JavaScripts’ lack of order was very disturbing. And you bet IntelliSense cannot work properly with a dynamic language. Also, all errors were discovered when I was running the program. Finally, the stack trace for JavaScript is just the worst. Now that I am done venting my spleen, I first learned to tolerate JavaScript, then I made my peace with it and now, I am actually not against it anymore. For a world-class developer, being able to adapt to any and every situation is crucial.
Front-end: During boot camp, we were only taught front end design briefly and theoretically but I got a first-hand experience with front end design when working on my final project. I learned that trying to reinvent the wheel especially regarding CSS is a very bad and time intensive choice. My advice for anyone is this, look for a CSS framework that will meet your basic needs and tweak it to meet your other needs.
Stack Specific Proficiency: I was so glad that I finally got to understand what the MEAN I had been hearing meant. MEAN is an alphabetism of MongoDB as the database, ExpressJS for routeing, AngularJS for front-end data-binding and manipulation and finally NodeJS for the back-end. This is known in programmer-speak as a full stack because knowledge of all elements of the stack means (pun intended) that you can build a website completely. MEAN is not the only JavaScript stack. There is the PREN stack which is an alphabetism of PostgreSQL as the database, ReactJS as the front-end framework, ExpressJS for routing and NodeJS as the back-end. Other languages also have their stacks and ASP.NET with SQL server is a full stack for a C# developer.
Growth: For a world-class developer, a constant desire to grow is a basic requirement. At boot camp, we were taught about the various mindsets and how they affect our growth and achieving our potentials.
Thanks for taking the time to read through this. If you are going for the boot-camp, don’t be afraid, don’t be cocky, be proactive in every activity. Just as a side note, I got in.
Comments