Programmer Stereotypes By Language Community
Inspired by an article about a Lisp programmer stereotype, Dave Fecak explores some common thoughts on other language communities.
Join the DZone community and get the full member experience.Join For Free
In the recent article Humble Lisp Programmers, author John Cook mentions that a stereotypical Lisp programmer "does look down on everyone", but clarifies that this trait may be more accurately attributed to those who write about Lisp programming and not necessarily those who are Lisp programmers. The article got me thinking about other stereotypes held by the industry pertaining to specific language camps, and my interactions over the years with members of those camps. I spent most of my career focusing on recruiting Java talent, but for the last several years I have had searches across a wide range of skills.
Y Combinator founder Paul Graham has published several posts that at least allude to stereotypes and/or the relationships between programmers and the languages they use. Notably, Graham's Java's Cover and The Python Paradox touch on these subjects. His later piece Great Hackers asserts that language choice for a project is a "social decision" as much as a technical one, and reiterates his earlier suggestion that Python projects will attract better talent than Java projects. Perhaps Graham, who is not-so-coincidentally synonymous with Lisp, was on Cook's mind while musing the stereotype.
Here are some other stereotypes that seem prevalent based on what I've seen and read in my travels. Don't shoot the messenger...
The brogrammer caricature is more likely to be associated with the Ruby, Node.js, and PHP camps. Ninjas and rockstars don't write C++ it seems.
Drama in the Ruby community is prevalent enough to have spawned Twitter accounts and sites dedicated to highlighting the problem, although many Rubyists contend the drama is often contained mostly to Rails. The Node community is no stranger to drama as well and may be picking up where Ruby left off. The intersection between these communities might be telling. PHP doesn't make news for language battles, but the PHP stereotype seems closely aligned here.
In terms of overall respect, I feel that Ruby and PHP programmers fall below many of the others in this list.
Python and Perl
I rarely see negative stereotypes around these languages, which is one reason why I lumped them together. The other reason is that, more than many others, these communities seem to be less fractured and more supportive. Both have featured an avid user base that is not vendor-driven.
Java and C#
Being that these languages tend to be the choice of enterprises today, any stereotypes around these language camps typically intersect with the stereotypes we attribute to employees of large companies. These can be somewhat difficult to shed, especially when Java/C# developers seek work in languages more popular among smaller companies. Enterprise Java devs applying to startups using Python don't get the red carpet.
Lisp and Most Functional Languages
There is definitely a mystique around functional language camps, as if the people who understand monads are in a different league than the rest. As Cook noted, anecdotally I've found functional programmers to be an inclusive bunch, but I haven't interacted with the more prominent members of the community. It might be worth mentioning that my interactions have mostly been with the Clojure and Scala camps, which are considered more approachable than say Haskell or Scheme (in some part because the Clojure and Scala camps may include more Java converts).
I can also add (again based on anecdotal evidence) that functional programmers seem to seek work within their chose language as their top search criterion. When I've posted positions for clients seeking Clojure or Scala developers, the applicants tend to be more focused on work in that language than any other factor, and they are quite willing to relocate or negotiate on compensation for the opportunity. Their willingness to make rather large sacrifices to work with a programming language certainly comes across as a mix of loyalty and passion.
I can't say I've really encountered any stereotypes about say Android developers in comparison to iOS, and there are many emerging languages such as Go or Rust that have not quite developed a widespread reputation.
Others I missed?
Opinions expressed by DZone contributors are their own.