Is this some kind of Murphy's law? Maybe if I want to hire a very good programming ninja I should check out his website as in "Show my your website and I will tell how good you are"

EDIT: Go stackoverflow top users tab and you will see

closed as not constructive by Jon Hopkins, Walter Jan 19 '11 at 23:11

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

locked by maple_shaft Jul 18 '14 at 19:12

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. See the help center for guidance on writing a good question.

Read more about locked posts here.

  • 53
    Question assumes all programmers are web programmers, and further that all web programmers are also designers. I can tell you what looks good, that's about it. I'll let an actual designer (who likely can't program for squat, by the way) do what he or she does best. – Anthony Pegram Dec 30 '10 at 18:55
  • 2
    Maybe an example or to would help. – Eric Wilson Dec 30 '10 at 18:56
  • 27
    Where's your site? – JeffO Dec 30 '10 at 19:07
  • 4
    I think some examples are in order, because I know of a number of programmers that I'd consider good, who have nice websites. – Steven Evers Dec 30 '10 at 21:15
  • 2
    Not all programmers have ugly websites. I'm not primarily a designer or web programmer and although the content of my website could be better I'm pleased with the styling. see for yourself, active-thought.com . It just depends on the amount of time you put into it. – dan_waterworth Dec 31 '10 at 8:20

23 Answers 23


Because design is a specialization, just like programming: not everyone can do it. It takes years of training and experience to know how to recognize and implement good design.

Most people are not true polymaths, and either do not have the time, inclination, or ability to master two specializations.

Beyond that, most people don't have the resources to hire a professional designer to do their website. So, add that to the general programmer inclination to write one's own version of a website instead of using off-the-shelf tools, and you have a recipe for a lot of programmers creating websites that don't really look all that great.

  • 4
    +1 exactly. Web programmer tend to be better designers than embedded, too. – Michael K Dec 30 '10 at 18:07
  • 16
    @Jim: the last paragraph specifically addresses why programmers have ugly websites. – user8 Dec 30 '10 at 20:00
  • 8
    @Jim Leonardo: The answer to "Why do good programmers have ugly websites" is largely answered by "Why do good programmers have bad design skills". – Orbling Dec 30 '10 at 20:32
  • 6
    @Jim think of all the tacky, ugly stuff you see all around you: stuff that people wear, use, put on their lawns, etc. Every time, someone thought that was a good idea. Knowing what's going to be pleasing to the eye to most people is a skill most people don't have. – user8 Dec 30 '10 at 21:09
  • 6
    @Mark - I guess at the core, I see the question as not really being based on a true observation. Most programmers' sites are more boring than ugly. There's a broad gulf between boring and ugly in my world. Ugly sites usually are the product of fans of kittens who learned a little bit about html and now are obsessed with background images and animated gifs. All framed of course. With scroll bars. Lots of scroll bars. – MIA Dec 30 '10 at 21:41

One common reason is:

They don't care.

  • 7
    Delightfully laconic. +1. – Tim Post Dec 30 '10 at 19:11
  • 9
    +1. Exactly. Programmers care more about functionality, than about good looks, and more about power, than ease of use. And in general, they are too lazy to implement what they consider unimportant. – back2dos Dec 30 '10 at 19:15
  • 42
    +1. It makes me think about a colleague who rewrote his personal website (and it required a lot of work), to create a website even uglier and more difficult to use. When I asked him why he did it, he answered: "Because the new one uses MVC!". – Arseni Mourzenko Dec 30 '10 at 19:55
  • 4
    As far as personal sites go, "I don't care" is a good enough reason. However if it's a site to sell software, they definitely should care. A polished, usable site determines whether potential customers buy your products or your competitors'. A well polished design is virtual product packaging. – Jin Dec 30 '10 at 20:46
  • 1
    ease of use = power. – Michael K Dec 30 '10 at 21:10

This is a very simple answer:

The car your mechanic drives is often a beat up clunking 'restoration work in progress'.

Your electrician likely has wires coming out of their ceiling in more than one place.

Your plumber might have kludges that belong in a museum.

I'm not just a programmer, I'm also a pretty good photographer. I rarely shoot a roll of 'family' film, I just don't have time (yes, some of us still use that stuff called 'film')

We do this every day, many of us six days a week. The last thing we want to do is work on something as trivial as a personal web site when there are more interesting things to work on in our 'spare time' :)

