

Ask HN: monoglot vs polyglot culture - blamarvt

I&#x27;m really frustrated right now with how Python-centric my company has become. Don&#x27;t get me wrong-- I love Python, but the number of times we re-code other projects <i>into</i> Python makes me think it would be smarter to have polyglot programmers who can contribute to multiple projects in multiple languages.<p>We do a lot of open-source work but are very limited to what we can use since it has to be in Python.<p>I think it would be hard to get actual numbers to support either side so I figured I&#x27;d ask the community for feelings.<p>Data welcome too!
======
swanson
I'll share an anecdote from the opposite: an almost entirely polyglot culture.

There are business advantages to being a company of generalists (in the
service field) - you can get lots of different work. We do web, mobile,
desktop, embedded, pretty much everything. There is variety, if you want to
work on something different - you can change projects and not have to change
jobs.

The downside is that nothing is ever quite as good as if you were specialists.
You can apply general software best practices but you lack the deep knowledge
about the best way to do something in a given platform. You end up with Rails
projects that feel like .NET projects ported from C# to Ruby. You have Android
projects written like a web app. There is little re-use between projects;
write a cool utility for a WPF desktop app? Great, except the next project you
are working on is an embedded Linux app.

There seems to be a lack of focus when it comes to learning and sharing with
the developer community. If all you do is iOS, you probably see the value in
blogging about iOS, going to iOS meetups, etc - if you are generalist who
changes technologies every 6-12 months, it is hard to get a foothold or to
justify putting in time for something that you might not use again for 2
years.

My current thought is that the best mix would be a company that is
"generalist" \- but instead of having 100 polyglot engineers, have 5 squads of
20 specialists to cover the major platforms. Each squad has a focus and can do
deep and learn the platform-specifics, the company can still win lots of work,
and employees can still move between squads for variety.

