Code Monkeyism

Programming is hard by Stephan Schmidt

American vs. European style of Software Development

There are two different cultures in the US and Europe. The US is more about freedom and power, one can get to the top alone, gun slinger mentatlity. Europe is more about security and safety, about making it as a group. This can be seen in foreign policy, gun laws, social security and health care (as always this is a generalization. If you want to know more about that, read “The European Dream” from Jeremy Rifkin.) I’m not saying one is better than the other, just that they are different.

These two styles can also be found in software development. [I don't talk about American vs. European developers - just about development styles] One group of developers favor security and safety, another group favors power and freedom. The security group tends to static languages like Java, to conservative architectures and technologies. The other groups tends to meta-programming, dynamic languages and try every new technology which flows down the river - merb, mongrel and everything that is hip. Both come from a different background and different experiences.

I think this view explains a lot different cultures and their goals and views.

Thanks for listening.

About the author: Stephan Schmidt is currently a team manager at ImmobilienScout24 in Berlin. Stephan has been working as a head of development and CTO. He has used a lot of different technologies in the last 20 years including Java, Rails and Python. Stephans main field of interest is maintainablity and productivity in software development. Want to know more? All views are only his own.

If you did like this article but you don't want to subscribe to new articles with your reader, you can follow me on Twitter or subscribe to new posts with your email:

Comments

Stefan

Stephan,

as interesting as it is - I’m not so sure about your conclusion. It’s not so typically European to do static languages. I know some people that are very fancy about dynamic languages. Though I don’t know very many who are successful with dynamic languages in big companies with many developers, PHP and Rails have quite a big community in Germany. PHP of course being the most important with a big lead.

That such hypes mainly come from the U.S. might be an indicator for power and freedom driving creativity - and for a comfortable lead in IT research. And for sure those who create something mostly adopt it first. It takes time from America to Europe.

Stefan

stephan

Ah, sorry to be misunderstood. I didn’t want to imply that Europeans use static languages and American use dynamic ones :-) Just that as there are different cultures between countries, there are different cultures in developer circles.

Some might argue - and I think Rifkin does - that European are more safety conscious because of wars - especially WWI and WWII - and Americans more about freedom and power because of the border mentality and where the settlers came from.

A very vague analogy could be made from there: Dynamic language proponents come from powerless environments and favor power and freedom whereas safety aware developers have been stung once to often by software projects and have seen lots of projects go down in flame because of to much power and freedom.

pcdinh

PHP development is driven by French and German at the meantime

It does sound like an extreme oversimplification, though.
Just as you cannot compare the culture and mentality of someone living in New York and another person who’s in some town in Arkansas, one cannot abstract such things at the level of Europe.

We already have *huge* differences in mentalities and culture on how to run projects between Germany, France and the UK.

Germany is much of “let’s be 100% sure that we’ll be able to do this” before starting doing anything. France is “let’s just do it”, without any plan at all, and an extremely rhetoric point of view, where the methodology counts more than anything else. Those two are already completely opposed.
You also have important cultural/business differences on how to deal with management between Germany and France, where the French have a very feudal way where one may never, ever criticize the boss. In Germany, you get to find a lot more businesses with a more practical culture, where telling your boss that what he’s saying is rubbish is perfectly fine, because it does lead to better results (and not crashing into that wall in front of you, just because you cannot tell your boss that he’s driving right into it).

Now that’s also an oversimplification, as almost any abstraction when it comes to human beings and culture, but it’s certainly what I have experienced, working for an European company, driven by French, in a subsidiary in Germany, and being somewhere in the middle in terms of culture, being from Belgium. But even there, it depends a lot on the teams, on the people who lead and work in those teams, regardless of their geolocation.

stephan

@Pascal:

“Germany is much of “let’s be 100% sure that we’ll be able to do this” before starting doing anything. France is “let’s just do it”, without any plan at all, and an extremely rhetoric point of view, where the methodology counts more than anything else. Those two are already completely opposed.”

Oh, I didn’t know that. I just assumed France was more like Germany and the social and health care system, the unions, strong working contracts being more or less the same - even more security oriented in France (from strong unions, 35h weeks etc.), more state companies who won’t lay off people, high pensions, tighter regulated markets etc.

I didn’t know France was more like the US with no big health care systems, a more hire & fire mentality and long work weeks without holidays. I thought French people were as security and safety oriented as the Germans.

Thanks for your insight into France.

I was taking most of my insights from Rifkins book.

@stephan

Ummm… no, France, Germany, Belgium (even more so), Scandinavian countries are a lot as you described wrt social and health care system. Actually, Germany is having somewhat of a two class health care system (but not as bad as it is in the US, not by any means). France probably has the strongest laws for protecting workers.

I was exclusively talking about the mentality in business and how IT projects are done, not about health care system at all. Which was the topic of your post, wasn’t it ? :)

Now if we’re moving the scope outside of our little world of IT business, Rifkin is quite correct and, yes, compared to the US or even partly to the UK, the “social security” models (health care system, pensions, protection of workers, …) are very similar in western Europe (can’t say much about eastern Europe though). It is definitely caused by WW1 and WW2 (actually, the European Union is a direct consequence of WW1 2 as well).
It is also interesting to note that after WW2, several countries in western Europe were on the verge of becoming communist - at least, it was the case in Belgium - and the many social guarantees we have in our laws and constitution nowadays (such as a strong health care system, protection of workers, …) have been granted in order to move the opinion to take the other political side.