Sure, the site may be ugly, but it is easy to maintain and works in any browser. Additionally, I think visitors to my site are more interested in the information that I make available, rather than pretty styles.

Think about StackOverflow .. you search, you find a promising link and you find what you needed to solve you problem. Were you impressed with the style? Will you remember it a few months from now? Probably not, but you will likely remember the knowledge that you gained.

  • 2
    @Tim: I disagree with the end of your answer, especially with the last example. There is a difference between design full of graphics and professional design. In the same way, a website easy to maintain and all-browsers compatible don't have to be ugly (BTW the ugliest websites I've seen are unmaintainable and not compatible with any existent browser). In the same way, the design of StackOverflow is made by professionals who know very well their job; if it's not full of images, it's because of performance and server load concerns. – Arseni Mourzenko Dec 30 '10 at 19:47
  • 1
    @MainMa - Unfortunately, you speak of a minority when it comes to what exists. Maybe reddit would have been a better example. I know both are designed by professionals. – Tim Post Dec 30 '10 at 20:02
  • 2
    @MinMa - The point is, the content is what people walk away with, which (I hope) satisfies the original itch to publish it in the first place. So long as it is readable, the design is incidental to those who want a solution to a problem. I remember some amazing things regarding the attribute macro with GCC, but I hardly remember the design, font or much else regarding the page that suggested using them. – Tim Post Dec 30 '10 at 20:42
  • 20
    Actually StackOverflow has excellent design – JoelFan Dec 30 '10 at 21:11
  • 1
    @SpashHit: Yes, but the important point is: Who actually designed it? =) – gablin Dec 30 '10 at 21:33

A good programmer != a good web designer. And there is absolutely nothing wrong with that. Putting pretty CSS on a site would also not be in any way indicative of a programmer's ability to write the PHP code (for example) that powers the site.

Not to mention that beauty is subjective and what looks horrible to you may look pretty good to the site's author. Unless they're applying for a web design gig, I wouldn't sweat it. Not having a "pretty" website does not make a programmer inferior or uncreative.

  • 4
    +1. I have a very plain design because I know if I try to make it any better it won't help. – Josh K Dec 30 '10 at 20:22
  • +1 Beauty is subjective and the uncreative are not inferior. – Orbling Dec 30 '10 at 20:38
  • I like this answer, but I would like to comment on the CSS part: If you're referring to CSS as in how the website will appear, graphically, then yes, I would most certainly agree. However, CSS code can be written in many ways, all of which may or may not produce the same appearance. The difference is that some code may be more robust and easier to maintain than others. And there I believe programmers would produce good CSS code if only they are told exactly what the final result will look like. – gablin Dec 30 '10 at 21:37
  • @gablin: Fair point. I was referring to writing CSS in the "style the website" sense, not in terms of the quality of that CSS code. – Adam Lear Dec 30 '10 at 21:42
  • You don't have to be a great designer to create a site that is not ugly. – JeffO Dec 30 '10 at 21:54

A well designed site consists of both good form and function. I think the OP talks about the form aspect here. From a function POV, I find most programmers' sites are quite well designed: I get the information I need quickly and clearly and the text is easy to read.

As for the form aspect, for obvious reason most programmers aren't trained designers. There's nothing wrong with that. However, you don't have to be a professional designer to create a decent simple site, as long as you are aware of basic design principals such as typography, layout, color theory etc and some common sense when it comes to usability your site will be quite polished. Having Photoshop knowledge has nothing to do with all this. You can have a perfectly elegant site without using a single piece of graphic.

I always tell my programmer friends to read some good design blogs(the ones that teach design fundamentals, not those who create list posts of the hottest trends). For those who are interested, here's a list design blogs I recommend: (reposted from Scott Hanselman's podcast)

  • Very nice references, +1 – dukeofgaming Dec 31 '10 at 19:20

