Posts
10
Comments
31
Trackbacks
0
Sunday, May 04, 2008
10 Types Of Programmers
I seen this posted on my favorite programming community </dream.in.code> and just had to post it here on my blog. So, which category do you fall into? I think Im a mix of a few of these: The Ninja, The Paratrooper, and the Vince Neal (minus the partying and hangovers)

#1: Gandalf

This programmer type looks like a short-list candidate to play Gandalf in The Lord of the Rings. He (or even she!) has a beard halfway to his knees, a goofy looking hat, and may wear a cape or a cloak in the winter. Luckily for the team, this person is just as adept at working magic as Gandalf. Unluckily for the team, they will need to endure hours of stories from Gandalf about how he or she to walk uphill both ways in the snow to drop off the punch cards at the computer room. The Gandalf type is your heaviest hitter, but you try to leave them in the rear and call them up only in times of desperation.

#2: The Martyr

In any other profession, The Martyr is simply a “workaholic.” But in the development field, The Martyr goes beyond that and into another dimension. Workaholics at least go home to shower and sleep. The Martyr takes pride in sleeping at the desk amidst empty pizza boxes. The problem is, no one ever asked The Martyr to work like this. And he or she tries to guilt-trip the rest of the team with phrases like, “Yeah, go home and enjoy dinner. I’ll finish up the next three week’s worth of code tonight.”

#3: Fanboy

Watch out for Fanboy. If he or she corners you, you’re in for a three-hour lecture about the superiority of Dragonball Z compared to Gundam Wing, or why the Playstation 3 is better than the XB 360. Fanboy’s workspace is filled with posters, action figures, and other knick-knacks related to some obsession, most likely imported from Japan. Not only are Fanboys obnoxious to deal with, they often put so much time into the obsession (both in and out of the office) that they have no clue when it comes to doing what they were hired to do.
#4: Vince Neil

This 40-something is a throwback to 1984 in all of the wrong ways. Sporting big hair, ripped stonewashed jeans, and a bandana here or there, Vince sits in the office humming Bon Jovi and Def Leppard tunes throughout the workday. This would not be so bad if “Pour Some Sugar on Me” was not so darned infectious.

Vince is generally a fun person to work with, and actually has a ton of experience, but just never grew up. But Vince becomes a hassle when he or she tries living the rock ‘n roll lifestyle to go with the hair and hi-tops. It’s fairly hard to work with someone who carries a hangover to work every day.

#5: The Ninja

The Ninja is your team’s MVP, and no one knows it. Like the legendary assassins, you do not know that The Ninja is even in the building or working, but you discover the evidence in the morning. You fire up the source control system and see that at 4 AM, The Ninja checked in code that addresses the problem you planned to spend all week working on, and you did not even know that The Ninja was aware of the project! See, while you were in Yet Another Meeting, The Ninja was working.

Ninjas are so stealthy, you might not even know their name, but you know that every project they’re on seems to go much more smoothly. Tread carefully, though. The Ninja is a lone warrior; don’t try to force him or her to work with rank and file.

#6: The Theoretician

The Theoretician knows everything there is to know about programming. He or she can spend four hours lecturing about the history of an obscure programming language or providing a proof of how the code you wrote is less than perfectly optimal and may take an extra three nanoseconds to run. The problem is, The Theoretician does not know a thing about software development. When The Theoretician writes code, it is so “elegant” that mere mortals cannot make sense of it. His or her favorite technique is recursion, and every block of code is tweaked to the max, at the expense of timelines and readability.

The Theoretician is also easily distracted. A simple task that should take an hour takes Theoreticians three months, since they decide that the existing tools are not sufficient and they must build new tools to build new libraries to build a whole new system that meets their high standards. The Theoretician can be turned into one of your best players, if you can get him or her to play within the boundaries of the project itself and stop spending time working on The Ultimate Sorting Algorithm.

#7: The Code Cowboy

The Code Cowboy is a force of nature that cannot be stopped. He or she is almost always a great programmer and can do work two or three times faster than anyone else. The problem is, at least half of that speed comes by cutting corners. The Code Cowboy feels that checking code into source control takes too long, storing configuration data outside of the code itself takes too long, communicating with anyone else takes too long… you get the idea.

The Code Cowboy’s code is a spaghetti code mess, because he or she was working so quickly that the needed refactoring never happened. Chances are, seven pages’ worth of core functionality looks like the “don’t do this” example of a programming textbook, but it magically works. The Code Cowboy definitely does not play well with others. And if you put two Code Cowboys on the same project, it is guaranteed to fail, as they trample on each other’s changes and shoot each other in the foot.

Put a Code Cowboy on a project where hitting the deadline is more important than doing it right, and the code will be done just before deadline every time. The Code Cowboy is really just a loud, boisterous version of The Ninja. While The Ninja executes with surgical precision, The Code Cowboy is a raging bull and will gore anything that gets in the way.

#8: The Paratrooper

You know those movies where a sole commando is air-dropped deep behind enemy lines and comes out with the secret battle plans? That person in a software development shop is The Paratrooper. The Paratrooper is the last resort programmer you send in to save a dying project. Paratroopers lack the patience to work on a long-term assignment, but their best asset is an uncanny ability to learn an unfamiliar codebase and work within it. Other programmers might take weeks or months to learn enough about a project to effectively work on it; The Paratrooper takes hours or days. Paratroopers might not learn enough to work on the core of the code, but the lack of ramp-up time means that they can succeed where an entire team might fail.

