Managing Technology, People or Business?

December 14, 2006

Since graduating from university I’ve worked steadily for 5 years in various programming roles. I’ve come to the conclusion that I’ve reached a crossroad in my programming life. While I have plenty to learn in my current position (more than could possibly fit into my short Homo sapien lifetime), there seems to be some new options presenting themselves to me. It’s the same crossroad that all programmers reach at some stage in their life, and quite a few follow the default path without even realising they have a choice. After investigating the crossroad ahead I see 3 paths leading off into my future. These include managing technology, managing people or managing business.

Managing Technology

This is the default path for programmers to follow. If you haven’t realised you’re at this crossroad (and haven’t been flung along another path by someone else) then chances are you’re on this path. The reason it’s the default path is because it has its roots in the generic path that most programmers take straight out of university/school. We start out by managing bits of technology, from code to databases to websites.

Our main aim is to make technology do our biding. You could possibly look at it in this way: You start out fresh from school and begin ‘managing’ functions. You write little apps that do simple tasks, you then move up to creating classes followed by entire sub-systems and eventually end up writing entires game engines or ‘enterprise applications’ as the business world calls them. This path can ultimately lead to a technical director of a game or company where you make decisions about which tech is best for a particular need/project. If you were coding in your basement since you were 5 then chances are this may be the best role for you. John Carmack is a good example of someone who manages technology.

Managing People

This is the second most likely path that programmers take. The cold hard truth is that a lot of the time, people move into these roles as they aren’t very good at the managing of technology part. This, unfortunately, means that a lot of senior and lead programmers out there are only in the position as they couldn’t hack it as a ‘real programmer’. Thankfully though, there are plenty of people that move up into these roles as they actually have an affinity at dealing with people.

The main aim of this role is bringing the best out of people, making sure that teams work well together and that your programmers can be as productive as possible. I’ve found some great inspiration about how this should be done from books like “Peopleware” and from some of the managers I’ve worked with over the past five years. This role is different to a project manager (who managers an entire project rather than just the people) as it’s more technical. Lead programmers organise who will be best suited to coding what, and in essence make sure the coders below them can do the best job of managing technology possible.

Managing Business

Some people just aren’t happy working for someone else, and they go on to become entrepreneurs and start their own business (or just spend their entire careers complaining about the fact they work for someone else). It’s true that in this position, for a start-up at least, you get to have your hand in both of the other groups. However for most businesses, after a certain point it’s not feasible for the founders to also be in the other two groups. You may be able to choose one group and stave off reality for a few more years, but eventually if you’re successful you’ll need to move away from the micromanagement and start looking at things from a higher-level. Bill gates is a good example of this, he was both Director and Chief Software Architect of Microsoft Software Architect at the same time. However after a while he decided he wanted to spend more time coding and had to give up some of the ‘business managing’ to move into the other group.

You’re main goal in this group is making money. It’s the hardest work, gives you the most options and even has a small chance of making you quite rich.

Conclusion (What About Me?)

So what road will I take? To be honest, I’m unsure at this stage. While I like technology, unfortunately I didn’t start coding when I was 5. Some will say that means I’m not a real programmer, but I’d rather believe that it means I can actually communicate with other humans without the use of I/O devices, other than the acoustic resonance generator and receptors God made us.

During my time as a programmer I’ve been asked to start businesses with a number of people, and so far none have made me want to ‘quit my day job’. That could all change in the future and I’m not ruling it out, however for the time being, I’m going to continue on my current path (managing technology) and see what opportunities come up. The first step I see is acknowledging that the crossroad is there and I that have the choice about which to go along. I’d be interested to hear from others whether they think they’ve reached this, already chosen one, or think I’m full of crap and should spend more time coding and less blogging.

Share:
  • Digg
  • Reddit
  • Facebook
  • del.icio.us
  • DZone
  • LinkedIn
  • email

Find Us On Facebook

  • No Related Post
  • shiva

    More time blogging, less time coding. I need something to read while I’m compiling :p

    The choice of the 3 is easy, the 1st. I’ve known some really good 2′s, though from my experience they’ve generally been 1′s forced to be 2′s due to overwhelming pressure from those higher up. I haven’t had any experience with 3′s, but I can’t imagine ever ‘getting’ that choice. Money is good, but programming is better.

  • http://www.doolwind.com Doolwind

    shiva-
    Thanks for the reply, I’ve also seen many 1′s forced to be 2′s, with mixed results. For me, the best way of working out if #3 is any good is taking money out of the equation and deciding if running a business is going to be enjoyable. The actual business side of things I find quite boring, I think it’s the flexibility and freedom in what you work on that is the biggest draw card. That said, it’s also the riskiest so maybe assuming you won’t make any money is quite realistic :) .

  • Bil

    Hmm…1, 2, or 3…not as easy as a, b, and c. Are you a type A personality? :D

    -Bil

  • Mr Thompson

    You should do all 3.

  • http://www.doolwind.com Doolwind

    Bil-
    Actually I’m a type PLTB ;)

  • http://www.doolwind.com Doolwind

    Mr Thompson-

    If only I can find the cure for immortality, or at least learn to sleep less than 6 hours per night. It would be sweet if we could all do all of them at the same time, and it seems the 3rd group gives us the best chance of keeping our feet in the other two. I’ll try my best to do all 3 and let you know how I get on. :)

  • Mr Thompson

    do or do not.. there is no try

  • Andy

    I started a business once, decided after a very short time that I prefer to come home, drink beer and watch tv and spend my weekends camping and fishing. I’ve been coding for 20 odd years now and I would rather restrict computer time to 8 hours a day (I hate computers). What you need to do is find a company that is happy to pay experienced programmers MORE than project leads. I did that. They do exist, but they are few and far in between. MS is one, as is Avanade. I am sure the other big players in the consulting game are too.

    BTW. If you want to get into management, you need to work on changing that L in PLTB to an H. IT took me a while to figure that one out but I got there eventually. Screw assembler and C, its too much work. Now I am a PHTB :)

  • http://www.doolwind.com Doolwind

    Andy-
    Thanks for the response. I’ll have to retake my test as I have a feeling I will have moved to L to H recently. I’ve spent the last 6 months working on scripting with our designer and am currently writing an article on it’s benefits. I’ve also started learning C++/CLI to I can start taking advantage of the .Net framework for all my highlevel needs :) .

    I’d like to find one of these mysterious companies that pay programmers more than project leads :) .

  • Yee Loon

    WHILE stillInterestProgramming

    EXECUTE PROGRAMMING
    LET TotalWhiteHair = TotalWhiteHair + 1

    LET DAY = DAY + 1

    IF DAY = 365 THEN
    YEAR = YEAR + 1 (become older)
    IF (YEAR = 40) THEN
    LET FACT = “NOT suitable TO Programming”
    EXIT WHILE
    END IF
    END IF

    IF TiredProgramming AND wantToQuitProgramming THEN
    CASE Condition
    WHEN “Fear of Job Security”
    CONTINUE WHILE

    WHEN “Cannot Find other job”
    CONTINUE WHILE

    WHEN “Lazy to update resume”
    CONTINUE WHILE

    WHEN “Procasinate”
    CONTINUE WHILE

    WHEN “Not dare to think about future”
    CONTINUE WHILE

    WHEN “Make a life changing decision, QUIT Programming”
    CONTINUE WHILE
    END CASE
    END IF
    END WHILE

    EXECUTE “Yeah!! i made the right decision!!!”