Because programing requires a certain type of logical thinking, and aesthetics (making things look pretty) requires a very different type of thinking. There are very few people who have the knack for both.

  • 6
    -1 False answer. See Hackers and Painters. – Michael K Dec 30 '10 at 18:09
  • 12
    @Jim et al creative != artistic – Steven A. Lowe Dec 30 '10 at 18:33
  • 7
    I didn't say "creative". I said "aesthetic." They're two very different concepts. If I make a mistake, that's one thing, but please don't downvote me on the basis of something I didn't actually say. – Mason Wheeler Dec 30 '10 at 19:18
  • 4
    @ Steven Artistic != design either. The "ugly" websites issue is one more of effort and caring than anything. I'm not advocating a position that all programmers are creative or artistic. I'm just saying that being a good programmer and having a sense of aesthetics aren't mutually exclusive. I suspect they go together more than most folks will admit. – MIA Dec 30 '10 at 19:18
  • 3
    @Jim I'd have to go even further than that, and say you cannot be a good programmer without a very keen sense of aesthetics. Much like with mathematics, beauty and rightness and fitness to purpose and efficiency all happen together with programming. Which is at least half the point of the title "Hackers and Painters". – Frank Shearar Dec 30 '10 at 19:29

Here are a few items

  1. Reminisce about the old days when screens had black backgrounds, so they make their IDE look the same way. Throw in some green text.
  2. So disgusted with sites that take too long to open with all the pop-ups, huge images, Flash, and banners and we just want to know the temperature.
  3. Better things to spend money on than Photoshop.
  4. Showing a bunch of text and offering a few files to download hardly requires a great UI.
  5. Their sites won't make any more money if they looked better.

Just be thankful there's more than just a command-prompt.

  • command-line would be awesome: come see my website >echo "welcome to my website/online command prompt"; – sova Dec 31 '10 at 5:13

This is an example of counter signaling: "showing off by not showing off, or by playing humble." Note that some elite programmers have exemplary websites, which falls under plain signaling.

If you spent too much time making a custom logo and picking nice colors, it might show that you care too much about what others think. Elite programmers already know they are good, and don't feel they have anything in particular that needs to be proved.

Footnote: Some elite programmers had some of the very first websites ever, and a lot has changed since then. To see what I mean, see Warner Bros's website for the movie Space Jam, which has been unchanged since 1996. Bad sites now could've been considered "clean" a decade ago.

  • +1 just for the link. Part of the reason that doesn't looks so great is probably the resolutions we have. Wide screen, that's hideous. A window that is more to the tune of a 15" or 17" monitor makes that look ok. – MIA Dec 30 '10 at 19:48
  • @Jim Leonardo: what does monitor size have to to with window size??? – Javier Dec 30 '10 at 21:17
  • @Javier - I just meant when I shrank my browser window down to a pixel size that approximated what would have been common then (say about 800 x 600), it looked better. On a 24" wide screen, it look quite bad to me. – MIA Dec 30 '10 at 21:20
  • @Macneil: did you think the Space Jam website was "clean" a decade ago? I think if it was just on a plain black background it would be "cleaner" and I would actually like it then. – sova Dec 31 '10 at 5:16
  • @Sova: No, the point of the Space Jam site was to demonstrate how much web design elements have changed since then. – Macneil Dec 31 '10 at 5:38

I think it has has to with a utilitarian mind set. Think about it? What would a programmer consider flashy, a nice web site with pretty pictures, flash and an average load time of 30-60secs or a web site that is simple fast, contains everything the programmer thinks is useful and is really easy to maintain. Hell, some of use probably consider the command line more flashy than a neat pretty GUI. Ugly is in the mind of the user!

  • A few xterms with gcc, vim/emacs, and gdb can get you a long way towards being productive. I'd almost rather use make than some of the project stuff I have to do in Visual Studio. – David Thornley Dec 30 '10 at 19:10
  • And that has what to do with "ugly"? Simple can be beautiful, or at least attractive. I don't need hundreds of elements to constitute attractive. – MIA Dec 30 '10 at 19:32

No, it is a question of funding. Who is going to pay for the effort of having a "pretty" website? Same reason good programmers are not likely to offer a full fledged application as sample code.

Products cost real money and a nicely designed web site is a product.

  • It doesn't cost that much money to make a decent-looking website. Time, perhaps... – Philip Regan Dec 30 '10 at 18:37
  • @Philip Time in my book IS money. – Otávio Décio Dec 30 '10 at 18:37
  • 2
    The question was "Why do good programmers have ugly websites", not "why do good programmers have bad design skills", so the question of resources (time or money) is totally relevant. – MIA Dec 30 '10 at 19:26

