The “Guy” tag

One of the very first questions that people ask when you say you are a developer goes something like: “What language do you use?” “Windows or Linux?” and my personal favorite “Are you a .NET guy or a Java guy?”. First of all I don’t think that software development is radically different using this technology or that. Software developers should be aware of the various technologies available and when presented with a problem choose the best technology to do the job.

This does not mean that a developer should be a jack of all trades and just jump into projects using technologies which he is not familiar with. Think of different technologies like different human spoken languages. While your brain still works the same no matter what language you are speaking, each new language you learn gives you new ways to construct sentences.

Generally I try to keep doing the following:

  • Read the release notes of major releases of technologies that am not proficient on (.NET vs Java, EF vs NHibernate guys am looking at you).
  • Have a small pet project  that I keep implementing in new technologies to have a hands on feel of the technology.
  • Have constructive discussions with any experts that you know in the unknown technology. A friend of mine gave me a good introduction to Ruby so thanks .
  • Be willing to switch your main focus once you are sure a new technology is worth it.

In short don’t allowed yourself to be categorized as “…. Guy”.