«

»

Jul
02

A beginning

Several weeks ago I began my first proper job in the field of my choosing.  I’ve been a productive member of society for a bit over a decade, mind you, but this is the job that I spent that decade telling my coworkers that I would do when I grew up.  I spent my free time after work reading books on computers and programming.  I spent a number of years between contracts at a community college, learning this craft.  I studied full-time at university for several more years.  I’ve been chapter president and a regional vice president of an honor society, served at several levels of student government, graduated thrice with high honors and made Dean’s List every semester I’ve been eligible for it at university.  I’ve glided through classes with ease, have been accepted into an accelerated Master’s program in my field, and was even honored by the ITEA with a scholarship in recognition of these, and many other achievements I’ve made.

Yet, after nearly a decade and a half of preparation, albeit around a decade of military service, I now find myself mostly harmless as a programmer.  These past three weeks, the first of my professional career, have taught me that I have been, thus far, woefully unprepared for working as a programmer.  My techniques are unsure, my book knowledge is spotty, I can whip up some amazing implementations of common algorithms just as a master bard would write a short sentence, but the rest of my writing would be better fit as part of a young children’s reader.  I find myself hammering out solutions to problems with as much delicacy as would Thor swat at a fly, and find myself having to repair the surrounding code in the same manner as he would with was left of his wall.

Don’t get me wrong about the quality of my education in this arena.  My university is an amazing environment for these studies. Many of the faculty are quite literally at the front of their fields; their names appearing in nearly every journal paper on the topic.  Our first semester, non-department, programming students wrote a game of Battleship with an AI opponent on a graphical interface.  Even after taking into account the simplicity of their implementations, the overall level of programming knowledge gained far surpasses what I would expect at any other institution.  But I find myself as prepared to go out into the world and ply my trade as would a kindergartner succeed as an artist after being told by their mother that their picture was beautiful.   I know how to draw some very complicated shapes, but the picture as a whole is mostly just random crayon lines.

I suppose, to borrow from a common series, I would be most like an 11-year old Draco Malfoy.  This is someone, I would imagine, had been highly educated on components of the magical world, and even allowed to play a little with some common incantations and some of the vehicles of the trade.  I can imagine that he would have been well indoctrinated with the culture of the wizard and had great amounts of experience seeing master wizards at work.  He would have been groomed for this lot in life, given the tools he needed to succeed.  But on his first day, he would, if even only to himself, realize that he was little more than a cheap sorcerer, able to conjure enough magic to prove to himself that he could.  His skill would have had some little formal training, but mainly would have been uncontrolled and as flighty as his emotional state; he would conjure spells that were wildly unpredictable and only through sheer force of will be able to control his craft enough to complete the task at hand.

Naturally, in the stories, the kids were all formally educated and learned not only to control their magic, but to wield it skillfully.  This is where I would change the classification from cheap sorcerer to wizard.  Right now, I feel like I’m a cheap sorcerer.  I’m able to scrawl out incantations in various magical languages, such as Lua, C, Objective-C, C++, C#, Java, Python, SQL.  I can even throw myself into a caffeine bender and go on a vision quest, where I wake up two days later and find cryptic writing all over my whiteboards and a program that seems to technically work.  This is the sort of thing that Dumbledore would have shaken his head at and walked off, disappointed.

I am purposing myself to achieve that higher level, to become a true wizard.  My goal is to be able to listen to a person’s problem, then recede into my study and prepare beautifully crafted solutions — not in terms of visual structure, but beautiful in terms of software elegance, versatility, and correctness.  I aim to use this blog as a scroll to record the progress, through insights, inquiries, code snippets, and advancements in my thinking and knowledge, to chart the progress of a two-bit sorcerer on his quest to become a powerful wizard.

And with that, the lethargy has ended and the age of awakening has begun.

- Kevin, Chaotic Sorcerer, Initiate Coder

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>