The differences in terms of mentalities are quite interesting indeed, at least between North America and Europe. I was chatting with someone on IRC a few years ago and he was asking stuff about Belgium because he wanted to move to Europe but didn’t know where yet. We talked about the cost of life, typical house prices, taxes, health care system and such. When I told him that I pay something like 45% of taxes (including health care), he was going “wow!! that much!?!”. And I said, “well, yeah, but it covers a lot” and I went into more details. And then there was the culture shock, when he asked me “but why are you paying taxes for people who don’t work ?”.
Erm… well.. I mean… most of them don’t do on purpose, right ? You can get ill quite badly, or handicapped, or lose your job for whatever reason and not necessarily manage to find another job that quickly. Those high taxes we’re paying are also there to guarantee complete health care coverage and a monthly pay (as there’s a minimum income guaranteed by the state) for those who are not fortunate enough to have a job. He found that extremely shocking and just couldn’t understand it.
So, yeah, if we abstract as much as to compare the model in the USA and Europe and if we’re talking about state, health care and such, then one can certainly put all EU countries into the same bag ;)

I think what you may have identified is that the prevailing philosophy in America is pragmatism. Or rather, the thing that makes pragmatism appealing to an American audience. And conversely, what makes collectivism and the security of groups appealing to Europe.

Scott Powell has a good analysis of the latter, from a historical perspective:

http://powellhistory.wordpress.com/2008/02/25/europism-collectivisms-failure-and-the-resentment-of-america-part-1/

There’s a funny story (to which I can’t find a link) about LEGO marketing their toys in the United States. While European kids would diligently build whatever was on the box, using the enclosed instructions, American kids would start by throwing away the box and then build whatever they wanted. I think that describes the difference in attitudes that you’re talking about.

stephan

@Apocalisp: I grew up with lego and have still several kilograms somewhere ;-) And I’ve build whatever I liked. Mostly spaceships or planes though.

Yeah, I like the American pragmatism.

stephan

@Pascal: In Germany I’m paying 45% too :-)

What I already said to Stefan before: I didn’t want to reason about European and American style as in “America vs. Europe” but more about calling one developer style American and the other one European. Both - the American and European style - are practiced in Europe (and in America)

Any evidence? Or is this just conjecture? I’m interested in knowing if you have anything more concrete here than a sense.

stephan

Evidence? Hard to come by. Suggestions for finding some evidence? What would consist evidence? I guess this would take an PhD thesis to gain some evidence - but then still … Evidence? In the Newton way? Or mathematical way? Can human behavior be proven? Not sure.

No it’s more about me making some sense in the things I see.

If you agree - good. If you don’t agree and it doesn’t make sense to you - good. Then I guess you need to search and look into different ideas so development cultures make sense to you.

stephan

Thinking some more: Evidence for what? That there are at least two development cultures - one favoring safety and one favoring power and freedom?

All right, a brain dump:

I think that you are partly right: there are two (probably more) different kinds of development cultures. One being “let’s do everything right from the start by analysing the problem domain rigoursly” and the other being “ok, so nobody knows how to solve this… let’s just try few different probable solutions and see which one works best.”

Let’s call the first culture “Seatbelt” and the latter “Cowboy”.

I think that the Seatbelt culture is common here in Sweden at lest, especially in larger companies. In these companies the mindset “let’s do as we always have. It worked well enought before, hasn’t it?” is quite common.

Why? Well, it could be partly due to the fact that if you do as the company always does and fails then that alright (in some sense). BUT, if you fail in a way nobody have failed before (e.g., using some kind of new methology) then everyone will blame the you. This is completely wrong, in my mind at least.

The reason I think this is that if you keep doing as you always have done things then you will *never* learn anything. You personal development will stop. The development of you team will stop. The development of the company will stop. There will be no development at all. You have to fail sometime, or you never learn anything. The closer to the edge you are, the more often you fall over.

On the otherhand, the Cowboy culture, I think, is more common in companies that accept the possiblity of failure (small companies(?)). If you accept that there are risks, then you have more freedom to… well, more freedom to fuck it up (pardon the language). And if you have the freedom to fail, you have more freedom to take chanses (since there is already a risk of messing things up) and that let’s you try new things. A new project methodology for instance.

The Seatbelt and the Cowboy culture suit different project more or less good, I think. A project where everything is known, e.g., implementing a new feature in a ten years old application, then the Seatbelt approach is probably a good idea. On the otherhand, if you start from scratch implementing an application you know nothing about, then the Cowboy approach may be better.

Is the Cowboy culture more common in the US than in Europe? I have no idea. Is one better than the other? Perhaps, I’m not sure. What I am sure about, thought, is that they suit different project.

To conclude, I think the essense is this: dare to fail, and learn from it.

Fredrik Wendt

I believe you’re observation is correct but conclusion is wrong. I have a feeling that there are more high risk projects in the US than in the EU. Just look at what is happening with the economic arena. Wall Street have played it high for some time but what I’m reading now is that that time has come to an end.

I don’t think developers per se are more into security in Europe and chose static languages because of developers making decisions on technology. I do however believe that companies putting out the money want to reduce the risk (or so the believe) in a project by requiring the use of static languages.

Interesting though, regardless of what, why or where. :)

Leave a Reply