
To be a good software engineer, become a French skeptic - Etheryte
https://www.karltarvas.com/2019/12/18/to-be-a-good-software-engineer.html
======
kaelig
I am French. This "start with no" attitude has been an issue when I started
working with other cultures. First, when I worked in London, and even more so
when I started working in California. At the first California-based company I
worked at, there was an implicit bias towards what I'd describe as an
"everything is awesome"-attitude (which was a huge departure from the French
way to start conversations).

I would start conversations the "French way" to debate certain aspects of
how/why things are done, but it backfired because I did it in a clumsy way,
without considering the cultural gap and how people were expected to
communicate at this company.

Today, I easily switch between American and French styles, but it took me a
while to understand what my California-based coworkers meant when they said
"it's more important to be kind than to be right"!

Curious to hear if this happens to other expats too.

~~~
zozbot234
> This "start with no" attitude has been an issue when I started working with
> other cultures.

The Indian attitude must be the polar opposite then. "Yes I understand. We'll
do the needful."

~~~
zwieback
One of our Indian coworkers gave us a crash course how to work with his team -
the answer is always yes so tracking commitments is where all the work ends
up.

~~~
NikolaNovak
OK, that sort of thing would be hyper-helpful to me; I'm an immigrant myself,
having fairly adjusted to North American/Canadian culture, now working with
remote teams in India I'll never meet. Without overly sterotyping, any useful
resources that would help me understand cultural standpoints and attitudes?

~~~
rramadass
Respect the culture i.e, don't be dismissive offhand and talk down to them.
Adapt yourself to the situation. We can be quite touchy even on so-called
trivial matters. Maintaining status, image is important.

Always read between the lines. Pickup on any hesitations, wishy-washy
statements and the like and interact accordingly. Get commitments written
down.

Hierarchy is important; bosses throw their weight around. You have to be
diplomatic in managing it.

Engineers crave recognition. Give them plenty of positive feedback and
incentives. Treat them as equals and they will open up. Once this happens they
can become very friendly and often personal but that is the culture.

Finally, make a trip to India and do meet your remote team members. Personal
interaction allows you to setup relationships which are invaluable in getting
things done.

~~~
scandinavegan
> Finally, make a trip to India and do meet your remote team members.

I'm from Sweden, and a Swedish colleague met a team that visited from India.
Half-way through the meeting she had to stop and ask why the Indian team were
shaking their heads. It turns out it was a head bobble or Indian head
shake.[1]

My colleague thought that they kept signalling "no, no, no" by shaking their
heads while she was speaking, but it turned out to be the exact opposite. I'm
very happy my colleague stopped and asked, because a lot of people would stay
silent and keep their misconceptions.

