National styles in hacking

Last night, in an IRC conversation with one of my regulars, we were discussing a project we’re both users of and I’m thinking about contributing to, and I found myself saying of the project lead “And he’s German. You know what that means?” In fact, my regular understood instantly, and this deflected us into a discussion of how national culture visibly affects hackers’ collaborative styles. We found that our observations matched quite closely.

Presented for your amusement: Three stereotypical hackers from three different countries, described relative to the American baseline.

The German: Methodical, good at details, prone to over-engineering things, careful about tests. Territorial: as a project lead, can get mightily offended if you propose to mess with his orderly orderliness. Good at planned architecture too, but doesn’t deal with novelty well and is easily disoriented by rapidly changing requirements. Rude when cornered. Often wants to run things; just as often it’s unwise to let him.

The Indian: Eager, cooperative, polite, verbally fluent, quick on the uptake, very willing to adopt new methods, excessively deferential to anyone perceived as an authority figure. Hard-working, but unwilling to push boundaries in code or elsewhere; often lacks the courage to think architecturally. Even very senior and capable Indian hackers can often seem like juniors because they’re constantly approval-seeking.

The Russian: A morose, wizardly loner. Capable of pulling amazing feats of algorithmic complexity and how-did-he-spot that debugging out of nowhere. Mathematically literate. Uncommunicative and relatively poor at cooperating with others, but more from obliviousness than obnoxiousness. Has recent war stories about using equipment that has been obsolete in the West for decades.

Like most stereotypes, these should neither be taken too literally nor dismissed out of hand. It’s not difficult to spot connections to other aspects of the relevant national cultures.

A curious and interesting thing is that we were unable to identify any other national styles. Hackers from other Anglophone countries seem indistinguishable from Americans except by their typing accents. There doesn’t seem to be a characteristic French or Spanish or Italian style, or possibly it’s just that we don’t have a large enough sample to notice the patterns. From almost anywhere else outside Western Europe we certainly don’t.

Can anyone add another portrait to this gallery? It would be particularly interesting to me to find out what stereotypes hackers from other countries have about Americans.