The cobblers children have no shoes. If the site is beautiful it may be that the programmer, being busy enough with his paid projects, has used an existing theme or template. Also, it really depends on what language the programmer prefers - perhaps they are not strong with HTML and CSS or perhaps they are busy learning other languages rather than doing something that can be easily achieved by using existing free templates.

  • 1
    Just to clarify, HTML and CSS are not programming languages. I only feel the need to say this because this answer could be taken to indicate that they are. – aaronasterling Dec 30 '10 at 19:58

There was a site I visited that compared a website built by someone with a programming background and a site built by a graphic designer/artist. You could clearly see the artist was more pleasing to look at.

Obviously, it is because the artist understands things like what typography is appropriate for this site, the color scheme matches, and layout of the site is important too. Many programmers were never taught those kinds of things.


A really good programmer's website probably looks better when viewing the source code.


Hard to say why. I'm sure you could come up with a different reason for each example. That said, aesthetics are very important in programming, just as they are with math. It's not enough to solve something--you have to do it with elegance. At least that's what I feel the difference between a good programmer and a great one is.

Elegance, simplicity, and other soft concepts are difficult to perform but easy to recognise when you see it. Perhaps education has emphasized too much science in computer science and not enough of the softer arts.

As for me, I used the default style that came with my blog software because I just haven't had the time to customize it. Nor do I seem to have the time to blog much anymore so it's even lower on my priority list. That doesn't mean I don't put the proper care and attention into the work I do for pay. It's just a matter of putting the most work where you get the most benefit.


It's a mindset based on a false presumption. Most Web Programmers presume that they are not any good at design from day one. Designers acquire their skills by watching and doing - not in a classroom.

Many people are multi-faceted but never reach out of their comfort zone. I personally do both because I realize that if you want something done right you have to do it yourself.

I'm a Web Developer working on the new design of my blog: http://twitpic.com/3ihbgt


I think that it's not a matter of specialization, or the amount of spare time or money programmers have.

What you say is not actually true. Most programmers have beautiful websites. You're just looking at the wrong place. Take a look at sources. If you want to assess beauty of something a programmer created, check the source code! Sources is what a programmer creates, not the appearance.


Well, because I have considerably more interesting projects going on than dolling up my web site. Don't get me wrong. I would like to have a spifftastic website, and probably will go on a rampage of HTML5 at some point and rework my sites. But when it comes to "work on really interesting program" vs. "make website look decent", I tend to pick #1.

And for sheer amusement, check the design on http://www.berkshirehathaway.com/.


This is exactly why I use http://themeforest.net/ I am a developer who dabbles in design. I can make things look great, but I need a designer to give me an over all look and feel.

The last time I did a design myself, it took me 2 weeks and looked okay. Then we hired someone and in 2 days he had a design that blew mine out of the water. But, it was his specialty. Code is my specialty.

I think programmers get saddled with design much of the time either financial reasons. But I'd rather have my employer spend $30 and buy a template rather than have me spend 2 weeks worth of time and pay creating something that is mediocre at best.

There's an old saying: Good programmers write good code. Great programmers copy good programmers' code. I think this applies to acquiring design templates online (legally of course).


preference is given to basic hand written html website that talks mainly about publications and research projects instead of fancy flash art and that gaudy stuff.

  1. There are more complex problems to solve and worry about that the website.
  2. You get funding for new projects based upon the contents of your website than the website itself.
  3. Simplicity of the (textual) UI is preferred (or rather loved ) by the real programmers.

Programming is a way passing through the logic. When ever a programmer programs, he think of an item to complete efficient way and how easily he can achive it.

While design require Art to attract people. And if you have logic you cannot master art which all the people like.

So every time a programmer creates a design, he only thinks of what items are required and where to put them on page. They never think how to better represent it with help of design.


Programmers care about functionality, and are perfectly happy to not have gradients and curves when something simpler works just as well.

What does code look like? Probably "ugly" by the standards of the OP.

There's a reason that Piet paintings count as art, yet the Piet programming language is something nobody uses for real programs.


Because of other priorities and many things to do, so it's always pushed to "when I'll have time", same with holidays :D


First of all, most programmers fail with recognizing a good design. It's not about not caring about it, it's about not being aware of it.

Not the answer you're looking for? Browse other questions tagged or ask your own question.