Interesting tools I Encountered During My Preparation for Andela Boot-camp

Woow..so if you have been following me since the first day of the boot-camp, i would love to say thank you. Just in case u haven’t, i talked about the challenge that changed my mindset and reflection on Andela EPIC values. Be sure to check them out.

Before i begin to tell you about all the amazing tools i have come across during my preparation, i would like you to understand why these tools seem interesting to me even if you may think there’s nothing amazing about what they do.

Before the bootcamp

Before i heard anything about Andela, i was just a fresh graduate hungry for practical knowledge in computer programming after the theoretical bombardments faced in school today. My search finally led me to Andela’s website where i saw a button that said “become a developer” and from the information i gathered, becoming a developer at Andela doesn’t cost a single penny.

“How i felt when i found andela” by rawpixel on Unsplash

I could not join andela immediately because i had to complete a compulsary 1 year program (N.Y.S.C) for graduates in Nigeria.

I told myself i am going to andela bootcamp at the end of the year no matter what. At this point in my life, i didn’t even know what a div tag is. My preparation for andela bootcamp started before i even took the first test.

Discovering amazing tools

“woman lifting both hands while facing body of water and mountain” by Gianna Trewavas on Unsplash

I started downloading books about HTML and CSS because i watched a video that stated those were the basics for any web developer. whether Backend developer, Frontend developer or a Fullstack developer.

As i continued my search for how to learn Web development, i encountered the first amazing tool.

1.freecodecamp

freecodecamp helps people learn to code for free. They accomplish this by creating thousands of videos, articles, and interactive coding lessons — all freely available to the public.Freecodecamp also have thousands of freeCodeCamp study groups around the world.The amazing thing about this tool for me then was the fact that i could write something in the black area (what i called it then instead of editor) and see the result on the other side.It was amazing. thank you freecodecamp.

2. Browser Console

The console is the second tool that fascinated me. I just started learning javascript then. I never knew there was a place where all these text i could not understand were written and i could even write mine. That was amazing for me.

3. Text editors

As i continued learning i tried different text editors

  1. Notepad (yes notepad)
  2. Notepad++
  3. Atom
  4. Sublime text

and finally, the one and only VISUAL STUDIO CODE!!!!!!!!

How i felt when i met visual studio code

During my journey with programming, i learnt from a youtube channel (learncodeacademy) that command line knowledge is one of the major skills a developer needs, so i started learning basic commands and then i found out visual studio code has inbuilt command line. I fell in love.

4. Git and GitHub

Git is a version-control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source-code management in software development, but it can be used to keep track of changes in any set of files.

GitHub is a web-based hosting service for version control using Git. It is mostly used for computer code. It offers all of the distributed version control and source code management functionality of Git as well as adding its own features.

These two are actually different things and it took me a long time beforei realized that also. This link might be of great help with that.

After all these, i took all the online tests with Andela online,i travelled down to lagos from port harcourt for on site interview and i was finally called for the bootcamp. Dream come true right. This was my end of the year goal and by God’s grace, I did it. We were sent a project to work on and then a bunch of new tools i have never heard of were introduced. I became overwhelmed, believe me and the only one i am actually almost completely comfortable with now is Babel. As for the rest, i know as time goes on, i will begin to understand them as much as possible. Here they come..

5. Babel

Babel or Babel.js is a free and open-source JavaScript compiler and configurable transpiler used in web development. I like the part where people describe it as a tool that allows us use next generation JavaScript, today.

6. ESLint , Airbnb style Guide

Before driving straight to what ESLint is we need to understand somethings like Lint and Linting.

Linting is the process of running a program that will analyse code for potential errors.
lint was the name originally given to a particular program that flagged some suspicious and non-portable constructs (likely to be bugs) in C language source code. The term is now applied generically to tools that flag suspicious usage in software written in any computer language.

ESLint is an open source project originally created by Nicholas C. Zakas in June 2013. Its goal is to provide a pluggable linting utility for JavaScript.

Airbnb JavaScript Style Guide

A mostly reasonable approach to JavaScript

Airbnb has one of the most popular JavaScript style guides on the internet. It covers nearly every aspect of JavaScript as well.

You can view Airbnb’s style guide on GitHub.

Go to Source

7. Test Driven Development

Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.

Tools that help with test driven development include

a. Mocha

Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub.

b. Jest

c. Chai

d. Jasmine

The whole idea of writing tests for your code is something i haven’t still tried my hands on it till date but believe me, the next time i am writing something about TDD, i’ll be telling you how awesome it is.

Finally, Writing this post just made me realize how relentless i have worked to come this far in 10 months. I can’t even possibly imagine where i would be in the next 2 years if i continue to allow myself learn, unlearn and relearn. Just as the console doesn’t look like jargon to me anymore and the screen of the command line interface doesn’t scare me anymore, maybe i will become a core contributor to one of these open source projects. Remember the name.

-Ibrahim Alausa