60 thoughts on “National styles in hacking

  1. Interesting. From the archetypes described: I’m most like German, but some Indian thrown in.

  2. I am a (flemish) Belgian, and I recognized myself in your description of the German.

  3. Having worked with hackers from all 3 places, I wouldn’t necessarily attribute to Indian ones an excessive deference to “authority figures” in the sense of individuals…what they do seem far more likely to have is a near-pathological deference to the authority of institutions and procedures and standards. (Actually, since we’re speaking of stereotypes, just think of the ordinary American’s stereotype of Germans, in this regard. It’s been pretty rare among the actual Germans I’ve known, but far more common among Indians.)

  4. >I wouldn’t necessarily attribute to Indian ones an excessive deference to “authority figures” in the sense of individuals

    OTOH, I’ve personally experienced that one a lot. The most obsequious and creepy “please let me be your disciple” requests to land in my mailbox always come from people with Indian names.

  5. The other one that I would have thought would have made the list would be the Asian. I have attended about two Penguicons and don’t remember any that I can recall. I do remember seeing a number of east Indians. Also noticed there were few if any African-Americans there.

  6. Also noticed there were few if any African-Americans there.”

    The white hat hackers scare them off

  7. I fit squarely into the Russian stereotype despite having no recent ancestry from there. Here’s the best American stereotype I can come up with, despite it being colored by an inside perspective:

    His favorite words are “Ship it!”. Loves building new features but hates doing maintenance. As a result, tends to let technical debt pile up until it becomes too much to bear, and then does The Big Rewrite. Likes automated testing, continuous integration, and anything else that lubricates his development workflow. Dislikes strong typing, following others’ coding conventions, or anything else that he perceives as cramping his style.

  8. I’ve worked with all three of these stereotypes and, modulo individual differences, they are pretty much spot on. I will note that Austrians are exactly like the Germans, except for the rudeness. Where a German gets angry and rude an Austrian will get more and more upset; until you do it their way so they will stop fidgeting.

    The Chinese stereotype: Smart and enthusiastic. Tends to over-estimate how much they understand the requirements and, unless carefully supervised, often produces something different than expected. Works very hard, but must be pushed into doing unit tests; to the point they can seem lazy despite the significant effort they are actually putting in. Sometimes sloppy. Rarely adds useful comments to code. Dislikes code reviews for some reason.

    The Japanese stereotype: Extremely thorough and careful coders. Very bureaucratic mindset and very mindful of authority. Requires extensive documentation and specifications before they will start development. If something isn’t working right they will often point to the spec as the source of the problem. (They are all about saving face.) Very good at unit tests. Can be very good at low-level coding.

  9. The Russian: A morose, wizardly loner. Capable of pulling amazing feats of algorithmic complexity and how-did-he-spot that debugging out of nowhere. Mathematically literate. Uncommunicative and relatively poor at cooperating with others, but more from obliviousness than obnoxiousness. Has recent war stories about using equipment that has been obsolete in the West for decades.

    And because so many of them have been trained up on obsolete equipment, Russians tend to be fastidious about efficiency, and fond of languages and environments — like Forth — that most American hackers would shudder at. They tend to frown on what we consider state-of-the-art, modern development — toolkits, frameworks, abstraction on top of abstraction on top of abstraction. Is wasteful. Is like tryink to brush your teeth through asshole: sure you can do it, but is not the best way.[1]

    Long ago I worked on a unique, proprietary Web framework that had been hacked on by a team of Russians. It appeared to initially have been a relatively simplistic way of providing server-side includes that had been extended to support two additional languages for generating Web content. One was Python; the other was a peculiar Forth-like language that had been cooked up by the Russian team specifically for this task and this runtime. This language supported two syntaxes: one was RPN, the other was an indentation-sensitive, Python-like syntax. It was clear from the general cruftiness of the latter syntax that the RPN syntax was what was intended to be used, and the Python-like syntax was a sop to the other developers who didn’t speak RPN.

    Needless to say, and thankfully, most of my work for this company and application was done in Python.

    [1]I can’t take credit for that one; it comes from a Ukrainian mechanical engineer I worked with at a previous job.

  10. There’s a man I know (former spouse of a GTer you know slightly) who had experience with German and Italian programmers. (Institutional, not hackers.) He told me that Germans were orderly and methodical, matching your stereotype.

    Italians were creative and aggressive, freewheeling “cowboys”. If it was necessary to get the project up quickly, he’d take Italians every time. Does that fit Italian hackers?

  11. >The Chinese stereotype: Smart and enthusiastic. Tends to over-estimate how much they understand the requirements and, unless carefully supervised, often produces something different than expected.

    Interesting. I have almost no experience of working with Chinese hackers, but I observed this to be exactly true of Chinese hardware engineers.

  12. >I will note that Austrians are exactly like the Germans, except for the rudeness.

    Yeah, I believe that. The German stereotype seems to be more weakly true of non-Germans speaking Germanic languages (Dutch, Austrians, etc.); the main difference is that non-Germans are less territorial and less difficult when annoyed.

  13. Re: JW Bell’s Japanese stereotype, above:

    I haven’t worked with a lot of Japanese programmers, but I have worked with a number of Japanese in related fields, and they all had an extreme tendency to follow The Rrequirements slavishly. They also had a tendency for their heads to explode if you were to suggest that The Requirements might be wrong. It would not surprise me at all if Japanese programmers also shared this tendency. As for Japanese “hackers”, I have no opinion. I expect hacker-dom might obviate some of this tendency.

    [War Story: One of the projects on which I worked with a lot of Japanese was a project where the requirements had been hashed out over who-knows-how-long by a commitee of THIRTY accountants and finance staff. The end product was to be used by one person, who was never consulted on what the thing needed to do. We (the developers) didn’t find this out until a couple of days before the product went into production, when the single solitary user was finally allowed to see it for the FIRST TIME. Most readers will not be shocked to learn that it didn’t do what it needed to. When we brought this up to management, they just pointed at the spec as if that forgave spending tons of money building the wrong thing. If I wasn’t sold on “agile” development before that job, I sure was afterwards.]

  14. >I expect hacker-dom might obviate some of this [Japanese] tendency.

    I suspect so, too, but Japanese culture is so extremely bad at nurturing hackers that we probably can’t get a significant sample size. There are absurdly few of them given Japan’s level of technophilia and Internet penetration.

  15. The Japanese stereotype: Extremely thorough and careful coders. Very bureaucratic mindset and very mindful of authority. Requires extensive documentation and specifications before they will start development. If something isn’t working right they will often point to the spec as the source of the problem. (They are all about saving face.) Very good at unit tests. Can be very good at low-level coding.

    Most Japanese programmers are salarymen. In a typical Japanese corporate setting — and quite unlike America — programming is considered just another engineering discipline, or even a subset of what an electronics engineer is expected to do.

    There is another broad subtype of Japanese programmer — the “pasokon otaku” type — which is probably where the majority of Japanese hackerdom comes from. Most pasokon otaku are not programmers; in fact I’d say the vast majority are probably just gamers. But the ones who are have much in common with the stereotype Eric attributes to Russians: relatively uncooperative loners who pull wizardly feats out of their asses on a routine basis. The combination of Asperger’s syndrome with being Japanese can be a tremendously powerful thing, as it makes you doubly obsessive and doubly detail-oriented.

    The reason for this schism is that there is still a high social stigma to being an otaku in Japan. Unlike in America, where nerds have bottom-feeder status amongst their peer group but their moms still think they are cool, a Japanese otaku may actually be bringing shame to his family with his reclusiveness and lack of concern for things Japanese society deems important. The salaryman programmer is a functioning member of Japanese society with a lot at stake, and so must save face, pay due respect to his sempai, and so forth; the pasokon-otaku programmer has little at stake. He may be a freeter or similar, or still live with the parents who resent him and wish he’d get out more. (He might also be a salaryman or other seemingly ordinary worker operating in stealth mode on nights and weekends.) Whatever the case he is free to do things his own way; and impressing other otaku with his skill and dedication, not pleasing his superiors, is the relevant social goal.

    The anime Battle Programmer Shirase is a hilarious but mostly respectful parody of this stereotype. Real-life examples include doujin game coders like Pixel of Cave Story fame; Matz has aspects of this personality type as well.

  16. @ESR: I would expect the comment about non-German speakers of a Germanic language to apply to German speaking Swiss, too.

    Curiously, the *spoken* form of Swiss German has diverged far enough from High German that a native German may not understand it. The divergence is creeping into written forms, too – young German speaking Swiss have adopted Schwiizerdütsch as the preferred language for texting, and the usage is starting to be taught in Swiss schools.

  17. >@ESR: I would expect the comment about non-German speakers of a Germanic language to apply to German speaking Swiss, too.

    So would I, but I don’t have enough experience working with Swiss-Germans to confirm.

  18. >Matz has aspects of this personality type as well.

    Matz is what you get when the pasokon otaku traits occur in someone who’s actually functional. And there’s only one of him. (For those not clued in, Matz is the author of the Ruby programming language, and universally acknowledged to be pretty freaking brilliant even by people like me who don’t use Ruby.)

    IOW, this combination is so rare that a first-world country of 128M people has managed to produce exactly one hacker of the first rank. Several much less populous European countries do as well or better.

  19. Matz is what you get when the pasokon otaku traits occur in someone who’s actually functional. And there’s only one of him.

    Matz is the only one you know about. Shiro Kawai is another such; he’s relatively well-known in the Lisp community, particularly as the author of Gauche (a Scheme implementation). Keisuke Nishida started the OpenCOBOL project (don’t snigger; implementing a language of COBOL’s legendary complexity requires true wizardry) and also wrote a VM for GNU Guile that formed the inspiration for Guile 2.0.

    A number of Japanese hackers have worked on the BSD operating systems, in particular adding IPv6 support. I can’t name their names, which brings us to that other stereotypical Japanese trait: humility and self-effacement. Shigeru Miyamoto frequently self-describes as just another loyal Nintendo employee; someone of lesser rank and stature is bound to be pert-near invisible, especially to Westerners if they don’t speak English.

  20. >Matz is the only one you know about.

    I stand by my evaluation. To qualify as first-rank, a hacker has to have earned a stellar rep outside his technical community of origin. Dennis Ritchie did, Larry Wall does, Guido van Rossum does, and Matz is the most recent language designer to achieve this. Most language designers never do.

  21. @Rich Rostrom: yes, that fits the bill, and in general it fits with the stereotypical italian culture (I’m Italian). Stereotypical Italians tend to be very creative and aggressive on problems and technologies, but get bored and move on relatively quickly. We’re good at grasping complex and elegant designs, poor at planning and testing. So your friend’s description perfectly fits the bill.
    Hackers IMO tend to be more exposed to the dominant anglosaxon culture, so the traits are more blended to the melting pot.

  22. IOW, this combination is so rare that a first-world country of 128M people has managed to produce exactly one hacker of the first rank. Several much less populous European countries do as well or better.

    The capability is there, but Japan only seems to allow genius to be unfettered in periods of turmoil, upset and/or desperation. There was certainly a flurry of scientific genius in Japan in the late 19th and early 20th Centuries, that had a rather more Western flavor than would be possible now. Here’s an example: http://www.noii.jp/com/aikitu/english.html

  23. Pingback: National styles in hacking • bring back unix

  24. This starts to remind me of the old Heaven and Hell joke:

    Heaven Is Where:

    The French are the chefs
    The Italians are the lovers
    The British are the police
    The Germans are the mechanics
    And the Swiss make everything run on time

    Hell is Where:

    The British are the chefs
    The Swiss are the lovers
    The French are the mechanics
    The Italians make everything run on time
    And the Germans are the police

    And I wonder what might happen if you could arrange a major development effort so hackers from different national cultures got tasked matched to their coding styles.

    In practice, it’s a subset of “putting the right person in the position”, where personalities and cultural background are often not considered, and you get Hell instead of Heaven.

    (An old friend spent some time as a consultant helping to implement a large system in a multinational setting, and described sitting through an extended presentation by a member of the team on why his employer should not do a particular piece of the effort, when his employer had already decided and he had already informed the group that they had no interest in and were not bidding to do that piece. The other guy was determined to do his presentation regardless of the fact that it was irrelevant. IIRC, the presenter in question was French, which figured.)

  25. I suspect so, too, but Japanese culture is so extremely bad at nurturing hackers that we probably can’t get a significant sample size. There are absurdly few of them given Japan’s level of technophilia and Internet penetration.

    How about Koreans, then?

  26. “Stereotypical Italians tend to be very creative and aggressive on problems and technologies, but get bored and move on relatively quickly. We’re good at grasping complex and elegant designs, poor at planning and testing. ”

    So this is why one might want to drive a Mercedes over a Fiat, eh?

  27. “The Indian: … quick on the uptake”

    Since Indians are brown, you had to be politically correct and give the counter stereotypical stereotype.

    While indians are indeed eager, cooperative, polite, and verbally fluent, “quick on the uptake” is not part of the stereotype.

    The most notable feature of Indians is that while their eagerness to please real or perceived authority figures is legendary, tribalism, clan and caste organization lies just beneath the surface. If you get enough Indians in one place, each Indian micro ethnicity will plot sinister plots against the other Indian micro ethnicities and the whites in the workplace. In the last days of Informix, the place started to resemble Afghanistan.

  28. The professor who taught me numerical analysis (also a de facto scientific computing class) has been an analyst in industry since the 70s and never stopped writing in FORTRAN. He said that Russians were terrible programmers because they grew up with a “measure twice, cut once” mentality — they’d assume that doing a good job meant doing it right the ‘first time’, and they didn’t really understand debugging or trial-and-error. (He’s Russian himself.) He claimed the Chinese had the same problem but the Indians were somewhat better.

  29. ESR> The German: Methodical, good at details, prone to over-engineering things, careful about tests. Territorial: as a project lead, can get mightily offended if you propose to mess with his orderly orderliness.

    I think that’s right on, and it’s similar in engineering and science. I attribute it to near-zero college tuitions. In Germany, you can bet high odds that any given person who’s smart enough to be a hacker will get a college education, usually in some STEM subject. America, by contrast, has a much larger population of self-taught, non-academic hackers because college is usually expensive. The result is less method, more flexibility, more-open minds.

  30. @Thomas: “I attribute it to near-zero college tuitions”

    Interesting theory, but I don’t. Formal studies in CS will attempt to teach a development methodology, but that doesn’t mean graduates won’t have an open mind.

    The obsession with precision and order is more of a national culture characteristic, and I’d expect it to manifest in a German hacker who wasn’t a product of college training. That sort of worldview gets inculcated *early*, and is already in place by the time college comes around. (It’s what I think of as a “formal system”, learned by admonition and precept beginning as a small child, and on the level of reflex behavior as an adult.

  31. “He said that Russians were terrible programmers because they grew up with a “measure twice, cut once” mentality — they’d assume that doing a good job meant doing it right the ‘first time’, and they didn’t really understand debugging or trial-and-error.”

    Considering how the cost of fixing bugs escalates the further down the development chain you go, I think that the Russians are onto something.

  32. Considering how the cost of fixing bugs escalates the further down the development chain you go, I think that the Russians are onto something.

    In most cases, having a “development chain” to go down is the wrong approach in itself. Customers don’t know what they want, and rarely do designers or programmers know enough to do a top-down design of any complex system right the first time.

  33. I think the reason you can’t identify other national styles is because Anglophone or Western societies generally aren’t homogeneous cultures. I should perhaps modify that in India’s case to the educated class only (societally, they’re definitely not a homogeneous culture). I don’t think it’s unrelated that Roman expansion ended at Germany. There is a definite West/East divide in cosmopolitanism in Europe.

    I do have one to add that perhaps you haven’t run across (living in Australia I’ve met far too many). South African, especially if Afrikaner, engineers are like Germans on steroids. Again, a very insular culture. I have no doubt their hackers are similar.

  34. @Ltw. True about many South African engineers; a breed unto themselves (I’m an engineer-turned-programmer so I speak from experience), especially the older generation who spent a lot of time interacting with Germans. But I strongly disagree you can extrapolate this to hackers – the cultural divide there is actually huge!

    Any takers on Israeli hackers?? As culture they are very assertive and convinced of their natural superiority (over anyone, it seems) – how does this translate to their coding approach?

  35. @Jay Maynard: compare apples with apples, please. You can compare a Mercedes with a Lancia or (for the top commercial Mercedes models) with a low-end Ferrari or Lamborghini. But apart from that, it’s spot on. Just as an example: common-rail Diesel fuel injection – the standard of all modern diesel engines – was invented at Fiat. But then they lacked the structure and the means to develop it, so they sold the technology to Bosh who developed it. That’s cultural differences at their best.

  36. @LTW & @ESR – And what is your stereotype for Australian hackers?

  37. >@LTW & @ESR – And what is your stereotype for Australian hackers?

    I don’t have one. Several Aussie hackers I’ve met seem to conform to American stereotypes about Aussies in general (cheerful, hard partiers, very hail-fellow-well-met) but there wasn’t anything about their hacking style I could detect that differentiated them from other Anglophone hackers.

  38. I’ve not worked with too many German hackers, but I’m of German descent and I would have to say that is spot on. I have worked with programmers from India and Russia and would say those are spot on too. As a matter of fact, I’ve worked with several programmers from other Eastern European countries and the Russian stereotype holds pretty well with all of them.

  39. @DMcCunney
    I agree, when i was 14 i started the mother of all over engineered software projects but was as far from any formal education as one can be in Germany.
    It took me 4 years before i admitted to myself that trying to perfect the whole tool chain before i even started to solve a concrete problem was not a good idea.

  40. “The Russian: […] Uncommunicative and relatively poor at cooperating with others, but more from obliviousness than obnoxiousness.”

    Might that be due to the language barrier? Or are you only counting Russians who are fluent in English?

  41. > Long ago I worked on a unique, proprietary Web framework that had been hacked on by a team of Russians.

    This wasn’t a small dev shot in Cambridge owned by a big mid-western printing company, was it? Or does the world have several Russian-designed custom in-house web development frameworks with their own stack-oriented RPN language (but-Python-if-you-must)? In my case it was built by a single Russian, though, not a team. He was famous for having answered a client who complained about diverging from the spec, “The wolf howls at the moon, but the moon keeps on shining.”

  42. DMcCunney> The obsession with precision and order is more of a national culture characteristic,

    Screw you, DMcCunney. (You cornered me and I’m German, so you probably knew I’d say that. :-)

  43. By and large, I am sure that the people commenting on this blog, and esr himself, have mostly met Indian hackers, plus a few Russian hackers.

    Everyone was perfectly happy to discuss Russian hackers, but no one dared discuss Indian hackers, other than esr’s improbably PC account of them.

    Indians have a number of notable differences in programming style, for example they are apt to write fortran in any language, as the saying goes. I suppose that some of these differences are for the better, and others for the worse, but no one, not even I, dared touch on them.

  44. @Thomas: I made no assumptions about what you might say, but am unsurprised you were cornered. :-)

    The differences in hacker style being discussed all stem from patterns in the underlying culture in which they are raised. That cultural may not be national, precisely, but does map to geographic areas inhabited by people sharing the culture. Most of those patterns occur on an unconscious level and are things picked up by osmosis beginning in early childhood.

    To take an example unrelated to hacking, consider “personal space”. Think of the last gathering you were at in an informal setting where you were talking to someone you met for the first time. How far apart were you standing? In North America, the answer will be”about three feet”, because the dominant culture here derives from Northern Europe and inherits that pattern, and it’s our culture’s idea of the proper social distance. No one explicitly *tells* you “Thou shalt stand three feet away from people who are not family or close friends”. You learn it beginning in early childhood by watching and imitating what you see the adults do. By the time you are an adult, it’s unconscious reflex. In places in the Mediterranean, like Greece, the proper social distance is about half that. Drop someone from our culture into that area and watch the fun. We’ll be uncomfortable and consider them “pushy” and “in our faces”. They’re just trying to maintain what *they* consider the proper social distance.

    Queuing behavior is another example. In the US and Britain, when people are gathered waiting for access to something, like a ticket window or a cashier at a store, the pattern is that you wait in line, and that line order is first come, first served, regardless of who you are. Elsewhere, the pattern may differ. A former co-worker spoke scathingly of an Albanian immigrant in her neighborhood whose practice was to bull his way into lines because he was bigger and stronger and could force his way in. Back home in Albania, that was probably SOP. Here, the only question was how long it might be before someone decked him as a lesson in showing good manners and waiting his turn like everyone else.

    I’m Irish on my father’s side, stemming from great-grandad who emigrated from the old country. Mom was a transplanted Brit whose family emigrated to Canada when she was a small child. I suspect I picked up bad habits from both sides.

  45. very true, I also very much liked the description of the American style.
    “His favorite words are “Ship it!”. Loves building new features but hates doing maintenance. As a result, tends to let technical debt pile up until it becomes too much to bear, and then does The Big Rewrite. Likes automated testing, continuous integration, and anything else that lubricates his development workflow. Dislikes strong typing, following others’ coding conventions, or anything else that he perceives as cramping his style.”
    I guess I’m half German and half American

  46. Jay Maynard on Thursday, April 11 2013 at 8:14 pm said:
    “So this is why one might want to drive a Mercedes over a Fiat, eh?”

    I would rather drive an Alfa Romeo than a Mercedes any day!

    Unstable, but so much more fun. Italians do it better.

  47. Adding to the German stereotype: entirely uninterested in exciting cool new technology for the sake of exciting cool new technology. Would be happy to use something oldish looking if it does the job. American hackers tend to have this attitude, too i.e. not embarrassed about EMACS not looking that modern, but Germans much more. Dislikes a bit the typical Linux way of putting lots of different tools together, he likes things packaged up so that you have everything you need for a given task in one package. For example a LISP packed together with a database and GUI: http://picolisp.com/5000/!wiki?guiScripting

    Russian: very clever, and a bit rude. “Why you want this?” “Because this is what the customer wants.” “Your customer wants stupid! They should want XYZ instead!” Followed by an actually good explanation why. Would never accept the “it does not makes sense but we are business, we just do what people are willing to pay for” explanation. He insists on things being done rationally no matter how irrational users are.

  48. entirely uninterested in exciting cool new technology for the sake of exciting cool new technology. Would be happy to use something oldish looking if it does the job.

    They may not be trendy, but you can never underestimate the German tendency toward over-engineering. Reminds me of a gag comment I saw once:

    “German-made anvils have more than 70 moving parts and need to be wound twice an hour.”

  49. > It would be particularly interesting to me to find out what stereotypes hackers from other countries have about Americans.

    You could say the very concept of hackerdom itself is in a way very American. There were two subcultures about programming for fun without much profit motive.

    One, the hacker culture first cultivated in American universities, was somehow able to combine the idea of having fun with actually productive, practical activity. This perplexed me at first – what is the fun in making useful things? Useful things are normally done as a job, for payment and with a profit motive. Or as charity. But fun? Hackerdom somehow developed a very, how to put it, “grown up culture” with people using their full names or abbreviations and not spectacular nicknames like Nightshade, are polite, discussions are constructive, and so on. A very efficient culture, but sounds more like an efficient workplace than having fun.

    The other one, developed in Northern Europe mostly, the demoscene: http://en.wikipedia.org/wiki/Demoscene

    The Scener attitude for programming for fun was to avoid practical, useful things. Instead, they simply focused on showing off skill. Much of it was more of an artistic skill, music, or drawing, rather than programming, but the programming side existed, and it was mostly “nutshell carvings” : trying to put awesome things into 4K or 64K or 96K executable sizes, for example the 96K first person shooter .kkrieger: http://en.wikipedia.org/wiki/Kkrieger of course there is very little point of doing such stuff other than showing off skill. Sceners took the fun part seriously, they never wanted to act like grown-ups like hackers did, they were more like a group of edgy, egotistical grafitti-artist teenagers, using spectacular nicknames / group names like Fairlight, Future Crew, Black Lotus, looking weird with piercings etc. getting drunk or high on demo parties, not being polite and constructive, sending “suxxorz” to rival demo groups, being proud of making things extra hard for themsleves and hand-writing unmaintainable, super-efficient, too-clever assembly code etc. and generally being useless, unproductive pricks – but having tons of fun and when all is said and done, being very clever pricks who played tricks like this one: http://stackoverflow.com/a/1477560

    Having been acquainted with Sceners in my teenager, it was a bit of a culture shock for me to learn about the hacker culture. People acting like grownups, being polite, constructive, productive and practical, and yet call this fun? It was hard to understand, until I realized that loving to work is so deeply ingrained into American culture (because of the lack of aristocratism and with that the lack of the celebration of idleness and useless l’art pour l’art creativity) that even fun looks a lot like work. Later on I adopted aspects of this attitude myself…

  50. Question: if you are a low-context type largely because you loath uncertainty, how do you cooperate well with high-context people who don’t mind uncertainty even in fairly important things? I.e. if anyone sends me an e-mail, I try to answer as soon as I see it. Even if the answer is something like “Will answer next week”, that is at least feedback, at least the other party knows what to expect. What do I do with people who never promise deadlines, if I set them they never accept it clearly nor reject it clearly, when they miss them they don’t apologize, never ask for clarification for parts of spec they don’t understand, they just say “we will work on it?” They seem to be happy about uncertainty, and I am not, I worry my butt off whenever something is not cast in stone. This happened to me with several subcontractors from Ukraine and I had no idea how to handle it.

  51. >Italians were creative and aggressive, freewheeling “cowboys”. If it was necessary to get the project up quickly, he’d take Italians every time. Does that fit Italian hackers?

    I am Hungarian (not hacker) and it fits us very well, too. I have difficulties communicating with people from cultures who see programming as an established, orderly profession (Germans) and not cowboy-wizardry, mystical, aloof, lawless, where only end results matter like making things work by the deadlines (a matter of cowboyish honor), and something to be respected by laypeople. Many Germans and Austrians see it as almost like a car mechanic, you get trained in school, you use the professional best practices, you get a salary based on your education level, no mystique at all. They still use the term “electronic data processing” (EDV) which is about the most un-cowboyish and un-wizardly attitude possible. But then I again I only know non-hackers, and hopefully hackers don’t say EDV, I guess they hate the term as much as I do. AFAIK in American hacker culture “data processing” became something like a running joke?

  52. > In Germany, you can bet high odds that any given person who’s smart enough to be a hacker will get a college education, usually in some STEM subject. America, by contrast, has a much larger population of self-taught, non-academic hackers because college is usually expensive. The result is less method, more flexibility, more-open minds.

    I think this is the wrong approach. The right approach is that any programmer worth his salt knew programming by the age of 18. Or more like 15. This is entirely independent of culture. Older folks who grew up before the PC era can be excused from this, but since about 1997 with Internet tutorials and whatnot getting into programming as a teenager from at home is so easy, everybody below 30 who didn’t code something up by the age of 16 won’t be a passionate programmer. I don’t even fully identify with being a programmer (50% business administration 50% programmer) but even I coded up some nibbles/snake game in QuickBasic and TurboPascal around 1992 at 14 years old because what the heck was I supposed to do with the computer, play games all the weekend? It was just the obvious thing to do.

    So the first question is, what does college offer to a 18 years old who finished Dive into Python, and then went to code up a text adventure or roguelike for fun? And the price is just the second question.

    It can give a lot of things from domain knowledge to theory, math, etc. but I think what matters here is plain simply that German employers are much more focused on employees having the right degree than American employers, largely because a German business would not pride itself on doing things in an entirely innovative, creative, own way but it would pride itself on upholding all the professional standards and best practices.

  53. I’ve heard that some Germans keep a written inventory of every item in their house. This would bore me. I let chaos roam, and try to use tools to filter the chaos.

    My grandfathers were German and Welch, my grandmothers southern France and Cherokee. I have some of the German desire to perfect and attention to details, yet I hope to design away from details that are not 80/20. I am always looking for priorities, yet hoping maximize my flexibility. My weakness is entertaining too many possibilities and not finishing, yet there are times when I accept the shortest path and finish. I think I am only locally territorial although my perception of myself may not be accurate when push comes to shove, i.e. control over the piece I am working on so as to minimize Mythical Man Month inefficiency.

    I am apparently not matching Daniel Franke’s stated American stereotype, since I am resistant to lack of strong static typing as a viable platform for large scale projects or a theoretical increase in modularity I seek. Perhaps I am fooling myself. I am not against “automated testing, continuous integration”, but I don’t want it in my way and don’t go out of my way to install it.

    My experience with Asians is conformance that other’s noted, and mixed with the tribal preferences underlying that JAD mentioned. I wonder if maintenance is a four-letter word in Chinese. The build big and take or leave it they will not listen, even if the toilet flows into the sink.

  54. I am typing with filipinos screaming in a netcafe. Numerous typos.

  55. >I’ve heard that some Germans keep a written inventory of every item in their house.

    Burglary insurance actually requires something like this, for the more valuable stuff.

  56. Dislikes a bit the typical Linux way of putting lots of different tools together, he likes things packaged up so that you have everything you need for a given task in one package.

    That explains systemd, which I fully expect to be made into a kernel module over the next year or two.

  57. This wasn’t a small dev shot in Cambridge owned by a big mid-western printing company, was it?

    The very same.

Leave a Reply

Your email address will not be published. Required fields are marked *