Feeling The Boot in Boot Camp

I just sat and stared. Blank. With an expression on my face exactly like the one on the cat’s face above. Build a shopping-list app in 2 weeks? Use frames like React.js and Flask? Create a wireframe? UML? Had I opened a foreign site by mistake and forgotten to switch Google Translate on? Somewhere in the sea of oblivion that was my mind, a thought quickly flashed. It was almost instantaneous, gone almost as soon as it had appeared, like a light bulb that is turned on and off before you mind even registers there’s a light. But I caught it before it disappeared. It was 3 words: Baptism. By. Fire.

I started to learn programming a little over 2 months ago. At the time I really had no knowledge of what programming was all about. I didn’t have much interest either. I thought programmers led boring lives, like accountants. Did an accountant just look for the dislike button? Okay I thought they led boring lives, period. I decided to learn because I wanted to make a trading algorithm. I was deep into the financial markets at the time and I thought having a working knowledge of programming would give me an edge. That was the plan, at least until I dived in and realized what I’d been missing all my life.

So the past 2 months have been an adventure for me. A little reading here, a little coding there… Always incrementally. No matter how small they are I have made sure to take a few steps every day to increase my skills. But it was always bite-size portions and always at a comfortable pace. Nothing like the bombshell Andela’s boot-camp threw at me. I realized there is still so much more to learn. It’s not enough to just know a few tricks. I guess being able to write a function that can take a word and change the first letter to uppercase doesn’t make one a programmer. There’s a lot more. A lot more.

My first major challenge was how to git Git (pun intended). I’d certainly heard of GitHub before, but I put it down to just another form of sharing site for coders. Learning git made it finally dawn on me how important version control is. It’s like being able to save a document by saving only the parts you change. That way, you can always go back to how everything was before all the changes. You don’t have to deal with all the overwriting and having to save different versions. ‘Master’, ‘branch’; these terms are very relevant to what Git represents.

Your project is a tree and, while the branches that sprout on the way up are important, you always want to have the convenience of going back to the main stem. When you’re satisfied enough with a change that you think it should be on the main stem, you can merge the two and do that overwrite; but only when you’re satisfied. That is control. I know, I tried very hard to make it sound profound, but it’s all easier said than done. The seed needs to be planted in the right spot. You have to know some magic words to make it sprout. Get the magic words wrong and Git will have you scratching your head so hard it will make lice look like rookies. On top of that you have to take a picture of this tree and put it in a box where your friends can see the progress of its growth. Every time you make a change, you take a picture and put it in the box, with a nice little caption that your friends can make sense of. And no, no emoji allowed. In the end, I gathered just enough to create a repository and commit a little txt document which I then pushed to my GitHub. I also learned just enough to say words like ‘commit’ and ‘push’ without automatically thinking of marriage and birth-giving. I’m proud of myself.

Git was by far the toughest thing I faced today. Opening a pivotal tracker account and setting up a project was like baby food in comparison to the tough game meat of Git. After a few backs and forths with my Learning Facilitator (LFA) I got it right. That was about it for me today.

The day might have been relatively easy, but Git and Pivotal Tracker weren’t what gave me the confused cat-face above to be honest. I still have to learn enough HTML and CSS to create prototypes of different pages for my app. I have to create UML diagrams, and I have to make wireframes (without actual wires and frames). And that’s just challenge 1!

It’s going to be a tough week ahead. For a total beginner, it’s no different to a culture-shock. I have to re-evaluate my paradigms and learn new things. But that’s one of the things that made me fall in love with programming in the first place. Looking back, this isn’t a far-cry from my experience when I first started learning. So many languages and career trajectories, not knowing where to start… I managed, though. I took that first tentative step. And then I took the next. And the next. And now I’m in deep. It’s still overwhelming, but at least it doesn’t look impossible. Bootcamp is just another road on my route. The first step is all it takes.

“I am neither especially clever nor especially gifted. I am only very, very curious.” — Albert Einstein