Sunday, September 28, 2008

Always Be Coding

Alex Baldwin's most memorable bit of acting comes in the great movie, Glengarry Glen Ross. In giving a motivational speech to a crew of "salesmen", Baldwin invokes the basic tenet of sales, "ABC".

A - Always
B - Be
C - Closing

My adaptation of this is:

A - Always
B - Be
C - Coding

Even though I have managed teams from 1 to 30 people, I never gave up coding. People are amazed when I tell them that I still code.

The ability to write code is a skill like plumbing or being an electrician .... someone will always need coding done. No matter what industry you are in ... finance, healthcare, media, entertainment, e-commerce .... someone always needs you to write a new system or to enhance an old one.

No matter where I go with management, there are reasons why I still like to code:

1) It is creative and relaxing. There is no feeling like being "in the zone" while coding up a new idea. It is left-brain activity which calms the right side.

2) You produce an objective piece of work. At year's end, you can always print out your reams of source code and show others that you actually accomplished something. You have the feeling that you have created something concrete, like a piece of art.

3) You need to have something to fall back on if things ever get rough. This is important for us folks who have 1 kids in college and another kid two years away from entering college.

The other day, I was standing by the large windows of our trading floor, talking with the head of our Stat Arb department, looking at all of the sailboats going up and down the Hudson River. The head of Stat Arb still codes as well. So does the head of our Derivatives Analytics department. These are both Managing Directors and they are still hacking away.

The head of Stat Arb and I were talking about the recent financial crisis and the ongoing wave of mergers. We were both saying that, if our company ever gets acquired, or if we acquired another company which would make our positions redundant, we could still go off and make a living as coders. A great Java coder (with a bit of KDB knowledge) like Mr. Stat Arb, who has deep financial domain knowledge, might be able to make $1500 a day ... I am not sure if consulting rates have collapsed recently, but I assume that some financial institution would be able to bring him on for a short-term contract. (Maybe someone can let me know what the consulting market is doing these days.) I still see plenty of jobs out there for C# hackers in all sorts of industries ... not only UI jobs, but C# server-side jobs as well.

It rained this entire weekend, as Tropical Storm Kyle passed off the East Coast of the United States. My wife was sleeping, as she was recovering from jet lag, and my daughter was busy doing homework and studying for various tests. So, I decided to do something very foolish, and try to teach myself some WPF (Windows Presentation Foundation).

Our Complex Event Processing system uses WPF for the GUI, and so far, I have left my UI developers alone while they coded the GUI. However, I feel that I need to be able to understand their XAML code at some level. So, I opened Visual Studio 2008 and started coding up some simple screens, experimenting mostly with XAML.

I felt a bit silly in trying to learn a new UI paradigm as my management responsibilities increase at work. However, as I started mucking around with XAML, I started to feel myself get "into the zone" again.

Visual Studio 2008 (without SP1) seems to be a pretty crappy environment to develop WPF apps in. I don't use any other tools, like Expression and Blend. This is a really vanilla WPF development environment. (I hear that SP1 is supposed to enhance the WPF design experience, but I am a bit afraid to install it after reading some of the blogs that detailed some horror stores that occured post installation.)

But, give me a few weeks to explore more WPF. I want to get to the point where I can make some simple changes and do a bit of debugging of our GUI if I have to.

Always Be Coding.

©2008 Marc Adler - All Rights Reserved.
All opinions here are personal, and have no relation to my employer.


Francis Shanahan said...

I agree with all the points you've raised Marc. One you missed though is that a good manager needs to be able to understand the job of the people they're managing. Too many "architects" as I know them have not coded in years. They can draw the rectangles but can't manage the project, can't estimate, can't understand the dependencies between team members and worst of all, can no longer talk the talk of low level engineers. Once you lose that, I think you give up control of the team and ironically lose your ability to manage the deliverable. You also lose the intangible which is the ability to lead. Engineers respect other engineers, not managers. At least from what I've seen. So ABC baby. The day I quit coding I reckon will be the day I go do something else altogether.

Francis Shanahan said...

And if you want even better Baldwin acting, checkout him and Hopkins in "The Edge".

Scott Weinstein said...

You guys are so wrong about this. Alec Baldwin's best role is Jack Donaghy

Rut the Nut said...

Oh No Marc, tell me you aren't really syill writing code!


Only kidding.

Think it is, or can be, good for techie heads to keep up with their full technical background.


PS - I am frequently coding, and also went back in time recently to write some C++ code, having mostly used Java for the past 10 or more years!