Why I’m a better software developer than you
What makes one developer better than another? Shouldn’t we all be performing at the same level? Of course not, we’re not sewing buttons on an assembly line. We’re using every bit of our intelligence to create something that we can only begin to understand.

- I think logically. Computers don’t care how you feel, and your opinion doesn’t matter. All that matters is if you write your code exactly the way the computer dictates.
- I constantly look for better ways of doing things. I subscribe to a good number of development blogs. I alone cannot always come up with the best way to solve a problem, but somebody somewhere probably can.
- I read books. Joel says that most programmers have stopped reading books. What a shame. Blogs are great for snippets, but it’s rare that they cover a topic well from start to finish. Blogs are the ADD version of books.
- I don’t stop thinking about problems and how to solve them through automation. Sometimes I’ll wake up in the middle of the night, and I can’t get back to sleep until I write some code that I can’t get out of my head.
- I have side projects that I think are interesting, and give me a chance to try things that I might not want to try on my production code at work. Yes, my side projects distract me at work, but the knowledge I gain pays back the time I lost.
- I have a tech blog. I suggest all developers start a blog and give back to the community. If you solve a problem, we want to hear about it! At the very least, it will give you an opportunity to formalize your ideas, which will either reinforce them, or make you realize you were wrong. You might also get some great feedback.
- I try to prove myself wrong (aka objective). Everyone wants to be right. I try to prove myself wrong when appropriate. One of the hardest things in the world for a developer to do is say that the code they just spent a week writing is useless. Maybe it is, don’t fight it, work with it.
- I keep up with the latest technologies, and force myself to try them.
- I have a relatively good understanding of how the computer hardware and software works. I’ve met too many developers that barely know how to turn on a computer.
- I’m great at writing Google queries.
- I’m not just in it for the money. I actually enjoy what I do. I had a job interview where the guy that would have been my boss told me a story about how he was brought in off the street and thrown into managing their software projects. When the software industry starts getting rough, who do you think is the first person to go?
- I’m sympathetic to the users pain. If I can share their pain, I’ll want to fix it and prevent it.
- I realize my code will never be perfect, so I try to make it testable and modular. I set up processes that try to minimize the effect of my human error.
- I don’t think Microsoft is evil, and I don’t think they’re a saint. They’re a big company. Some of the stuff they write is crap, some is amazing. The same is true for any other company out there.
- I learn from my mistakes. I try to put at least 2 checks in place to avoid any past mistakes. If one check fails, I’ll have the other.
- When I’m asked to solve a problem, I think above the problem, and determine if it’s a problem that even needs solved.

