The Power of Liking
When there is a new software product to write, there's a decision to be made on what to write it in. In other words, what tech should we use? Technologists have technology they "like". So then, what tech should they choose for the new project? Does it matter what they like?
We Like Different Tech
Obviously, there are differences in people's opinions. Take a look at one current hot arena: in-browser MV* JavaScript frameworks. They essentially are all made for the same purpose. And years of different approaches and techs have been taken before each of them.
They have many stylistic and substantive differences. There are many acolytes assembled in each camp. Each likes what they have. Differences are real and perceived. They're here to stay. That's ok and probably better than ok.
On the Origins of Liking
Different people have different reasons for liking certain things. Just like the subject of the liking, the origins of liking can be stylistic or substantive.
Perhaps they have a long, storied background in a tech and want to cash in on their investment in the future. Perhaps they had good experiences with successfully shipping product in the past in certain tech and bad experiences in others. Perhaps the public perception and community uptake around a tech excites them to join in the merriment.
They may, in fact, be drawn to something quite superficial -- something as unaffecting the actual tech as liking the tech project's logo. More substantively, perhaps they've grown to like a tech after trying it out on a problem space and discovering and predicting great payoffs as they develop a particular product.
Of Course, Like the Product
If you like your product and you're good at creating and supporting a product, of course you won't choose a tech for just the tech's sake. You can do that inside your own github account. There is time and space to simply explore tech as a technologist. Here there are real products to ship to support great causes in real companies.
I believe that choosing a tech should support the main goal of delivering value via an experience or service in software to real people. I also believe that there is a power in liking a tech as the product creator. Can we have both? Often, I believe we can.
OK to Like
When is it appropriate to use a tech you want to write in? There are insufficient blogosphere bits to enumerate all the permutations of appropriateness and inappropriateness factors. You will need to use your judgement. Often these issues are complicated in deciding how to support a product. Believing that your personal desires have a place in product tech decisions, should what you like seem very complicated to you?
I would ask, "What's the alternative writing software in something you like? Writing a product in a tech you don't want to write in?" And why would you do that?
Sometimes I think we almost lead ourselves to think that something we don't like to write in must have some power to do us good. How, we're not sure. But just as our parents told us the veggies on our plates were good all those years ago, perhaps some tech austerity measure might do us some good now, right?
Is a bad taste required for health? Choosing the disliked option doesn't necessarily mean that the outcome will be better just because it feels more responsible.
The Advantage of Liking
Are there advantages to writing in a tech you like? Probably, yes. And probably disadvantages, I'm sure. Again, this isn't meant to over simplify one's analysis of tech options and problem fit. Separate and in addition to that, what are the advantages of writing in something you like?
An advantage is that you must already have some level of mastery in the tech you like. I don't think you'll like things that you aren't terribly good at. You don't have as much of a sense of accomplishment with those. You have a strength in some tech that you can offer your company and your team. You should play to that and use it to your advantage. That's what you, your leader, your team, and your customers want -- your best productivity.
If you're a software creator, it's likely that a good portion of your day is writing code for your product. If you like the everyday experience, focus and flow time will come more easily to you. You'll be able to dig deep into your time and energy more easily to muster extra effort when needed. The extra mile will not seem so laborious to you.
Like More Than the Tech
There is a lot of tech and a lot of product to be experienced out there. It's likely that you'll be writing in a tech that you don't fully like soon if you haven't already. There are many reasons to be a part of a software project beyond the tech. It will be stabilizing and satisfying for you to find extra facets of your project to like.
Like the team you work with. Like the people you work for. Like the purpose and aim of your company. Like the product you're making. Like the values you're living by. Like the impact you're making. Like the relationships you're building. Like the skills you're gaining.
And if you have the choice -- and we all do to one degree or another -- why not like the tech you're using!