Wednesday, June 13, 2018

Why you don't need a bootcamp

Why You Dont Need Bootcamps.md

Why you don’t need a bootcamp

A Boy and His IDE

It’s the middle of 2006, I am a teen boy who just got my third paycheque from my summer job and lord knows my bank account is begging me to finally put my money to use. There are a plethora of options for a young man without any bills to pay, but I already knew what I wanted.

I bought my first computer that weekend. In line at the shop I excitedly await the package, pumped to get home and finally strike out my own digital home on the machine. You see, up until this point I had been grounded in the world of the woeful shared ‘Family Computer’, an entity most of us 90s kids will fondly remember, most likely nestled in the corner of ones den or living room. Generally a simple machine, designed for browsing the internet and playing solitaire.

But your own laptop, that’s a very different realm. You can do whatever you want, configure it however you want. By god you could even set your own background! I was ecstatic and sure enough spent the entire night putting everything together just how I liked it.

And one of those steps was installing a program that today modern programmers are very familiar with. Visual Studio, at the time quite large in size for an IDE and almost monolithic compared to your usual programs. Downloading something on the scale of Gigabytes took a bit of time in the early 2000s, and up until that point I had not been able to install the software on the family computer due to its (significant) lack of capabilities to handle VS. Not to mention hard drive (or lack thereof) size.

But my shiney new laptop was more than capable, and by the end of that night I had a fresh install running and ready to go. The world was my oyster, I had no idea what I was doing, but I had no intention of letting that stop my ambition. Visual Basic, compared to Visual C++ and C# sounded like a good starting point. I had no idea what the difference was between the three that moment, but I mean, come on… it literally had ‘Basic’ in its name.

So I opened templates up and quickly set to work learning the UI, learning shortcuts, and by the end of the weekend I had my first windows form up running, which I proudly showed to my parents. They were quite impressed, and I kept it to myself how easy it actually was making a button do things. They didn’t need to know that part…

But slowly the novelty faded, and I found anything actually worth doing was challenging. Who would have thought programming was hard?

It Takes a Village

Now at this time the other large portion of my time was also spent on a very different, but equally consuming, past time. I won’t specify the name, but it was a moderately popular MMORPG of its time. It’s certainly not the first one that will come to your mind most likely, but it is probably the second or third.

As I played the game, now on my own machine (with the graphic settings turned up much higher now compared to the Family Computer I should note!), I slowly began to hear word of something very relevant to my interests. You see, as most MMOs come and go, one thing will stay constant. They often are packed chock full of monotonous, repetitive tasks. Tasks that could theoretically be easily automated… and are. Botting, hacking, cheating… What a wonderful world.

I was intrigued.

So I found the community for my game. And I found them to be quite the agreeable bunch. They were more than welcoming with outstretched arms to invite me into their little world. I spent the rest of that summer learning, no, devouring knowledge. By the end of that summer I was completely integrated into their (3rd party) public API, I was learning every inch, and eventually I proudly posted my own contribution.

It started out as something simple, a means for me to put my new skills to use. But it had my name on it and I never felt prouder.

And that’s when the comments started to roll in.

Purpose

At first they were pretty simple. Thanks from individuals who had used it, questions regarding documentation (which as a teenager I was admittedly poor at, of course). But then the real key to my progress appeared.

It was nothing big, just a small single post, a few sentences at most. An individual had used my software and was requesting a minor addition, to make it a little bit more useful. I considered the task, it would involve having to delve into areas I hadn’t touched yet, but had heard of. That night I put out version 1.0.1 of the program, with the minor update. This was of course after many hours of Googling, posting on forums and IRC asking for help, and a fair bit of cursing. But I got it.

And that user? Very happy with the update. But of course, once you show your flexibility as a developer, users are more than willing to continue.

More requests started rolling in. Slowly over the next few months my small little program that started as a flex of style suddenly was a pet project. The school year had started again and it was fall, but sitting in class I would sit and doodle ideas, UI layouts, and algorithm possibilities in my notebook.

Math became an intense subject for me, anytime the curriculum turned to a subject relevant to a problem I had been wrestling with in one of my projects (plural, did I mention that? Users had started asking me to make custom solutions for them and I was more than happy to!) I found my hand shooting up. The teachers were curious, some of my puzzling questions were very very specific. Bots in MMOs have to have some very particular trigonometry puzzles to solve you see.

Moving on

The cycle kept going for two more years. Visual Basic made way for C# and full .Net stack. I went to University and enrolled in Computer Sciences. And promptly realised a large portion of my courses were teaching me things I was already very familiar with years ago.

And none of the actually important topics for programming were being covered. So I dropped that after three years, switched degrees, took up an Education part time with the hopes of becoming a Math, Physics, and Comp Sci teacher at the High School level.

And the entire time, I was still integrating with and learning from Communities. I created a GitHub, started building a portfolio. I built a server, installed Arch Linux, learned how to use Jira, Bitbucket, and Bamboo. I got very very comfy with command line tools. Ran a Plex server connected to a Samba Share that I piped torrents off Deluge into. And I quietly applied to every single programming position I could find in my city (all while working a full time job as a line cook to pay the bills)

Then, 10 years after starting my journey, I got a phone call. A company I had applied to and went through their full hiring process with wanted an interview. They liked me. I got the job, and have been working there to date. Every day I pick up more and more skills, and I love every minute of it.

Takeaway

In the end, every step along the way, my process had one critical thing that a coding boot camp or hackathon will never truly give you.

Purpose to Intent. You can spend hundreds of hours banging your head against the wall for Math Puzzle #74 on <Website with a bunch of puzzles> but you’ll find within a few days you burn out.

You can work out your full stack and read all the books, but you’ll find very little sticks and its exhausting to keep going every day that goes by.

But you find yourself a community, you get yourself on some forums browsing feature requests for your baby, you get yourself some pull requests to review to your pet project, and you get yourself some issue reports to deal with on your branch…

Well you won’t ever feel like you have to force yourself to program ever again my friend, I assure you of it.

No comments:

Post a Comment