#9: Mediocre Man

“Good enough” is the best you will ever get from Mediocre Man. Don’t let the name fool you; there are female varieties of Mediocre Man too. And he or she always takes longer to produce worse code than anyone else on the team. “Slow and steady barely finishes the race” could describe Mediocre Man’s projects. But Mediocre Man is always just “good enough” to remain employed.

When you interview this type, they can tell you a lot about the projects they’ve been involved with but not much about their actual involvement. Filtering out the Mediocre Man type is fairly easy: Ask for actual details of the work they’ve done, and they suddenly get a case of amnesia. Let them into your organization, though, and it might take years to get rid of them.

#10: The Evangelist

No matter what kind of environment you have, The Evangelist insists that it can be improved by throwing away all of your tools and processes and replacing them with something else. The Evangelist is actually the opposite of The Theoretician. The Evangelist is outspoken, knows an awful lot about software development, but performs very little actual programming.

The Evangelist is secretly a project manager or department manager at heart but lacks the knowledge or experience to make the jump. So until The Evangelist is able to get into a purely managerial role, everyone else needs to put up with his or her attempts to revolutionize the workplace.
posted @ Sunday, May 04, 2008 11:24 PM | Feedback (1)
Friday, January 25, 2008
Using WMI with C#
Recently I discovered the WMI (Windows Management Instrumentation) and was stunned at what it can do. Granted, the discovery was completely by accident, but I found it none the less. The WMI can mistify a lot of developers, especially new ones, so granted I was a little nervous and leery when I dove further into it, but what I found is that it can be an invaluable tool.
posted @ Friday, January 25, 2008 7:10 AM | Feedback (5)
Saturday, January 05, 2008
Freelance sites - Good or Bad
Here is the quandary most coders face. Most of us are extremely talented, and from time to time venture out into the freelance world, especially students, most using a coding site like Kasamba, Rent-A-Code and some other up and coming ones. The problem we face is there are coders on there, with little or no talent at all, offering to do entire e-commerce sites for $100. Does that not make it difficult for those of us who actually know what we're doing?
posted @ Saturday, January 05, 2008 4:53 PM | Feedback (3)
Thursday, January 03, 2008
Belated Happy Holidays
Well this is a belated Happy Holidays to everyone. I know it's quite a bit late but I hope all had a happy and wonderful Holiday season, I know that besides all the snow I did. Where I live (Pacific Northwest) we've kind of been in a little snow storm you can see from my Online Photo Album the kind of weather we've been having here in the mountains.
posted @ Thursday, January 03, 2008 4:16 PM | Feedback (0)
Friday, October 26, 2007
Are newbie programmers bad for business?
Just the other day I read a post on a blog about this very same topic. , so it got me wondering and thinking. This poster has some incredibly powerful arguments, and on most of his points I would have to agree. As one who has been in this industry a very long time, I have seen programmers come and go. Some who were extremely talented and knowledgeable were eventually pushed out to pasture by newbie programmers who claimed to know what they were doing
posted @ Friday, October 26, 2007 1:25 PM | Feedback (2)
Sunday, September 30, 2007
Pitfalls with Merge Replication in a SQL 2000 Environment
The following article will provide recently found issues discovered when planning a system seperation using Merge Replication using Microsoft SQL 2000 Database Server. These issues (or pitfalls) were discovered first-hand in a real world environment at the company I work for when we were doing a monthly release of our in-house software, while getting ready for a complete System Seperation using Merge Replication. The resolutions offered in this article have been tested and are known to work.
posted @ Sunday, September 30, 2007 8:57 AM | Feedback (5)
Are you a coding perfectionist?
When writing code I would have to classify myself as a coding perfectionist, which can be a good thing, and at the same time a bad thing. When creating a project, I have found myself writing code for an entire work day (8 hours for the most of us, sometimes longer if it's a pressing release), then I go home and research what I was working on during the day.
posted @ Sunday, September 30, 2007 8:30 AM | Feedback (5)
Introduction to Web Services in C#
I posted a tutorial on my favorite programming forum , and thought Id go ahead and share it on my blog as well. One question I get all the time in programming communities, always by young, new programmers, is how to work with web Services in .Net. It was these questions that lead me to writing the tutorial I posted on Dream.In.Code.
posted @ Sunday, September 30, 2007 7:43 AM | Feedback (6)
Thursday, July 26, 2007
Is there more to life than programming?
This is the question I asked myself today, just to see what kind of answer I would give myself. These are the kinds of questions I've had time to ask myself wince surgery (02JUL07) to correct a hernia and a problem with my Ileostomy. It's weird, I, like millions of other people, get up every morning, drink my coffee and read my RSS feeds (Hey what can I say, I'm a geek) then head of to work. And like so many others I never stop to ask myself questions like this one, mainly because I really don't
posted @ Thursday, July 26, 2007 6:20 PM | Feedback (0)
Thursday, July 19, 2007
Where to begin
First a little about me (thank you for humoring me). I am 39 years old, will be 40 in March of 2008, and live way out in the country with my wife (My Angel), my son, 4 dogs, 2 cats and 2 fish. I am what some refer to out here are a "high tech redneck", I may live in the country (simply because I love the solitude and privacy) but that doesn't mean I have to live like a redneck, and lets face it as a "geek" I love my toys. I knew at a very young age that I was destined to be in the world of compu
posted @ Thursday, July 19, 2007 10:02 PM | Feedback (4)
News