The Day Programmer vs. The Night Programmer

This post is a slightly edited form of an e-mail that I sent around internally last year. But it was suggested to me recently that I post it up to my blog to see what people think – am I right or wrong?

Over the years I’ve come to the belief that there are two kinds of programmer in the world, no matter what technology they work with, lets call them:

        1. Day Programmers
        2. Night Programmers

Now – day programmers are the most prevalent in this industry, and you find them mostly in organisations which have historically tolerated a certain amount of inefficiency. Day programmers have the following characteristics:

        1. They are mostly led and seldom lead.
        2. The have trouble coping with complexity.
        3. They cannot visualise a solution.
        4. They don’t load their development tools at home.
        5. Typically don’t participate in the development community.
        6. See programming as “just a job”.

If you are a night programmer, you probably have trouble understanding why a day programmer even entered the industry, and the reason is because they are motivated by different things than you are. The characteristics of a night programmer are:

        1. They mostly lead (or drag kicking and screaming).
        2. They develop deep understandings of complex things.
        3. They can visualise a solution and have a sixth sense around design.
        4. They load the alpha/ctp/beta version of tools at home.
        5. They participate in user groups and mailing lists.
        6. See programming is as vital to them as breathing air.

If you are a day programmer, you look at the night programmer and think that they don’t have a life. And you laugh at them when they come in excited about some cool new trick they can do in the framework.

 

Advertisements