Jon Wise said,
Wrote on April 30, 2008 @ 11:51 am
Pretty good article. I have a couple comments though:
1) Shut up, no you’re not
2) The thing about “feeling the user’s pain?” That should go at the top of list…
admin said,
Wrote on April 30, 2008 @ 11:53 am
LOL.
1. I know. The irony is that I’m basically talking to the people that wouldn’t read this!
2. Sorry, the list is not in any particular order.
Shawn said,
Wrote on April 30, 2008 @ 12:25 pm
Nobody’s a better developer than I. Why just this day I stumbled upon a piece of code that I wrote that was ingenious.
a = null;
if(a != null)
throw new Id10tException();
Ingenious!
On a serious note, this is a good list to use to try to determine if you want to hire someone as a developer. If you can pose your questions to try to determine if they do any of the above, you can start to gauge what kind of developer they truly are. Unfortunately, they could do all of the above and still write the worst code ever (like deciding to write every other function in assembly language).
book reader said,
Wrote on April 30, 2008 @ 1:07 pm
What? I am sorry I didn’t read this. I am reading a book.
Frank Quednau said,
Wrote on April 30, 2008 @ 2:12 pm
A lovely list, really. I especially love the last point. As an example, how often have people told me their problem until through questioning etc. we figured out that it was already a technical artifact due to an inadequate solution proposal. Many problems just aren’t ones
Dave said,
Wrote on April 30, 2008 @ 2:37 pm
I agree with you generally. The only one I have a problem with is the book thing.
I have two issues with books.
1) Too slow.
2) Too old.
This does not mean that I don’t consume as much information as I can get my hands on related both to programming and business. Just that my first course is going to be writing a google query. That’s where the most current information tends to be.
Fredrik said,
Wrote on April 30, 2008 @ 2:46 pm
Great post! Spot on - apart from the title, that is ;D
Ian Suttle said,
Wrote on April 30, 2008 @ 6:44 pm
Well done. Worth a read for any developer to analyze their own passion for the trade.
Matthew Manela said,
Wrote on April 30, 2008 @ 8:13 pm
“I don’t think Microsoft is evil, and I don’t think they’re a saint. They’re a big company. Some of the stuff they write is crap, some is amazing. The same is true for any other company out there.”
Thank you! I feel there same way.
ZagNut said,
Wrote on April 30, 2008 @ 8:41 pm
Dear admin,
I like the irony to your title (per your response to Jon Wise). Anyone, regardless of programmers but especially with programmers, who constantly, overtly assess how they’re better than you all the time should just plain be vaporized. Thus, the title of your entry is exactly the first assessment of any developer.
Ergo, now for ZagNut’s Law:
Arrogance is inversely proportional to ability.
The end.
~ZagNut
One among the kind said,
Wrote on May 1, 2008 @ 7:40 am
While I do agree with most of your points, the better programmer one may be, will go unoticed with poor management.
I had one guy telling me, when I started working “If they pay me more, maybe I’ll get better at programming, maybe I’ll become more intelligent”.
From a result oriented point of view, when you see teams of programmers that :
* you could even pay to stay home
* you can do all their work plus yours even better,
then you know what kind of guys you’re surrounded with, then you know you’re not the best but you’re above the masses.
If your company sucks, being a good programmer doesn’t get you anywhere… Someone will take the credit for your work and won’t even mention you…
They’re lots of good programmers and lots of crappy ones too. And yes, most of those crappy programmers are getting paid, sometimes well… while doing almost nothing(bad logic, poor ideas, basic programming).
Abhijeet Maharana said,
Wrote on May 1, 2008 @ 8:03 am
Well written! And the title was catchy enough to get me here!
John B said,
Wrote on May 1, 2008 @ 9:29 am
One comment that hits a note for me is: “I’m not just in it for the money. I actually enjoy what I do.” When you feel this way, then becoming better at what you do is inevitable.
As for “most programmers have stopped reading books”. Do you remember about 7 years ago when bookshops had row after row of computer related books. My local Indigo book shop doesn’t even have a computer section anymore. Not even a single copy of Facebook for Dummies! It’s probably because the demand simply isn’t there anymore, after legions of programmers, who where just in it for the money, left to become real-estate agents when the the dot com bubble burst?
Mystery Man said,
Wrote on May 1, 2008 @ 10:54 am
A good list, but bad picture. As for nobody reading books anymore you’re right for the most part. Books were ruined by this four letter word WROX.
Interesting Finds: 2008.05.02 - gOODiDEA.NET said,
Wrote on May 1, 2008 @ 10:09 pm
[...] Why I’m a better software developer than you [...]
Marshal said,
Wrote on May 2, 2008 @ 12:39 am
Great article, i have shared with my department!
Sheraz said,
Wrote on May 2, 2008 @ 1:54 am
worth a punch note !
Strange said,
Wrote on May 2, 2008 @ 3:46 am
You must be less than 30 years old, kiddo …
Grow up …
What you wrote is common sense … and unfortunately common sense is not so common …
Saj said,
Wrote on May 2, 2008 @ 4:17 am
Basic knowledge in Software Coding.. yet, refreshening.. Thanks.
Duncan said,
Wrote on May 2, 2008 @ 5:43 am
Good post. However, I disagree with: “All that matters is if you write your code exactly the way the computer dictates”
Code is for developers to read, not for computers to read.
Bill said,
Wrote on May 2, 2008 @ 8:38 am
Excellent article. May I suggest one addition:
“I lead a balanced life - the sun does not rise and set on programming.”
Some are consumed by the “black art” and hence lose their perspective on reality. I think this makes makes them a less effective as programmers.
Being a great developer is good, being a great human being is better.
Geek Daily » Blog Archive » Friday roundup for May2, 2008 said,
Wrote on May 2, 2008 @ 12:30 pm
[...] Why I’m a better software developer than you What makes one developer better than another? Shouldn’t we all be performing at the same level? Of course not, we’re not sewing buttons on an assembly line. We’re using every bit of our intelligence to create something that we can only begin to understand. [...]
Your Teacher said,
Wrote on May 2, 2008 @ 3:18 pm
> I think logically.
You think ego, and should change that to:
‘I am delusional’.
I bet you develop in .NET don’t you?
Ns said,
Wrote on May 3, 2008 @ 5:43 am
This is the main issue with us programmers, all the laymen make us feel that we are above the rest, this article has some valid points which could have been covered a bit differently. its too egoistic (to many “I” for me hehehe)
when u r free re-write the article in a more interesting way.
regards
Olek B said,
Wrote on May 4, 2008 @ 1:55 am
Why am I a better software developer than you:
1) Because you’re no better than me.
2) Because you’re not as good as I am.
3) Since you’re not as good as I am, or better than me, you are worse than me.
4) Therefore, I am better than you.
5) You suck.
6) Q.E.D.
Logic rules.
Alex said,
Wrote on May 4, 2008 @ 4:35 am
What surprises me most is the amount of people here in comments with a total lack of any sense of humour. True developers, I presume
Charles said,
Wrote on May 5, 2008 @ 11:25 am
Re: Books.
Some books have a shelf-life (i.e., technology based), some don’t (i.e., mentality based).
A humble recommendation: The Inmates Are Running the Asylum by Alan Cooper. This is one of those books that you read and wish that you had read it much sooner (like, during recess in 3rd grade).
But, be warned! Read this book and you’ll find yourself arguing with your cube-mates by the coffee maker (trying to get them to read the darned book too); or posting arbitrary blog comments trying to convince the anonymous programming public to do the same….
Also good is The Psychology of Computer Programming by Gerald M. Weinberg.
Weekly Links: ASP.NET MVC, Live Mesh, Silverlight, .NET… | Code-Inside Blog International said,
Wrote on May 5, 2008 @ 3:27 pm
[...] Why I’m a better software developer than you [...]
Reza Rahmati said,
Wrote on May 6, 2008 @ 9:40 pm
Surprise,
you described it very precise.
Alan Mojab said,
Wrote on May 13, 2008 @ 6:38 am
Thank you, I enjoyed reading your article…However; I would like to contribute a couple of points to your blog post.
If I were you I wouldn’t let my manager to know that I “love” my work. I.T. Managers with no technical backgrounds would see this as a way to give you more responsibilities without the right pay. Simple fact, if you love your job then you would do all the things the manager throws at you.
I’ve been coding for nearly two decades and I consider my greatest asset my experience not my “knowledge”. I consider “knowledge” in world of Software Development as specific things such as programming against APIs. As you know in the world of I.T. in particular in software technology things can change very quickly before learning them in any depth. The knowledge you gain will be out-dated soon enough but not the experience you gained.
The more experience you have the quicker you would solve the next problems regardless of how knowledge full you are in the technologies that you are using. This is a common mistake among developers that assume knowing specific API/Framework i.e. SharePoint make them more expert than the rest but an experienced developer can pick things up at no time.
I do also blog about software development when I find the time so I’m not against your idea about blogging however I do differ in one thing with most of the developers out there. I’m totally against giving away too much or giving away complete solutions for the following reasons;
1. Giving away too much will make the developers too lazy to figure out a solution to a problem on their own. Google can be so counterproductive when one would use it as soon as they need to figure something out instead of using the brain.
2. Giving away too much would also devalue the knowledge itself. Devaluing knowledge only means your next employer wouldn’t consider your knowledge as an advantage to employ you. I always use the SAP community as an example to put cross my meaning. You can’t find any other community like SAP’s that safeguard knowledge so well. This is the very reason as to how the SAP consultants are still on very high salaries when the rest of us get far less since the crash of .com.
Mike said,
Wrote on May 14, 2008 @ 12:03 am
Jason: Very good composition, i myself is a senior software developer for years
dont’t you think doing development for long period will kill our minds :’-)
It was a nice article though which bring me here to read.
Weekend Reader - blogging, twitter, marketing, funny, lifehacks « // Internet Duct Tape said,
Wrote on May 18, 2008 @ 12:06 pm
[...] [CODE] Why I’m a better software developer than you, ytechie.com [...]
JMiller said,
Wrote on May 19, 2008 @ 11:52 am
“We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.” –http://c2.com/cgi/wiki?LazinessImpatienceHubris
While you’ve clearly mastered the Hubris, you’re utterly missing the Impatience and don’t appear too serious about the Laziness either.
Jaswant Tak said,
Wrote on May 29, 2008 @ 11:23 pm
Great Artical, Enough to boost a programmer.
Cheers
audacity said,
Wrote on June 6, 2008 @ 10:06 pm
You might want turn off your computer and pull your head out of your ass.
I’m wondering where you get off thinking you’re the one who determines how good a developer you are. You’re a commodity and the market values your worth, your blog, queries or whatever else you value has nothing to do with the bottom line.
anyway it was entertaining and you’re entitled to yoru opininoin..
The only thing I can’t stand is the ego with developers who think because they have a blog that they can just start talkng shit or believing their own hype.
get over yourself.. a good developer is a people person and a problem solve.. that’s IT!!!
What a developer needs from their manager said,
Wrote on June 10, 2008 @ 8:41 am
[...] talking about what it takes to be a good development manager. There are also articles about what makes a good developer. I thought it would be a good idea to describe what a developer needs from their [...]
D'C0nquer0r said,
Wrote on June 12, 2008 @ 3:24 am
if(me.Ability < you.Ability)
throw new WouldNeverHappenException();
else
Console.WriteLine(”I am considerably better than you ;D”);
Great Article, well done
The Tomes Of Experience » Why I’m a better software developer than you said,
Wrote on June 18, 2008 @ 8:07 am
[...] I found this article explaining the differences between a good programmer and an average one [...]
Stephen Ameyaw said,
Wrote on September 30, 2008 @ 7:52 am
Jason,
Can you contact me? I would like to share an idea with you.
Thank you
Nuno Caldeira said,
Wrote on October 28, 2008 @ 7:19 am
Very important stuff:
“I’m sympathetic to the users pain. If I can share their pain, I’ll want to fix it and prevent it.”
Thanks for such an excelent article.