the blog for developers

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.

You can leave a Reply here. Of course, you should follow me on twitter here.

You can share this post!
Do you want to tell others about this article? Use the social bookmark icons to submit this artice to the service of your choice. Thanks.

About the author: Stephan Schmidt has more than 15 years of internet technology experience and 10 years experience in agile. He was head of development, consultant and CTO and is a speaker, author and blog writer. He specializes in organizing and optimizing software development helping companies by increasing productivity with lean software development and agile methodologies. Want to know more? All views are only his own.
Leave a reply.

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. :)

Another take on these theme (somewhat off topic, but surely entertaining):

Dijkstra: http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD611.html

Alan Kay: http://www.youtube.com/watch?v=s7ROTJKkhuI

This is why you must all use a free GNU/Linux distribution. When you use Free Software, you help your neighbors and heal all this divisiveness.

Not only will your computing be more free, but other aspects of your life will improve as well.

Stop supporting the corrupt practices of M$ and use GNU/Linux.

Feel free to stop by my blog and I’ll help you to change from your corrupt ways.

chris

one main difference between us/europe is that if you go bankrupt, in europe you are really screwed. there is no chapter 11.

Depending which country you live in, for ex. austria, you are definitely screwed for 7 years. if you fail within 7 years, they can impound you forever. You would argue that only the company is screwed, but you can’t avoid that. No bank would loan your company any money if you are not also personally liable, and this breaks your neck.

that’s why europe is very risk averse.

another thing is that you can’t activate self build software components in your financial statement. Now try to imagine the value of microsoft without theire self build software. Wouldn’t have been very interesting to invest in ;-)

[...] American vs. European style of Software Development [...]

Leave a Reply

What people wrote somewhere else:

Additional comments powered by BackType

Guide to CodeMonkeyism

Over the last 4 years I wrote many articles on this blog. To make it easier for you to find the relevant ones, I've organized them into topics.

Top 10

6 reasons why my VC funded startup did fail

Go Ahead: Next Generation Java Programming Style

Java Interview questions: Write a String Reverser

The dark side of NoSQL

7 Bad Signs not to Work for a Software Company or Startup

Is Java dead?

Scala vs. Clojure

Never, never, never use String in Java

No future for functional programming in 2008 – Scala, F# and Nu

Clojure vs Scala, Part 2

Java Developer

Is Java Dead?

Go Ahead: Next Generation Java Programming Style

Be careful with magical code

All variables in Java must be final

Never, never, never use String in Java

Bending Java: More readable code with methods that do nothing?

NoSQL Guy

NoSQL: The Dawn of Polyglot Persistence

The dark side of NoSQL

Essential storage tradeoff: Simple Reads vs. Simple Writes

Sharding destroys the goals of your relational database

The unholy legacy of databases

Startup/CTO

Development Dream Teams

6 reasons why my VC funded startup did fail

American vs. European style of Software Development

12 Things to Reduce Your Lead Time and Time to Market

The high cost of overhead when working in parallel

Essential storage tradeoff: Simple Reads vs. Simple Writes

Job Seeker

Another Good (Java) Interview Question

7 Bad Signs not to Work for a Software Company or Startup

Java Interview questions: Write a String Reverser (and use Recursion!)

Java Interview questions: Multiple Inheritance

As a Manager: What I value in developers

Top 10 Tips (+1) to Get a Pay Raise

Agilist

What Developers Need to Know About Agile

5 Practices Better to Change in Your Scrum Implementation

Scrum is not about engineering practices

ScrumMaster and ZenMaster: The joke of certification

What is Trans-Scrum?