[1]
[https://en.wikipedia.org/wiki/Head_bobble](https://en.wikipedia.org/wiki/Head_bobble)

~~~
rramadass
Good approach when dealing with any unknown cultural nuances.

I always get annoyed when people go with preconceived notions and stereotypes
rather than asking/figuring out for themselves. In today's "Yellow-journalism
style media" facts and truth are no longer relevant but everything is turned
into a caricature. We should know better in this era of "Globalization".
"Cultural Sensitivity" is much more important than we realize.

------
Iv
Yeah, no (sorry). As a French, I often feel this part is misunderstood pretty
badly.

The second part is right: it is "why?" first. The "say no first" I think is
not a French thing, that's the result of the clash between the French work
culture (don't laugh) and others.

We are a bit anti-authority, I think it is hard to deny this trait. We don't
like being bossed around but that's not systematic or unavoidable: we just
want to follow orders we respect. So in France, you almost never give orders
to someone without explaining the why (and complain about the clueless
boss/client that made this order a necessity). Give us a good reason, the
first answer will be yes.

In many cultures (and especially here in Japan) the why is often omitted.
Without a why, we are very tempted to just say no. State a good reason or stop
wasting people time.

I do believe it is a defense mechanism we built against terrible managers.

~~~
scandinavegan
> We are a bit anti-authority, I think it is hard to deny this trait. We don't
> like being bossed around but that's not systematic or unavoidable: we just
> want to follow orders we respect. So in France, you almost never give orders
> to someone without explaining the why (and complain about the clueless
> boss/client that made this order a necessity). Give us a good reason, the
> first answer will be yes.

This is interesting. I'm Swedish, and in a previous job I had a series of
meetings with a French hardware design team. We were taught internally before
the meeting, and it seemed to be confirmed during the meeting, that the French
would be much more hierarchical than what we were used to, and that the French
designers wouldn't contradict their manager in the meeting. If the manager
said something, the designers would defend it, even if incorrect.

Contrast that with the typically flat organizations of a Swedish company, and
where a designer would be expected to correct a manager in a meeting if they
said something incorrect, otherwise you're letting the manager down. If you
know that something can't be done, for example, and have more information than
the manager, you're expected to say something. All of my managers would have
been upset if I let them look like a fool in a meeting by making decisions
with incomplete information, if I knew something that could help them. Both of
us would lose status by me not saying anything, rather than both losing status
by me piping up during the meeting.

That's not to say that the Swedish culture is perfect! A lot of people I've
worked with from abroad are annoyed by the consensus culture that everyone
here has to agree on everything. That can mean long times where no one seems
to make a decision, and a decision can be revisited and flipped because
someone later disagrees. I can see how it can be frustrating to never know for
sure if something is decided or not, and that it can feel like managers don't
take their responsibility if they want the whole group to make most decisions
together. Or, the decision can be unclear to someone from a different culture,
because the Swedish manager thought that the group reached consensus without
the actual decision having to be spelled out.

~~~
Iv
You guys are probably much better at this whole politics thing than we are and
I envy the Scandinavian egalitarianism in several ways.

It is not wrong to say we are hierarchical, but a more nuanced way of saying
it is that we will respect hierarchy formally but will short-circuit it
informally as much as we can. "Managing your manager" is seen as a chore that
we all have to do in order to get going. We respect hierarchies but it is very
common to see managers as a hindrance rather than a thing we are grateful for.

Of course every person and team is different, so you may be spot on with that
case you are mentioning, but I think that calling this behavior hierarchical
is missing the core dynamics there.

We are used to conflicts or at least frictions in many interactions,
internally or externally. There is a sense of group and supporting the group,
even if you think the leader is stupid. In the situation you describe, the
average behavior I expect from the French team would be for the french
colleagues of the clueless manager to nod to their boss stupidity in public
but to privately call him for it or try to remove him.

There is a time for overthrowing kings and a time for fighting Prussians, if
you know what I mean.

Actionable advice: if you are ever in a situation where you feel you have to
deal with a clueless French manager, try to discreetly get connections with
the people below him, they are likely to be more than happy to short-circuit
their bosses.

------
paxys
While I generally agree with this advice, it only works when the person saying
"no" is acting as a balance to others who are too enthusiastic/pushy. If
_everyone_ starts off by saying no then there will again be no room for
discussion, and no progress.

A good team environment consists of people of many different personality
types, and this is one of them. Implying that those who always say "yes", try
out new ideas, take risks etc. are bad engineers is wrong.

~~~
gerbilly
> If everyone starts off by saying no then there will again be no room for
> discussion, and no progress.

No, not at all.

~~~
llsf
Your French citizenship is waiting for you...

~~~
rramadass
Damn you! You made me blink and then lol :-)

------
keithnz
To be a good software engineer, you must not follow simple rule based advice,
or rule based counter advice....(irony intended )

A lot of comments are very definitive on how things should be or how you
should act. Contextually, they may well be correct. But a good software
engineer should always look for the deeper underlying issues. Working and
communicating well with others and coming to collective decisions has a lot of
contextual nuance. But it's always good to distill advice from others and look
at what principle they are trying to advocate.

------
jdmoreira
I say no a lot at my job.

I once claimed to my boss the company should be paying me not for what I do
but for what I don't do. I think they agreed.

------
raitom
I'm french and say 'no' all the time. I suppose I am a good software engineer
then.

~~~
gerdesj
I'm British and say "bollocks" a lot. That makes me a Managing Director (as
well as a sysadmin and network technician.) Engineers around here have a
capital E and are time served. I am but I wont use the term wrt IT because
that was Civil Engineering!