74 thoughts on “The Day Programmer vs. The Night Programmer

  1. Jason Stangroome

    Being a Night Programmer myself I can’t believe that the Day Programmers are the majority. If your job doesn’t captivate you, why are you still doing it? Daniel Moth makes a good point, any comments here are likely to be mostly from Night Programmers but we’ll see.

  2. Rory Primrose

    I don’t think it has to be as black and white as that. With the qualities outlined here, I am a night programmer, but I also need to earn a living.

    I think it’s about the job more than the person. Regardless of the day job, I still have the night programmers qualities. I haven’t been able to come across many jobs that encourage those night qualities though.

    What I mean by this is that the average IT day job usually doesn’t encourage much passion. I think this is either because of how the project is run, the design that is created, or the technologies that are used.

    I still hope for that perfect job during the day which has all the goodness of the night programmers qualities.

  3. Mitch Denny

    Hi Rory,

    I don’t think it needs to be taken as literally as that (the night and day thing is just for contrast and isn’t so much about time). I’ve found that a night programmer will make their job something to be passionate about – or they will eventually move on.

    Thats why when I come across someone who is a night programmer in a job that does not challenge I virtually expect that person to leave.

  4. Mitch Denny

    Hi Daniel,

    Thats a pretty good observation. Tell you what though – if you can figure out a way to “reach” the day programmers then the DPE team will definately want to see you! They have asked several times what they need to do to reach those people that don’t connect themselves to the community.

  5. Rory Primrose

    I knew that was were you were coming from, but I think that the literal meaning of day and night still applies. I think most developers are in IT jobs (day) that don’t spark their passion. The question is whether they then do other stuff on their own time (night) to build on their skills and stay interested in technology. That’s my experience anyway.

  6. Tim Murphy

    There are way too many of us night programmers who forced to work in a day programmer’s world. Many of the employees at clients I have worked at fit your day programmer description point for point. Not only do I have trouble figuring out how they got their job, but how it is they haven’t been fired yet.

  7. Michael K. Campbell

    I think you’ve nailed it. I also think that night programmers will frequently ‘take’ to programming at nights just to ‘code’ if they’re not getting enough ‘coding’ at work. I’ve been in that situation many times at work where meetings, debugging, waiting, maintenance, etc all got in the way of architecting, solving, and coding – so I merely took up those activities in my own time. Invented my own problems to solve, as it were. I do, um, need to get out more though 😉

    But I think you’re spot on here…

  8. Eber Irigoyen

    sounds like is more about passionate programmers (or whatever job you do for that matter) vs the normal programmers

    the passionate programmer will seek learning, the normal programmer will learn when he needs to

    the *night* programmer will know things that the others had no idea existed (or were possible (“I didn’t know you could do that”))

    the passionate programmer will code at home, just for fun

    the normal programmer… works for a living, the passionate enjoys every day at work (except for when there are meetings!)

  9. Rory Primrose

    I have worked with quite a few ‘day’ programmers over the last seven years and I think that the above characteristics of the day programmer can be summed up in one point:

    They (generally) just aren’t as good at their job as a developer who has a passion for IT.

  10. Marcos Torres

    I code at the day, but @home i test CTPs, new tools, or read the articles that i’ve printed in my “day” job. Also I code some tools for my self.

    Now it’s 11:42AM :P. What kind of programmer am i?

    Maybe i’m a all day programmer 😛

  11. All Week Programmer

    Marcos,

    How can an “All Day” programmer need sleep at 11:42PM on Monday?

    Maybe you haven’t heard of the “All Week” programmer that only sleeps 5 hours on sunday per week. 🙂

  12. Marcos Torres

    hahaha, good one…as someone said :”Sleep, the best 10 hours of the week”.

    But to be honest, get up at 6:30AM and going to the gym after my “day” job it´s not easy.

    Best regards 🙂

  13. pUnk

    You are a day programmer if…

    You think this post is about programming during the day vs. programming at night.

  14. Stuart

    Personally, I think you are wrong… In my opinion the ‘day’ programmer definition you have, applies to stupid people who have managed to slip through an interview process. In my experience, there are plenty of these types around, and tend to be the types who like to drag and drop, place all of their domain logic in an anonymous inner listener, or on the code behind file.

    The ‘night’ programmer definition sounds like the sort of guy who wants to solve the world in code, when all that is required is a simple web page. He over engineers every solution to the point that it is so complex, noone else on his team understands it. He architects a solution in his head and refuses to budge on it… even when it is wrong. He likes to put down other more simple solutions to his, because they are not as ‘impressive’.

    To be honest, in these cases, the night programmer is the guy who will cause you the most trouble.

    I see the distinction between programmers lying along a different line… the one’s who can solve problems in a simple way, and the one’s who cannot.

    This states two things, 1) They are clever enough to solve the problem, and 2) they are clever enough avoid complexity.

  15. RandomGit

    All this from a quick conversation over the cubicle wall about what it is that motivates the codeaphile.

    Nice one Mitch. Now you need to tell us day programmers how to make the transition to the dark side. Cause thats what I’m really trying to figure out.

  16. James Denning

    You forgot to say that Night Programmers often spend nights fixing the problems day programmers cause (hence partially disagreeign with an earlier comment).

    Day programmers do participate in newsgroups – whining how there’s no work for them in the skills they haven’t bothered to update.

    Nevertheless spot on. 🙂

  17. James Denning

    You forgot to say that Night Programmers often spend nights fixing the problems day programmers cause (hence partially disagreeign with an earlier comment).

    Day programmers do participate in newsgroups – whining how there’s no work for them in the skills they haven’t bothered to update.

    Nevertheless spot on. 🙂

  18. Maz

    I definitely fit in to the nigh programmer category. But it’s not about engineering the more complex solution as someone was arguing. The code I’m am happiest about is finding a really neat and short way of solving complex problems. This generally excludes day-programmer solutions because they don’t have the obscure knowledge of the framework to base a solution off, instead they use existing code and modify it with a messy work around to try get the required solution.

  19. shodson

    The world has more day programmers than night programmers because most business programming is about moving data in and out of databases, show it on screens or web pages, creating TPS reporting modules, etc. Nothing very exciting, job pays well and has good benefits.

  20. Pingback: ** The Day Programmer vs. The Night Programmer ** « Aumakua:tikiti tikiti!

  21. DrPollo

    There are many shades of grey here. You can be passionate about your job (be a ‘night’), and still recognize that if you do it little by little, a few hours a day, you’ll have a better life. Besides, the more tired you are, the more the bugs you code.

    Remember, less is more, more code lines doesn’t make your program always better, take time to rest and reflect, and let the subsconcious work.

    I said this because I see taking work to home as an awful habit too many people consider ‘classy’. And seeing programming as vital as breathing air is no better than seeing macramé as breathing air.

  22. Mitch Denny Post author

    Hi DrPollo,

    I think that people assume that when people take their work home with them that they don’t enjoy doing it. I’d say that this is often the case, but what I am saying is that a night programmer actually likes playing with this stuff during their time off – it doesn’t even need to be directly related to their work – its just fun playing with technology!

  23. The Real Scoop

    We need both, and we suffer with both. Don’t appluade yourself becuase, your either. The Problem with Night programmers is that they rarely finish anything. they’re great at introducing new concepts, bleeding edge technologies, and novel solutions, but rarely actually able to apply to completion or within the timeframe of the actual task or project at hand. In the real world programming is used to make task more efficient or create a product to sell. Both which equivalate $$$$$. Day programmers on the other hand are able to focus and produce within a defined set of parameters, they are the ones who though often lack creativity or ability to quickly grasp or apply new concept neccessary to optimize a task/project, or independently troubleshoot, but who actually write the code neccesary to complete the task/project. Thus creating a viable product or solution that may actually produce income to pay both thier salaries and that of the prima dona’s who love to create and play with all the toys but forget that everything still cost money. So what’s the trump, I appluade the hybrid, those scarse individuals who are able to both find and create novel solutions, as well as actually apply them and actually complete the project or task at hand. We need them all. So don’t over-rate yourself becuase you are one or the other, nor berate the other. Strive to reach the next level, the hybrid capable of working anytime of day, with a passion and preserverance to program.

  24. Nacion

    Im programming everyday and ive worked for suckers. So i can tell ya better this:

    The day programmer mostly happens when the proyect is required by incompetent clients who wants to change the proyect everytime, and you participate as a merely call-center-(hi or low level)programmer.

    The night ones… the Jedi Knigths programmers mostly happens when a new proyect starts and your participation is well welcome so you leave a “mark” on your new-born-child-proyect.

    Sorry for my english, pero estas pinches maquinas no dejan nada bueno cuando las trabajas todo el jodido dia para la misma basura de gente…

  25. Nacion

    I mean, im talking about the both cases as an “state in a time of life”, not as “what people is like”

  26. Mitch Denny Post author

    Hi Nacion,

    I think that employer hiring practices have a huge impact on whether you get night programmers or day programmers.

  27. solprovider

    This is not about the time of day people program. It is not about competence. There are a few competent day programmers. There are many incompetent night programmers.

    The difference is the passion.

    A night programmer was born to write software. He learned how to program on his own. He went to college because he heard college let the students play with really cool technology, and failed out because he spent all his time playing with really cool technology. If he gets a corporate job, he makes waves by suggesting things could be better and gets fired for not appearing 9 AM Monday morning after his Friday programming marathon did not end until 4 AM on Monday.

    A day programmer chose computers as his major in college because he heard programmers were paid well. He graduated without knowing how to use a command line. He makes a good corporate employee, working nine-to-five and not thinking about the job at home. He does not make suggestions about how to improve technology; he does not know enough to think of one.

    Businesses survive because they occasionally accidentally hire a night programmer who fixes everything the day programmers wrote before he gets fired.

  28. Mitch Denny

    Hi solprovider,

    It is an interesting observation. Night programmers tend to be more mobile in their employment so maybe their increased skills give them the confidence to make waves and be able to live with the consequences?

  29. Justin R

    I’m a night programmer.
    Stuck in a day job.

    I work for a college and actually have the opportunity to do many cool things – the problem is the setup…

    I have a 1 hour commute 1 way, every day. (50mi)
    I am jammed in a room with another person (a girl who talks too much)
    Because of that, I can’t adjust my environment very well because of the small room and companion.

    You’re a well insulated 6’2″ programmer and she’s a 5’1″, 110lb. person who needs the heat turned way up…

    Your ambitions go down the tubes when you realize ‘going home’ is an hour away and you lose your luster for doing what you love because of a poor environment.

    If only the boss had a clue of how to pamper a programmer, what kind of productivity he would see!

  30. James Denning

    what you didnt mention is this is a jobs program for twice as many programers and thus the world continues

  31. Wilecoyote

    My 2 cents worth…… well 2.2 cents… ok with inflation and interest rate hike from the reserve bank 2.24 cents… damn…

    It was not long ago (before the days of “Visual Studio”) that we debated the virtues of C blunt, C versus VD programmers… I still find myself questioning my own virtues and morals on that.

    Cripes mate… no one told me about this day and night stuff… frankly I work in an office illuminated by neon tubes where it is impossible to tell when day becomes night outside.

    I work in my own world where no one cares what time I turn up or leave, provided I come up with the goods. Theres a lot to be said for night, for one thing the phones are a lot quieter, no one expects you to pick it up if it does ring, and the coffee appears to taste better… (true)

    During the day it seems the need to interact takes over, you see people around you and you can invite comment and opinion, (funnily enough everyone seems to have one of those), and sometimes you get those even when they are uninvited.

    And if you get lonely, there are always the telemarketers trying to sell you a mobile phone deal or a new security system. (They dont seem to care what time it is either)

    The point is to call us day, night, C , VB, black white asian, mexican or any other kind of programmers, there is one thing on which we all agree.

    There are good ones and bad ones. Make sure you are thought of as a good programmer and you might get an opinion, but you will seldom get an argument.

    I love democracy.

  32. Ivonne Vel-Per

    I love the article being a programmer and writer myself, I corrected mispelled words leaving your essence in it…Congratulations…You depicted the essence of being a programmer!

    Ivonne Vel-Per

  33. Ivonne Vel-Per

    I love the article being a programmer and writer myself, I corrected mispelled words leaving your essence in it…Congratulations…You depicted the essence of being a programmer!The Day Programmer vs. The Night Programmer
    February 19th, 2006 • 39 Comments
    This post is a slightly edited form of an e-mail that I sent around internally last year. But it was suggested to me recently that I post it up to my blog to see what people think – am I right or wrong?
    Over the years I’ve come to the belief that there are two kinds of programmer in the world, no matter what technology they work with, let’s call them:
    1. Day Programmers
    2. Night Programmers
    Now – day programmers are the most prevalent in this industry, and you find them mostly in organizations which have historically tolerated a certain amount of inefficiency. Day programmers have the following characteristics:
    1. Are mostly led and seldom lead.
    2. Have trouble coping with complexity.
    3. Cannot visualize a solution.
    4. Don’t load their development tools at home.
    5. Typically, don’t participate in the development community.
    6. See programming as “just a job”.
    If you are a night programmer, you probably have trouble understanding why a day programmer even entered the industry, and the reason is because they are motivated by different things than you are. The characteristics of a night programmer are:
    1. Mostly lead (or drag kicking and screaming).
    2. Develop deep understandings of complex things.
    3. Can visualize a solution and have a sixth sense around design.
    4. Load the alpha/ctp/beta version of tools at home.
    5. Participate in user groups and mailing lists.
    6. See programming as vital to them as breathing air.
    If you are a day programmer, you look at the night programmer and think that they don’t have a life. And you laugh at them when they come in excited about some cool new trick they can do in the framework.

    Ivonne Vel-Per

  34. Pingback: Rob Farley : 4 questions to evaluate people's passion

  35. Gaz

    I know many day coders who are extremely talented ans passionate.. the hypothesis did work for MANY MANY day programmers I know though! Im a night coder too.

  36. Besnik

    Well,
    I work in a bank as a programmer but the night programming is what I like more.
    I can sepparate the day programmer and night programmer this way:

    Day Programmer
    1. Your work is 8hr’s and if you work more than that and not being payed it’s like working for free.

    I will continue writting this because I have to go out on my lounch break (don’t tell anyone I wrote this in my working hours :>).

  37. Besnik

    As I was saying,

    2. Just the thought of having to interupt the writing of the code make your ideas run dry.
    3. The telephone interuptions of your colleges asking you about something stupid si a huge distraction

    Night Programmer
    1. While you are alone in your room (smoking, drinking whatever get’s your juices flowing) the solutions for anykind of problem are easy accessible.
    2. No interuptions because everybody is sleeping.
    3. Your phone never rings even if it rings you can ignore it and don’t have to explain to nobody.

    I myself like the night programming for fun and more productive but I am not saying that day programming doesn’t have it’s own benefits, like being in touch with the rest of the world because we all know that night programming can cause some pretty wierd social cases.

    Just my thought.

  38. Pingback: Just for fun « Grumpy Wookie

  39. Hywel

    I would say the fastest road to going from night coder to day coder is to get a job as a programmer.

    That’s what happened to me. I’d work all day at a keyboard doing shit, and then no longer be able to face it at home (plus I had some social life). Sometimes the night-coder would break out during the day – actually designing a solution rather than just cutting, pasting and tweaking existing stuff, but only when there was fresh project, or a couple of times when a really great team leader did all of the admin and left me to do the code and nothing else.

    Eventually the years of Jovial, Occam, Ada and Pascal came to an end, and I was unemployable even as a day-coder. So I moved into testing, and now I’m doing more coding than ever. It started with VBA, then some Java (at work), plus one simple Python script. Now I’m dabbling with Python at home, reading about design patterns, finally shifting from structured thinking to OO (way late, I know), and thinking about writing an app for the iPhone/iPod Touch.

    Do night-coders, think seriously about not taking that day-coder job. You have been warned !

  40. Pingback: Programadores de día VS Programadores nocturnos. »

  41. Pingback: Los programadores de dia y los programadores de noche - Tomcovy’s Weblog

  42. Alex

    @Daniel Moth:

    The problem with discussing such things on a blog is that it is one-sided: only night programmers are reading it/this!

    So So true!!

  43. Pingback: Domesticating Programmers | Binary Streams

  44. Flavio

    I worked with night programmers and day programers and i found Night programmers to be really hard to work with . They are like a spoiled child. Day programmers will get things done in a professional way.

  45. Munim

    I am a night programmer by nature… have to do day programming for living though. I found this discussion logical, academic and humorous at times. All my thoughts/beliefs were already mentioned by others… therefore I can go for a daytime sleep now 🙂
    goodnight… oops goodday !!

  46. suhail

    i won’t agree with the post, i am a programmer and i have seen some geeks and nerds come up with awesome solutions, be it day or night, it depends upon the prgrammer at work, some geeks are early morning sparrows and some are night owls, what ever time your thinking potential is active, its about that.

  47. Pingback: https://notgartner.wordpress.com/2006/02/19/the-day-programmer-vs-the-night-programmer/ « Sony Arouje Blog

  48. Pingback: 白天工作型程序员 vs 夜晚工作型程序员 - 博客 - 伯乐在线

  49. Pingback: 二逼程序员 VS 苦逼程序员 | 全信息

  50. Pingback: [zz] 白天工作型程序员 vs 夜晚工作型程序员 | 拈花微笑

  51. Pingback: Programmer’s ….. « Deepak Kumar 's Weblog

  52. asdfasdfasdf

    You stupid. There is no different between Day Dev and Night Dev.
    A foolish developer will also think about the diff between them, because he doesn’t know what he does.
    For job for life for money, ok, anyway. Keep fit and health , you can do more or death and hospital.

  53. Pingback: Here’s What You May Have Missed This Week » Eddie Awad's Blog

  54. Pingback: Here’s What You May Have Missed This Week | Oracle Administrators Blog - by Aman Sood

  55. Pingback: Here’s What You May Have Missed This Week « oracle fusion identity

  56. Pingback: 二逼程序员 VS 苦逼程序员 | 活小勇

  57. Chayan

    Some phenomena can not be proved unequivocally by science, where statistics speaks for it… Popcorn lovers typically love coke alongside while who eats popcorn only to fill in empty stomach might not. I firmly believe natural programmers are night programmers, although they might do programming at day for living sake. (just my personal opinion, that coincides with most people across world)

  58. Pingback: The Day Programmer vs. The Night Programmer « notgartner : On the 8 Spot

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s