Saturday, May 28, 2005

Back When I Was Fab…..

I had a friend who used to say that a lot. He’d been the drummer in a fairly successful rock band at one point in his life (The Todd Hobin Band for those of you who might know it), Sometimes when we’d be discussing life, love and careers over a cold one, as if to place a point in time he’d say “Back when I (or sometimes ‘we’) was fab…” and go on to relate something that had happened to illustrate a point.

Shawn’s another one of those folks I miss from the days in Upstate NY… he almost always made me smile, often think, and in general we’d talk about things not ‘business’ related, which, at the time for me, was a very good thing. We both stopped at a local pub called the “Euclid Hotel” in Clay, NY after work to have a couple of cold ones and relax a bit from the work day before going home. We rarely stayed more than an hour, but, that time let us transition from our ‘business’ persona, to the one we needed at home.

I’ve been thinking a lot lately, and have come to realize I’ve found myself saying those same words, at times, these days myself.

A one point in my ‘computer career’ I had visions of glory, enormous success, fame and fortune a la Bill Gates (so I could measure my wealth in “Gatesian Units” and everything). In looking back, I’ve come to realize that while the money was never there, there was success all the same. However, at the time, I measured success in simple monetary terms. As in, if I didn’t have more money than I knew what to do with, I wasn’t successful, yet.

I was re-reading a short piece my friend Greg had written (a while back) the other day (You can find it here or here) entitled ‘A Hot Dog in Las Vegas’. It’s been several years since he started that piece, intended originally to chronicle our trip to ‘Comdex’. That show was the ‘Mecca’ of all things computer in those days, the show of shows, where the elite gathered to show off their wares and exchange ideas with their peers.

It didn’t really turn out as we’d intended. Oh, we got some new customers, had a major software firm attempt to buy our code to include in their applications and in general had a pretty good time, but there was no ‘brass ring’ to grab. No launching pad to the next level, and no one really wanted to hear about our new ‘process’.

Programming, specifically application programming is an art, not a science. I say that because I could teach you everything I know about writing programs, and it’s entirely possible you’d never be able to actually develop applications. I see it much like learning to play a musical instrument. I practiced guitar for many years, learned cords, proper string picking techniques, pace and rhythm, yet, while I became very adept at the mechanics of playing guitar, I never was able to actually make music.

I could play the notes just fine; it’s just that, well it was just that, notes, not music. Some people are artists with a musical instrument, others, simply are not, I was not.

Programming is much like that. There’s an interaction, a relationship between each and every component of an application. To really function well, they need to be complimentary, have a certain rhythm, to fit together and flow, if the application is to work, and be an enjoyable experience for the person using it.

That flow, is what, in my mind, distinguishes a ‘programmer’, from a ‘coder’. I don’t know how to teach that, I don’t know if it can be taught, maybe, like music it’s one of those things you either can, or can not do. I don’t really know. I do know however, that there are far more ‘coders’ out there than programmers, despite their job title, just like there are far more ‘players’ than musicians.

We’d (Greg and I) developed a process that really changed the way programming could be done. We’d taken ‘things’, anything you could name, and turned them into what I’d termed ‘Meta Objects’. I also coined the term ‘Meta Object Oriented Programming’ to describe what we’d developed.

In short, what we’d done was to remove the ‘knowledge’ from the program, the ‘business rules’ as they’d call it today and externalize them by placing them in a database (oh, wait, they call it the ‘Data Warehouse’ or ‘Data Store’ today).

Anyway, needless to say we were pretty excited about this as it was the culmination of several years of thought on both our parts (so much so we each like to claim ‘inventing’ it).

It was in this time period that I feel I’d actually achieved ‘Fab’ status. I was getting referrals from all over the country, even Microsoft, for a time, would refer folks looking for FoxPro help my way. I was feeling pretty damn popular!!

Things fell apart after that Comdex show however, I was pretty much ‘out of money’ and had returned to contract work to pay the bills and get out of debt.

The process served me well though. I got involved with a project for USAir that involved processing the ‘Call Accounting’ records for payroll purposes for all of their reservation centers around the country. The application I wrote for them was entirely ‘Meta Object’ driven. Now this was all the way back in 1998 (a lifetime in computer terms) and what I did for them was truly one of my finest pieces of work.

I got the best compliment of my life a year or so later when a fellow they’d hired called to ask me how it all worked. As I explained the process, how each rule for a particular call accounting ‘item’ (‘event’ we’d call it today) was assembled from the store of all the possible rules based on the criteria associated with it, he stopped me and said:

“You mean, I change what’s in the database, and that will change how the program actually processes things?”

As I told him yes, and proceeded to walk him though the rules editor, how to change a rule, change the order in which rules processed or the conditions under which they’d actually be applied or ignored, he stopped me again and said:

“This is amazing… I can do what they’ve asked me to do without actually modifying the ‘program’!!”

Finally, someone other than Greg or I, actually saw the potential this process had, I felt we’d been ‘validated’.

A year or so after that, this same guy called me again, letting me know he had been instructed, under corporate mandate to port the application to Visual Basic (more on the ‘language wars’ in a future post) and was concerned about finding a way to take what I’d done and move it to a new platform.

I explained how to access the existing data (in FoxPro tables) from within VB, and that it was possible, not impossible. He thanked me, and (presumably) went about the conversion process.

It was this time, that in my mind anyway “We was Fab”, we’d done something others had only talked about, and at a level beyond where they had even talked about it. I’d implemented it, in a major corporation, in a way that the fellow that followed me was able to continue using, and (again presumably) even take to another platform.

I’m on my way back to being ‘Fab’ again these days. In the past 6-8 months I’ve done more new and exciting things than I had in the previous 6-7 years. Why? Change of environment, change of pace, changes in the way the work I do is being looked at daily.