------
jameshart
I have only one possible response to this: No. Why?

I've long ago learned that 'why?' is the most aggressive question. 'Why?'
makes people defensive. 'Why?' is the start of an argument, where the other
side is just 'why not?'. It's not going to help move anything forwards.

Try 'Yes, and..'. Try 'How about?'. Try 'I don't know'. Try 'Why don't we
try?'. And try 'Can you show me?'

~~~
sawmurai
Instead of “why”, try “what for”

------
0x70dd
My best code is the one that I didn’t write

------
lol666
worked just with 2 in current company, 1 questioned everything, even things
there was no point in questoning, the other one told us its standard in
france, but is it? if so its scary, the guy was young and read clean code
(never said nothing about any other books...), was programming in just 1
language, didnt knew nothing about basic design patterns and still tried to be
the smartest. after he left and we stayed with just 1 who didnt have this
attitude the atmosphere in office and productivity increased so much, less bs,
more quality work done. some times u need to trade off perfection for time or
needs. arguing about stuff that doesnt really even impact functionality and
code is usually lost time.

____terrible, terrible experience. please dont.___

btw. if ur programming for 5 years and you have 3 guys that do the same for
15-20 it might be actually good idea to listen to them without this 'question
everything' attitude and maybe learn somwthing new? in some places there's no
time to be lost on questioning everything... tre bien

some times its not about authority and culture but simply about experience

------
kambing86
say no to this "say no attitude"

It's good to be skeptical and not jumping into conclusion right away, but
there is another option other than yes and no, which is "not sure", or I need
more time to discuss/research/learn

French is just lack of this humble attitude

so I can said that this is just another arrogant French reason to justify the
rude behaviour

~~~
lol666
lovin' it...

------
0x70dd
My best code is the one that I didn’t write.

~~~
gerbilly
And your best comments are the ones you write twice...

------
ggggtez
Right... which is why all the major tech companies are based in France...

Come on, this is pretty vapid even for a blogpost on HN.

~~~
maest
There may be other factors which have influenced the growth of SV, beyond the
cultural attitude towards defaulting to 'yes' or 'no' when asked to do
something.

~~~
james_s_tayler
I agree. Even for a comment on HN it was pretty vapid.

------
bitwize
This may fly in France but in the USA it's a great way to be the dick on the
software team or, if you are an independent consultant, someone clients won't
want to do business with.

Your job is to PLEASE YOUR CUSTOMER. See that person who is paying you/us
money? While you're on the clock, bringing a smile to their face is your
reason for being. You either commit to that, by whatever means you have at
your disposal... or someone else gets the job. Period.

~~~
ajna91
Aren't the values praised in America: self-respect, lack of deference to
authority, and "telling it like it is".

How did that become replaced by obsequiousness?

~~~
Ididntdothis
" lack of deference to authority,"

From my observation this maybe applies to politics or government but there is
a lot of deference to authority within corporations. People often seem to feel
they have no rights there.

------
phaemon
There's not much to add to this. It's true.

~~~
jpitz
It rings very true to me, but I think there is much, much more.

How do you consistently say no without appearing oppositional?

~~~
GrumpyYoungMan
> " _How do you consistently say no without appearing oppositional?_ "

A flat "no" comes across as oppositional.

On the other hand, "Well, that depends..." followed by an analysis of options
and possible roadblocks (this is where the "no" is subtly injected), that's
construed as thoughtful and methodical. I would even venture to say that "It
depends" is the only correct answer for an engineer to give to any question.

~~~
intrepidhero
Right! Knowing what "it depends" on is the essence of engineering.

