Live data from Hacker News

Ask HN: How do you sell in a new programming language?

news.ycombinator.com

1–10 of 47 posts

Ask HN: How do you sell in a new programming language?

#1
People who are passionate about programming often find themselves with a need to convince their organisation that it is time to try something new. Resistance against this kind of change is often entrenched, and a long struggle awaits.

What kinds of arguments do you use? What kinds of arguments actually work?

What strategies for transitioning to the "new" have you proposed, and what has actually worked out in real life?

Re: Ask HN: How do you sell in a new programming language?

#2
arguing beforehand for the language itself never worked for me. for me it's always been easier to get the other developers interested, and then deploy a working project with it.

asking beforehand for me always led to a wide variety of different arguments of why we can't use a different language. the most common two being the following ones.

* we can't find new developers with that experience

* our developers don't know it

Re: Ask HN: How do you sell in a new programming language?

#3
It may sound ridiculously obvious, but I think it's often a matter of being able to empathise with whoever you need to convince. Most organisations are in it to make money, and different people are different pieces of the puzzle of achieving that. If you can express the upside of the technology shift in terms relevant to, say, business developers or managers, things get easier. Whether you have closures or not doesn't matter, but time to market, time spent on bug fix releases instead of feature releases, etc do. Also, it will probably serve you best to thoroughly and honestly present both pros and cons. There's almost always cons (training, toolchain or workflow changes, building competence, talent availability, unclear longevity of technology being switched to) so if you're not upfront with the cons, people will wonder what they are and not knowing is scary, risking a higher susceptibility to scepticism. Also, if it's possible to use the new tech for a small project and you can show the upside with clear metrics, actions speak louder than words. My two cents.

Re: Ask HN: How do you sell in a new programming language?

#4
Build something useful with it, prior to getting widespread buy-in. Build this thing more efficiently than you could have using the existing tools. Make sure the end product is more efficient, reliable, and robust than an equivalent built using the existing technologies. Make sure these differences are very, very significant and obvious.

Re: Ask HN: How do you sell in a new programming language?

#6
While Ruby was growing in popularity prior to Rails, it took Rails to really convince a lot of developers (including me) to switch from existing solutions. I think there's a lot to learn from how that happened. (See SciPy or IPython and Python for smaller scale examples of this story.)

Re: Ask HN: How do you sell in a new programming language?

#7
Timing for the argument is very crucial. Your arguments for adopting a new language will only work when other employees and your BOSS see your solution run, and that at the correct time, when most of the people are not satisfied with the current solution. If you are successful in demonstrating the pros and importantly cons and other people support your decision, then there is 1% chance that your boss will try!

I don't remember what happened clearly but I am able to recount one instant..

My father is a pro C# guru. His organization was having hard time investing in a proprietary library. High costs had him thinking. I suggested him to use a python based open source library. He asked me to mind my own business and not to meddle in his affairs. That night when I came to his room to good night, he was sitting reading the python documentation!

Re: Ask HN: How do you sell in a new programming language?

#8
(We haven't actually switched yet, and there isn't significant progress on doing so, but the attitude change was decent)

We use PHP for most of our web stack at work. This includes long-running consumers that are part of our growing service-oriented architecture. PHP all over. It's hard to say "no" when everyone is familiar with it.

We've dealt with pretty crappy performance, compared to other solutions, using this setup. It puts a lot of backpressure on our publishers (we use RabbitMQ as our messaging layer) and it causes queue build-up, which requires manual intervention, etc etc.

I had mentioned how we should switch to a better language: didn't go that well. We have a lot of code written already: nothing insurmountable to rewrite, definitely try something new. It has to be a more sure shot.

One of our developers, though, wrote a test application in Java to show how much faster we could be consuming and processing messages. He actually replicated one of our simpler services, which isn't much more than turning the messages into rows in a MySQL database. I believe the Java consumer had a ten-fold performance increase over the PHP one.

So, now, we have a few internal working groups for various tracks of improvement to our product, and one of those groups is exploring Java as a possible language to switch to for this area of our infrastructure. We have people dedicated to actually vetting it, not just talking about it at the bar or something.

Long story short, and to echo everyone else: you can't just tell people there's something better, you have to show them something better.

Re: Ask HN: How do you sell in a new programming language?

#9
A lot of this depends on the organization, its perceived needs and the personalities involved. No doubt some of the answers you get here will be helpful, but I would focus on the particulars. The first question is whether the organization actually needs a new language or whether you just want to use a new language.

Depending on the environment, the change will bring its own set of difficulties and those will need to be addressed. Sometimes, it's a matter of the people involved. For instance, you are the only one passionate about a new language and others are not or is willing to learn and others are not, etc, then you suddenly have a new problem that may not have existed before, including having to support your colleagues through the transition.

As for arguments, etc, those should arise from your situation. If the current system is not working, make that clear. You may have to repeat yourself to get the point across. But do your homework first. Know what's broken and how your suggestion will fix it. Know the advantages of the current system and the distadvantages of the new one. "Trying something new" does not seem like a good reason; surely there's a reason why you use language X?

Post reply on HN