Even though I’m not truly ‘self’ employed, the environment is one that ‘feels’ entrepreneurial. I’m encouraged to find new ways to solve problems, thanked (can you believe that?) when I do and in general made to feel that my contributions are appreciated.

So maybe, just maybe, I was ‘Fab’ all the time. There just wasn’t any feedback letting me know that. Like Shawn, nothing in me had changed, just my current surroundings and situation. Shawn was still a great drummer; he’d just lost the ‘crowd’ and that regular feedback. (He was a great guy too, loved his wife, his kids, his family and they loved him).

So, the point… I know… I took too long getting here… Maybe, it’s not the voices of others we should be listening to, when choosing to decide our current spot in life. But instead to look inside ourselves, and decide. Decide for ourselves if what we’re doing in/with our lives is ‘Fab’, or not.

I believe, that deep down, we really know. I know I’m often not willing to admit that to myself. That if I admit I’m doing ‘great’ things I’m being narcissistic, or conversely if I’m too critical of myself I’m being self-defeating…

How much better would we all be, if we could truly draw our fabulous-ness, from within, and not from external sources?

Ok… that’s it for today… As always, your thoughts, comments, impressions, etc. are welcomed and encouraged!

Thanks again for reading.

10 comments:

Firehawk said...

Bill,

I was thinking of the George Harrison song the whole time I was reading that.

Each person has a period (one would hope) in his life when everything seems to be working, when the things he does are manifestly appreciated by others. When you're uncomfortable, or feeling like nothing you're doing is getting through to people, you tend to look back on those times, whether it's a great band you played in, or when you were the Big Man On Campus in high school or college, or when you had a really great job.

It's tempting to look at external things to validate your existence, but if you can look down at yourself and feel confident that you're where you should be, doing what you want, then you're pretty darned fab.

Only a tiny fraction of the populace gets to be so rich or famous that other people percieve them as being fab, but really, you can have other people's perception of you in one hand and a rotten bananna peel in the other, and you can guess which one is more tangible. Glory is fleeting. A quieter happiness has a chance to last us longer.

Trevor Record said...

I know how to play guitar, bass, trumpet, trombone, several other minor brass instruments, and very poor piano..... and I still don't know how to make music.

Ilene said...

In answer to Trevor, but perhaps it wasn't a question!!! Remember this you don't make music - you are music - it is the essence of your soul - just look within and flow with it.

Karyn Lyndon said...

Come on, Bill...we try to let you know you're fabulous all the time...and smart too!

Bill said...

Firehawk: I just re-read the post and I'd intended to put something in the beginning about “with apologies to George Harrison”… I guess I forgot… interestingly enough… I used to think about that every time Shawn said it! I believe you’re 100% right, the ‘fab’ thing has to come from inside, if it’s ever to really have value. Money, is definitely not the right measuring stick either!

Trevor: But from what little you’ve told me, I sense you know exactly what I’m talking about with respect to software!

Ilene: Welcome back! I know, but the kind of music that flows in my soul, I was never able to express with an instrument, despite trying desperately to do so. I had to find an alternative means. 

Karyn: Yes, you do… and I truly appreciate it!

When I say that the folks who stop by here, read my posts and take the time to leave me with their thoughts, is extremely gratifying to me, I’m being 100% honest. Starting this blog, posting my ponderings and having people enjoy them is one of the nicest experiences of my life. (No BS, just a fact.)

Spirit Of Owl said...

Odd. Truly weird. I can't even remember how I came to your blog, Bill, but wow. This is odd.

Here it is. I used to be a drummer. I used to be fab. My god, I did rocking TV, radio, and stadiums. Drummers though, well - it's all wage. But let me tell you, it was fab. Fab while it lasted.

And now - now I am now an unemployed computer programmer. But, I'm a good computer programmer, Bill. Maybe you know what I'm getting at..?

Anyway, there is so much I'd like to say, but for now, I'll limit myself to this: Weird, wow, and wonderful post.

Bill said...

Spirit of Owl, if I can ask, what language(s) do you use?

That aside, I do know what you mean... it's a different feeling when 'all the world loves you'... One of the things I feel very fortunate about is the fact that I'm *fab* at home these days!!

If you'd like, drop me an email, maybe we could collaborate on something 'puter related... who knows?

Spirit Of Owl said...

Wuuurrrl, I taught myself Z80 assembler when I was a teenager for the Sinclair computers, which was great. Of course, I have NO desire whatsoever to touch assembler language now! I'm a basically a C/C++ programmer, with of course the trusty Visual Basic.

I find a lot of stuff I've done recently has revolved around the web "languages" (Java, PHP, ASP, JavaScript, HTML, XML, CSS). I design relational databases, I know my object oriented from my many-to-many, my SQL from my query, but amazingly and sadly I've never worked on the proper platforms. It seems to have just been that way, but all my designs so far have been housed in the likes of Access and MySQL. <*sniff*> LOL

Bill said...

We’ve had a similar road, Z80 assembler, BASIC yadda-yadda-yadda… All us ‘geeks have the same path it seems :grin:

I just got into it all at a later age than most as I was in my late 20’s, early 30’s when all of this hit..

I’ve been playing with ASP.Net lately, and if I can ever get my MS-SQL server (on a remote ISP) to actually authenticate my pages I intend to shift everything from Frontpage to ASP.

I know what you mean about ‘platforms’, as much as they seem to change it’s almost impossible to be on the ‘right’ platform, especially when you’re looking to change jobs!!

And.. by the way… MySQL is becoming a fairly mainstream product. (Access though… I’ll forgive ya… but what were you thinking!! :LOL: )

Spirit Of Owl said...

Access - don't blame me, it's all the bloody client's fault... LOL