I told people very early in my career that I didn’t want to be too tightly tied to any one platform. I had been working with C# code running on ASP.Net for a while, and many people looked at me as a one-trick developer.
I branched out to PHP and WordPress partly to combat that notion and partly to learn from a platform that was achieving rapid success. It’s been a great ride thus far, and I hope my relationship with WordPress keeps going for several more years.
But I’ve never wanted to be just WordPress.
Polyglot Programming
I pride myself on being able to quickly learn and utilize new programming languages. This carries over to becoming rapidly fluent (or at least conversational) in the various dialects introduced by different packages and platforms in the market.
It’s also something not a lot of people understand.
I talk to back-end engineers who only really know one server-side language. If they know more than one framework in that language, it’s because the frameworks are relatively similar (or in some cases built on top of one another).
Many front-end engineers I know throughout the industry are the same way. They know one language (JavaScript) and only a handful of frameworks built on that language (usually jQuery and jQuery-like utility frameworks).
Just as only speaking one verbal language limits our ability to share information across borders and cultures, only writing in one programming language means we don’t share a lot across the industry.
Cross-platform Compatibility
Just as there isn’t a lot of cross pollination between languages or frameworks, not many developers jump the platform boundary frequently, either.
I’ve taken flak in the past for being a fan of Windows. To be clear, I learned to use computers thanks to Windows at home, but learned the intricacy of programming through Mac at school. Later in my career I merely gravitated towards Windows because the hardware was less costly.
Honestly, I like both operating systems and find the constant fanboy battles between both communities pointless, exhausting, and ultimately fruitless. Claiming developers need to work on Mac to be taken seriously is not only ridiculous, it’s damaging to anyone trying to get started in this industry.
Yet I’ve heard that exact statement at every single conference I’ve ever attended.
No exaggeration. Someone at every conference I’ve ever attended has looked at someone working on a Dell or Toshiba or Lenovo machine and uttered the words, “if you want to be a real engineer/developer/programmer, you should consider upgrading to a Mac.”
Claiming one language is superior to others won’t make our software any faster or our communities any more integrated. Making baseless statements about operating system superiority won’t either.
It takes a few people stepping over a line to learn multiple languages to help bridge the gaps between cultures and make the world a better place. It also takes a few people stepping over a line to learn multiple programming paradigms to help bridge our communities and help create better software.
Are you doing your part?