Hey there. Thanks for stopping by my blog. I’m still deciding what I’m going to do with this odd little corner of the internet. I want to document my journey from the very beginning, so that years from now when I’m a solid Ruby programmer *cough*, I can look back on all this and remember that I started from square 1. Going back to square 0 for a moment, I am coming from the background of being an Oracle DBA. Back in square -1, I spent 6 years as a help desk technician at a few different places. I gained a wealth of knowledge on a wide variety of things in those years. I became familiar with several operating systems and the gamut of personality types. I was an excellent help desk technician; a bit of a rare breed. No matter what the end user’s comfort level was with computers, they generally got off the phone with me feeling better than they did before they called. I had end users send me chocolate, small gifts and even flowers as tokens of gratitude for simply doing my job and not making them feel like an idiot in the process. I can’t say I really enjoyed that job, but I was good at it, and I learned a lot about myself in the process. Mainly, I was amazed at the level of patience and compassion that I had when dealing with strangers who called me in distress and frustration. Also, I am a very quick learner. And when I learn on the job, I have a high retention rate. Even more so when somebody is helping me along the way.
I worked all those years in the help desk, and refused promotions to management and any tracks that would get me closer to being a manager. Though I have good people skills and feel I could be a good manager, I’ve never wanted that. In my last job as a help desk tech, I had been there for a bit when they announced some new positions opening up. I remember seeing the proposed org chart on the video screen in an all-hands meeting. There was a box with a dashed outline containing the words “Jr. Oracle DBA.”
I lit up. That was my new job. Not just a ticket out of the help desk, but my way to change my career path from lifer help desk tech to something more challenging and satisfying. The “Junior” part of the title was very attractive to me. It implied that I would be just starting out and receive training. Also, presumably, there would be a Senior to my Junior. A mentor and an apprentice. Yes! I had been waiting and hoping for this opportunity for years. I always learn best when there is a mentor there to help point me in the right direction when I get stuck… who can explain in a couple sentences the things it would’ve taken me hours of painful research to figure out on my own. Somebody who I could learn from. Yes!!!
I was so determined to get that job. It was almost as if it had been created for me. I worked really hard and got the job. Hooray! Now what? When I started, there were two Senior level Oracle DBA’s. I figured I would report to one or both of them, or perhaps their boss. I was so excited, but didn’t know what to do. I thought they’d surely send me to some training classes. Something, right?! Wrong. No training. Just me hanging out with the senior DBA’s who had no better idea what to do with me than I knew what to do for them. I didn’t know where to start. I asked around a bit, and eventually was able to get my hands on some Oracle CBT’s. I installed those and started working through them. And that’s about all I did for the first month or so that I was in that position. They didn’t need me yet. I was only in that position because I had insisted on it. Nobody knew what to do with me, so I figured out how to make myself useful.
Nearly five years later, I am an Oracle and SQL Server DBA. I fought hard to keep from becoming the latter, but it was unavoidable at my current workplace. I’ve gotten pretty comfortable working with Oracle on Unix. I started out forcing myself to use the command line and to run my queries in sqlplus without a GUI. I like to learn things that way so I understand the nuts and bolts of what I’m doing before I get distracted by the pattern on the curtains and tablecloths. Now I use Toad for Oracle all the time. I feel alright about it, as long as I continue to know the SQL behind the slick interface.
Several months ago, I met a new friend who was passionate about Open Source and reignited my interest in it. At the time, I was still pretty comfortable on my career path. Though I was dissatisfied with the conditions at my current workplace, I felt the obvious next step for me was to become an Oracle DBA elsewhere. Over the following months, several things happened to change my mind. I worked with about 14 recruiters, and with each promising prospect, something always went awry. I felt I should genuinely make a go of improving my skills as a DBA. My workplace wouldn’t pay for training, of course, so I set out to really dig into Korn shell scripting and PL/SQL. My weakest area has always been scripting.
Over a decade ago, I got the bright idea to try programming in C+. It made no sense to me, whatsoever. And try as I might, I could not get my stupid “Hello World!” program to compile and run. I let that experience define me as somebody who could not code. I know. It is kind of sad. There are so many other languages out there I could’ve tried, and I’m sure one of them probably would’ve made more sense to me, but that’s how it went down. I developed a mental block around coding akin to my mental block with calculus. I did fine with math until I got to geometry. And most of the time in geometry, I just got caught up in the thought that I should understand it, because it was based in logic with all the proofs and theorems, and I tend to be a logical thinker. Anyway, once through that and back to algebra, all was well. And then… calculus. Brick wall.
And I have been stuck at that brick wall of “I can’t write code.” since then. *sigh*
A few months ago, that new friend introduced me to what would become a pervasive undercurrent in my life. He told me about Ruby, PostgreSQL, Linux and FreeBSD. He invited me to meetups and suggested books for me to read. The spark started there. But in the back of my mind was that pervasive thought; “I can’t write code.” However, my desire to continue in my career as a DBA began to wane. Every time I really tried to dig into more shell scripting, I backed away from it. I couldn’t stay motivated to learn more of it. Another part of that has been because of the 24/7 availability. I never wanted to be one of those people. Always attached to their Crackberry and laptop… But in the past four years, the only time I’ve been inaccessible to work was for a single week when I vacationed on Grand Cayman island. And that was because my phone didn’t have international coverage. Bliss. Suffice it to say, I am one of those people now. Every time I check my Crackberry to see what’s coming down the chute, another piece of me dies inside. I want my life back. And if something is going to be commanding that much of my time, it damn well better be something I’m passionate about.
Early last month, a life-changing event occurred. I completely hit the lottery of Twitter friends and lucked into going to JRubyConf. Though I was among many strangers, I felt like I had come home to my people. Rubyists just seem to get it in a different way than most of the IT folk I’ve been around for the 13 years or so I’ve been in the field. I was so inspired by the people I met there. I still can’t quite put it into words. That is a whole other set of blog posts. For now, I’ll say that after JRubyConf, I decided that I no longer wanted to pursue a career as an Oracle DBA. I want to work with Ruby. I want to be a part of the eclectic, robust and growing community of Rubyists. I’ve been reading The Pragmatic Programmer, The Passionate Programmer and Why’s (poignant) Guide to Ruby. This language makes sense to me. I am understanding it as I learn it, and I am enjoying it.
I’m at an awkward stage, though. I understand a lot more Ruby than I did just a month ago, but I’m still at the beginning of my journey. I very much want to get things up and running, but it’s not so much that I’m learning to walk before I run as it is that I’m learning to crawl before I can walk. This part is so frustrating and painful. If I hadn’t experienced how amazing the community is at JRubyConf, I probably would’ve given up by now and defaulted back to my “I can’t write code” comfort zone. I’m determined to keep going, though. I don’t know what I’ll be doing with Ruby, or what lies ahead for me along that path. I just know that’s the right direction for me to go in at this point. That’s good enough right now. I’d say “baby steps”, but it’s more like “baby wiggles” since I haven’t learned to crawl yet. I’ll get there, though. One wiggle at a time…