tag:blogger.com,1999:blog-7196789917521796381.post-16472975531839603532008-07-10T13:31:00.003-05:002008-07-26T08:24:34.683-05:002008-07-26T08:24:34.683-05:00Meme du Jour<span style="font-weight: bold;">How old were you when you started programming?</span><br /><br />8 years old, I think. My dad did Wang mainframe programming for <a href="http://en.wikipedia.org/wiki/Allis-Chalmers">Allis-Chalmers</a> and dragged me into the office on weekends <span class="blsp-spelling-corrected" id="SPELLING_ERROR_0">occasionally</span> and sat me at a terminal with some manuals. Mostly I liked to make the noisy giant green bar printer <span style="font-style: italic;">go, </span>as it were. However, I didn't get <span style="font-style: italic;">serious </span>until around 9 or 10 when Santa brought my family a Commodore-64.<br /><br /><span style="font-weight: bold;">How did you get started in programming?</span><br /><br />As a hobbyist <span class="blsp-spelling-error" id="SPELLING_ERROR_1">pre</span>-teen, I wrote all sorts of games and puzzles with the C-64. I even liked hacking existing <span class="blsp-spelling-error" id="SPELLING_ERROR_2">commercial</span> games. As a professional, it started for me when I was already doing Oracle <span class="blsp-spelling-error" id="SPELLING_ERROR_3">DBA</span> work, and it became obvious that somehow I was going to have to get my feet wet building things instead of just maintaining them.<br /><br /><span style="font-weight: bold;">What was the first real program you wrote?</span><br /><br />It was called <span class="blsp-spelling-error" id="SPELLING_ERROR_4">MamaJama</span>. It was a Microsoft Access application that used a <span class="blsp-spelling-error" id="SPELLING_ERROR_5">ODBC</span> connections to glue an Oracle database on a Solaris machine and a <span class="blsp-spelling-error" id="SPELLING_ERROR_6">RMS</span> database on a VAX. The RMS database was very old, very <span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">cryptic</span> and very <span class="blsp-spelling-corrected" id="SPELLING_ERROR_9">hierarchic</span>, tables with over ten thousand columns. The Oracle database structure was normalized, relational and useful. The VB developers of the company used the sanity of the Oracle database as the target of their coding, <span class="blsp-spelling-corrected" id="SPELLING_ERROR_10">oblivious</span> to <span class="blsp-spelling-corrected" id="SPELLING_ERROR_11">existence</span> of the VAX. Which was a good thing, because the VB developers couldn't spell VAX. The <span class="blsp-spelling-error" id="SPELLING_ERROR_12">MamaJama's</span> ran periodically to synchronize these two extremely different databases. To this day, I'm pretty sure there's no such similar software in <span class="blsp-spelling-corrected" id="SPELLING_ERROR_14">existence</span>, replicating a VAX's RMS database and a Solaris' Oracle database - but that could just be my own hubris assuming that.<br /><br />Pretty much everything I've ever done since has been a variation in degree or another off this basic theme, connecting shit up.<br /><br /><span style="font-weight: bold;">What languages have you used since you started programming?</span><br /><br />In chronological order: ROSCOE, C-64 BASIC, <span class="blsp-spelling-error" id="SPELLING_ERROR_15">QBASIC</span>, Visual Basic, Pascal, C, C++, PL/<span class="blsp-spelling-error" id="SPELLING_ERROR_16">SQL</span>, <span class="blsp-spelling-error" id="SPELLING_ERROR_17">Korn</span> Shell, <span class="blsp-spelling-error" id="SPELLING_ERROR_18">VBA</span>, Java, Python, <span class="blsp-spelling-error" id="SPELLING_ERROR_19">PHP</span>, Oracle Forms, C#, JavaScript<br /><br />This excludes the multitude of product-specific 4<span class="blsp-spelling-error" id="SPELLING_ERROR_20">GLs</span> (i.e., <span class="blsp-spelling-error" id="SPELLING_ERROR_21">Bendata</span> HEAT, <span class="blsp-spelling-error" id="SPELLING_ERROR_22">SalesLogix</span>, etc.) I've been forced to muddle through because of the short term job at hand.<br /><br /><span style="font-weight: bold;">What was your first professional programming gig?</span><br /><br />On the help desk at a mortgage bank, I was required on a sporadic and infrequent basis to <span style="font-style: italic;"><span class="blsp-spelling-error" id="SPELLING_ERROR_23">unstick</span> </span>the software system we used for trouble tickets. Unsticking required the execution of a single <span class="blsp-spelling-error" id="SPELLING_ERROR_24">SQL</span> update statement. I didn't know what it did, why it was required, or even a whisper of <span class="blsp-spelling-error" id="SPELLING_ERROR_25">SQL</span>.<br /><br />The reason I did the unsticking in the first place was that the staff <span class="blsp-spelling-error" id="SPELLING_ERROR_26">DBA</span> didn't want to even be bothered to do this once a month six-second task, so he installed the Oracle client on my PC, gave me the SYSTEM password, a script file containing this one <span class="blsp-spelling-error" id="SPELLING_ERROR_27">SQL</span> statement, and the three bullet-point instructions on how to execute it with <span class="blsp-spelling-error" id="SPELLING_ERROR_28">SQL</span>*Plus.<br /><br />After about a year of this arrangement, the <span class="blsp-spelling-error" id="SPELLING_ERROR_29">DBA</span> was quitting for greener pastures, or <span style="font-style: italic;">whatever. </span>His version of pass-down was to write on a piece of paper two things and hand it to me on his way out the door. He had written down our Oracle support identifier I'd need if I used the other bit, the 800 phone number to Oracle Global Support Services. I already had the SYSTEM password. What else could I possibly need?<br /><br />I think it took all of a week after his absence for something to go wrong in a part of the business that had nothing whatsoever to do with the help desk duties I performed. Possession of this piece of paper implicated me as the <span class="blsp-spelling-error" id="SPELLING_ERROR_30">de</span> facto <span class="blsp-spelling-error" id="SPELLING_ERROR_31">DBA</span> and that was that. After about a decade of belly fat accumulation and a million dollars earned and burnt to a crisp, here I am.<br /><br /><span style="font-weight: bold;">If you knew then what you know now, would you have started programming?</span><br /><br />Almost certainly not. If I wasn't such a complete pain in the ass who had to have it his way all the time as a punk kid, I would have pursued being a professor of <span style="font-style: italic;">who the hell cares</span> and gathered as much co-ed ass as I could have until it was time to be put out on the next ice flow.<br /><br /><span style="font-weight: bold;">If there is one thing you learned along the way that you would tell new developers, what would it be?</span><br /><br />Quit sucking so much. Quit crying so much. So many <span class="blsp-spelling-corrected" id="SPELLING_ERROR_32">developers</span> have zero clue what the alternative is, never having worked a truly miserable job their whole life.<div class="blogger-post-footer"><br/><br/>Copyright © 2008 Michael John O'Neill
<br/>Originally published: http://blog.crisatunity.com
<br/><br/>Find me:
<a href="http://blog.crisatunity.com">Crisatunity blog</a> |
<a href="http://www.new.facebook.com/profile.php?id=1177917682">Facebook</a> |
<a href="http://twitter.com/crisatunity">Twitter</a> |
<a href="http://friendfeed.com/crisatunity">FriendFeed</a></div>Crisatunityhttp://www.blogger.com/profile/11224068405843575576noreply@blogger.com