15 June, 2012

Rediscovering an old friend, Perl.

It has been over half a decade since I was paid to code in Perl, having since moved on to Python amongst other languages.  I use the past tense because this is all changing once again.  Due to circumstances that are almost entirely personal-life related, I find myself moving on from Yorn after the past fifteen months of doing great things with wonderful, intelligent and foward-thinking people.

After months over two months of screenings, phone interviews and an on-site meeting, I have accepted an offer as Production Lead Engineer at Fanatics, LLC at their Conshohocken, PA facility.  I'm going from working in a Python/Django environment for the past half decade plus into a more systems/internal middle-tier/core environment based on an old friend, Perl.   And despite some of the issues which led to this change, I'm wholeheartedly looking forward to it, and here's why.

As we grown our personal knowledge in a specific discipline, in this case programming languages, our perspectives and approaches mature.  When we step away from our comfort zone into some new experience (or language in this case) as I did professional when I moved on to Python as a requirement of Retail Expert Inc, CTO (at the time) Andrew Sernekos, I shifted mentally and learned the way of the Pythonista.  As the years progressed it became the 'one true way' of thinking, which was fine given that my language dictates were in-line with my choices and professional tasks.  I had put aside my TMTOWTDI (there's more than one way to do it) mantra from my Perl Monger/Perl Monkish days of yore.

Refreshing my skills back into the primary language through which more than half of my professional career was built, Perl, has opened my eyes in a way not previously possible.  The memories I had of Perl with its heavily flexible manner/varieties of expression had originally left a negative taste in my mouth but now having disciplined myself cutting through Python, Groovy, Scala and others has proven to expand my view of what Perl truly holds in terms of power.  With great power comes great responsibility and now with the modules from CPAN such as Moose and its derivatives (as an example), the future is looking quite fascinating again for me with a language that has been around now for 35 years.

Here's to the joys of the future and best wishes for the incredible team at Yorn as a sail on to my next contractual adventure.

08 January, 2012

Theorising vs. Doing

Over the past many years I've found myself slowly moving (in my personal projects) from the realm of actually implementing code about which I've been curious to spending my overwhelming majority of my free time to theorising about various concepts and/or interests, primarily in the field of human language parsing, simulation and simplification of generic real-world object modelling.  Several of these have been mentioned and explored in previous posts over the last 7 years.  

I believe a great reason for this change in focus is partially age, and primarily due to the extent that my days are focused on building the next great startup application.  We recently (as of the New Year) pushed the past eleven months worth of work into existence as our new primary (Python/Django) product replacing the previous multiple iterations of our legacy (Java) product.  The focus and scope of the project limited my ability to go off on tangents wherein I could code my personal projects freely.  This was by no legal hand binding, it was simply a matter of wanting to focus my writing to building our product to the level it needs to be, to the high standards we require (and rightfully so).  

This leave one (me, namely) with little actual time to thunk down in front of my primary workstation to commit theory to codebase, hence I've found myself working it out on handheld whiteboards, sketchpads,  napkins, chalk on the ground whilst playing with my daughter or even simply working these theories out in my head.  While I would like in many cases to put my thoughts into actual runnable logic, I've found that the exercise of stepping through theoretical code in my mind has kept me sharper regarding my thought processes.  True, I cannot share this as easily with friends afar, but given that many of my personal friends are also senior level engineers, discussing (when we do) casually my theories and ideas, they get the gist quickly.  

The point I'm trying to get across here is that while today is perceived as one wherein a bunch of 20 year olds either in or fresh-out-of college spend an obscene amount of hours in incubators or at startups killing themselves churning out ridiculous amounts of code, there is most definitely no slow down in the thinking processes of the more senior of us out there.  We just don't find a necessity it raw churning out of code as it is the concepts that drive the field and aid in future innovation.  Let those who wish to "do" continue to run their path, but lets not overlook the value of those who've moved their focus (whether by situation or by intention) to the more abstract realm of theory as the two are inextricably bound.  We need ensure that these two distinct groups of people are in contact with one another because it will ultimately lead to the newer advances, bettering our field for all involved.