Lone Star Developer

This is about me and my quest for, er... greater things in life? Good food, good drinks, friends and family and my eternal quest to figure out what I want to do when I grow up. (hint: it's probably going to involve code)

Friday, February 26, 2010

Finding your voice

Who are you? What are you all about? What makes you tick? Why should people care about you, professionally speaking?

This is what your entire career success boils down to. The more you can answer those questions, the bigger your chance of success.

I've been playing catch-up all my life. Since I was in high school, all I did was learn what the cool kids had managed to learn the year before. I'd copy their code, mimic their environment, duplicate their cool features. Later on, in my first job, I introduced .Net at work, 4 years late! When I finally moved to C# 2.0, it was already 2007 and Visual Studio 2008 as almost out the door. All of this is not some sort of new revelation to me. I've known that for a while already.

I didn't try Ruby on Rails until it was popular and I still haven't learned Javascript or Java. I know about the Solid principles, but that's because they've been explained to me during seminars. I've also decided to thoroughly learn Common Lisp, a language that peaked in the 70s!!

See, I'm not figuring things out. I let other do it for me and I'm always late to the party. All of this isn't necessarily a bad thing. There is a career to be made out of specializing in old, or even dying technologies, as I've read in the Passionate Programmer. There are people having great success in their life because they are part of a dwindling class of badly needed Cobol programmers. Many, many complex systems are built using .Net and Java, so specializing exclusively on those platforms can be rewarding and being on the front edge of those technologies won't give you much of an advantage.

This is not for me. I'm a generalist. I don't become an expert, I just become proficient in a lot of disciplines and hope that one day two of those will connect and let me do something innovative.

Then I'll have something to talk about.

Wednesday, February 17, 2010

Communicating

I'd really like to blog every single day, but for me the issue has always been finding something to talk about. I understand, however, that the more I blog, the more I'll learn to communicate efficiently, which is something I really need to work on. English isn't my first language. And even in my first language, I've never been a good communicator. My words are simplistic, so I need more of them to explain key concepts. More words mean that the risk that something can go wrong increases. Sometimes I can't seem to make people see what I want to convey; they'll understand something totally different or will stop trying to follow me. Combine that with the fact that I work with really smart people that are way better than me at communicating and I lose the power to direct a conversation.

Oh yeah, and I usually don't know what to talk about generally unless I'm real comfortable with the people I'm hanging out with.

Great.

I don't want this post to turn into self pity. It is more an acceptation of one of my shortcomings that I need to spend time on. At your expense, I'm afraid! Blogging is like talking in slow motion. You can go back and refine your thoughts. You get all the time in the world to think about how you're going to communicate an idea. My goal is to do it often enough that I'll become better at it.

As for what to talk about, well, I guess I'll talk about whatever comes to my mind, as long as it has something to do with coding, career or self development.

Friday, February 12, 2010

If you don't want it, you won't get it

So I didn't do anything last night. I felt tired. In fact, that's how I feel pretty much every night. My brain, while not completely shutting down, slows down enough that thinking about stuff becomes harder. Mental images are blurry, thoughts are hazy. To those of you that are successful starting businesses and products at night, I salute you! You guys have overcome sleep, relying on sheer discipline to get you through and get over obstacles while still having families and day jobs. You come back home from work and start another eight hours of work on your product. I say bravo to you! And boo to me...

But I'm getting tired of being so hard on myself. After all, if you can't blame fat people for their lack of willpower (hint: being fat has nothing to do with willpower,) then maybe, just maybe I can't be blamed for my lack of it when it comes to doing something worthwhile with my spare time. Maybe I just don't want it that bad. I mean, I do! But maybe not badly enough.

"How badly do you want this?" I could hear on TV when Jillian was trying to motivate one of the sweating contestants on the Biggest Loser with fat dangling from their arms. How badly, indeed! You really need to want it to go through the kick-ass workout regimen these people are going through.

So how bad do I want this? How often will I want it just enough to get started on a project, only to abandon ship two weeks later out of sheer boredom or tiredness? I must not want it bad enough. Or is there another reason? Is it psychological? I've never liked working... Maybe if I got paid faster for my efforts I'd be motivated to keep going?

Hmmm... Well, that's a thought I need to analyze a bit further. In the meantime, I'll keep focusing on getting enough sleep at night and learning Common Lisp. I at least did one of them right last night!

Tuesday, February 9, 2010

Sick at home

Today is another one of those days where I was forced into reflecting about my life and my future. I would've prefered to go to work and worry about other things but my body had other plans. Being sick sucks! The worst is trying to think straight while your brain seems to be running at a whooping 10Mhz -- processing... please wait... error: please resubmit your thoughts, I accidentaly lost them!

On the other hand, I think I reached some kind of inner peace. Software still obviously excites me, although I still don't know which part of it brings me down in a way that makes me want to curl up into a ball and whimper all night. I'm not gonna start anything new. Instead, I'll concentrate on learning, since that is one of the things that makes me tick.

I started reading Principles of Product Development Flow last month, a book that a few of us are reading together in our Lean Software Development group. It's also been mentioned by Eric Ries on his blog. Well, let me just say that this book is going to keep me busy for a while. It is so choke full of information that I think I'll need to go get a masters in economics, statistics and mathematics just to be able to fully grasp its concepts. So expect me to write about this as I try to go along and understand the key concepts.

Another thing I always wanted to read is Common Lisp, by chief Lisp evangelist Paul Graham. I've always been attuned to functional programming, and I even started to read the book in the past without completing it. Well now that I've got all the time in the world (after giving my kids their bath, that is...) I'm going to complete that book and its follow up, On Lisp, which is thankfully a free download. Expect me to blog about that as well on Los Techies, where I plan to write about more hands on posts.

So here I am, still in my robes, but clean, staring out the window while simultaneously cursing my body for getting sick and wondering about the possibilities that await me in the future. Of course, another idea popped into my head today. I just can't seem to stop them. What is driving me crazy is my inability to implement them. So I'll just concentrate on learning. Yeah, learning and setting myself goals.

Sunday, February 7, 2010

Code is not what I'm all about

Well whadaya know? I'm having existential doubts these days. There's a battle that rages inside of me every time I get a little bit of free time: what should I spend my precious little time on? Until recently, I had been trying to get an enterprise-y application going, but it filled me with dread. Every line of code had to be extracted from my body with forceps, put into place and tested. It was a fine equilibrium, a delicate balance that I maintained by making myself believe that this is what I wanted to do. It was more that just something to do on a rainy day; it was more than just a reason to go out and hang out in a coffee shop all afternoon on Sundays. It was what I wanted to do. But I hated it. Well, most of it.

Anyway, that balance tipped over when I lost control of the app. Slowly, I stopped unit testing features. Then I simply started hacking it without too much thought or process. I started drifting. Thoughts would come and distract me. What is the next big thing? How can I become hugely successful and never have to worry about money again? Should I remain a Windows developer, forever branded as a .Net guy, or should I venture to the free ecosystem that is Linux? What about Mono? Oh, I could write server apps with Mono! But what about Lisp? I've always wanted to learn Lisp! I could write a Command & Query type application and start with the Login system and write it in Lisp. Or even better yet, I should write a .Net version of Common Lisp, just like that dude that wrote Clojure on top of the JVM. And of course, it would have to be done entirely by using the command line and VIM... Is there a book on Amazon for VIM?..

And on, and on, and on it would go. Every Sunday. Torture. I would power on my laptop and sit transfixed in front of the monitor, my hands calmly positioned over the keyboard. There would be a shell prompt and a VIM window open, waiting. Oh, the possibilities! And yet, I couldn't come up with anything to do. Eventually, I'd give up and log on to twitter, facebook, news.ycombinator, arstechica, slashdot, news.google, nytime, programmer-looking-for-a-problem-to-solve-that-wont-bore-him-to-death.com... I'd then slam shut the laptop lid and be in a funky mood all day. Hell, that's exactly what happened today. Again!

Except that today I decided it was all over. I would stop wasting the rest of my life pursuing something I'm starting to feel weak at. Focus on my strength. That's what I need to do! But then I read a blog post about using object databases and cracked open my Common Lisp book. Damn it! I feel excited about programming again. It makes me feel like getting my laptop down from the shelf where it's quietly sitting and hack on something.

Why?

I'm clearly passionate about something! I just can't put my finger on it. So here's what I'm going to do. I'm gonna blog about that until I figure out what it is. Yeah. Blogging. That's so 2005! It's so not the next big thing.... oh... here I go again!

Tuesday, February 17, 2009

New blog

I have been honored recently with an invitation to blog on the Los Techies website. If you like my technical blurbs of knowledge, come on over and subscribe to my RSS feed! In fact, why don’t you go and subscribe to the main RSS feed? The bloggers there are all much smarter than me, really.

http://feeds2.feedburner.com/LosTechies

I plan to keep this blog going with slightly less technical postings.

Thanks for reading!

Thursday, February 12, 2009

Did you feel that?

A tingling sensation in the pit of my stomach, like a small flame that refuses to die as you turn off the gas… This is something I haven’t felt since my first days in college!

The passion for my craft and the pleasure I used to have at practicing it manifested themselves today. I’ve always known they were there, but for some reason they were hidden from my reach.

Through all the jobs I’ve had, I’ve yearned for that feeling to come back, that sheer joy of programming. I’m not talking about the exultation you feel when something that’s been bugging you finally works, like making an SSIS package work properly for example. No, I’m talking about loving the grind we all go through on a daily basis: writing lines of code.

I’ve been working on my behavior driven development skills and learning NHibernate today and it felt like I clicked. I was unable to write code before having written a spec and it eventually made me refactor in a few changes that made my code look… pretty!

I realized that I love doing well designed code. I thrive in such an environment and I’m able to enter the zone: spec-code-test-spec-code-test-spec-code-test… It makes me feel proud of what I did. I look at that big green bar and think that I can go home a happy man tonight. I’ve earned my diner. I feel like I went out of my cave and brought back a juicy mammoth for my family to eat. Aaarh! Something like that, anyway…

I don’t want to go back to my old ways, where passion had no room to expand and was all but extinguished! I shudder just to think of it. I don’t want to let go! I want to fan the flames.