Live data from Hacker News

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

news.ycombinator.com

11–20 of 47 posts

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

#11
I worked for a place that used a dying language. The argument I used was simple: If you stick this technology, your employees will worry about their careers and leave, AND you will find it harder and harder to recruit new people who are interested in this language. Good developers will want to work in exciting and living languages to further their careers and keep their skills up to date. So the only developers you will find are the ones who will "settle" if they can't find another job, or use it as a stepping stone until they find a different job, or demand a high premium to do it.

There seemed to be some openness to studying the alternatives, but ultimately it was hard to convince the powers that be that it was worth the effort to adopt a new language/technology.

So I quit. The only regret I have now is I didn't do it sooner. I wasted a lot of valuable time.

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

#12
One 'argument' that people don't often think of is recruiting and hiring. I recruit for many companies, and the level of applicants I receive for jobs in the more emerging language communities is well above the applicants I usually get for more traditional languages. My evidence is anecdotal, but when I posted Clojure or Scala jobs (and recently Go) I received fewer applicants! but almost all of them were highly qualified engineers with very impressive track records. The applicants also come from all over, because of the novelty of the jobs. Java jobs tend to get local candidates, but a Clojure job gets applicants worldwide.

Most of this is with startups, but I've even seen serial startup engineers go to work for large companies who use an emerging language.

Obviously this is a side effect that depends on the language chosen, and it doesn't justify that the code or product will improve, but if you are making the argument this could be a consideration.

Of course, the counter is that experienced talent in the emerging language may be more scarce.

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

#13
Well, I personally know one high-level technical individual who almost got fired for daring to use Spring in a heavy J2EE shop. He survived and Spring makes the product so much better (for those who don't know - Spring is basically what J2EE should have been - lightweight and high performance framework)

You basically have to appeal to emotions (they won't understand the technical argument or even care). But if it makes the product more stable, more easily extensible/customizable - that could work.

Good luck!

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

#14
A contractor and I successfully convinced our large enterprise that node.js was the best choice for a new project and we were able to use it. I dont want to make this a conversation about whether node is good or not, but it did hit the sweet spot as our goal was basically a RESTful API as a facade to some legacy tech, which is in my opinion where node shined - and this was back in early 2011.

The convincing arguments are:

1) the technology fits the problem - I would not use C++ for a web api, and I would not use node for a rendering engine.

2) the team is (mostly) ready to use it - a couple weeks to read a book and make a prototype should be enough. There is no need for lengthy and expensive training sessions or a gigantic shift in technical knowledge

3) if it doesnt work out, you can double back quickly and cheaply

4) the new technology won't cost an arm and a leg - no need to find budget for expensive licensing for software/tooling

5) you are not proposing this alone - get backing from other senior level programmers/architects.

If you can hit most of those, then you probably have a decent chance!

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

#15
The same way you sell a business anything else: it will raise our revenues and/or decrease our costs.

Rather than saying "We should reimplement our core products in $FOO" you can often achieve the result of using $FOO while hitting less resistance by implementing one-off projects or support systems in $FOO instead.

e.g. I worked at a Japanese megacorp and, despite us being a Java shop, one of the sales guys sold a customer on "We're certainly the right people to write documentation for your Perl program." This contract only required a bunch of HTML files as a deliverable, rather than getting a team of programmers to speed on something which would be maintained for 30 years, so I successfully convinced my boss that I'd jump on the Perl grenade if he let me use any means necessary to create the HTMLed documentation. I ended up doing it in Ruby. Then I had a "Hey boss remember that time I delivered a $X0,000 project in 1/4th the budget and made you look like an effing hero? I want to use that tech again" case study.

Though for the amount of time I spent on evangelizing Ruby and modern Javascript-heavy UIs at my previous company I could have launched my own. Eventually I did. It turned out to be a much better use of my time.

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

#18
Does your new language improves productivity, maintainability, code reusability, performance, etc?. Does it allow new crazy esoteric tricks with one line of code?. Does it bring a paradigm shift?.

Otherwise if its a new syntax for the same old thing - specially regarding imperative programming which to me already reached a dead end - it will be hard to sell. If you're thinking of a market strategy then your language is lacking enough innovative features that make it sell itself.

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

#19
So, to begin, this is really hard to do, and it can lead to the end of your career at a place. Managers might think of you as That Guy, the one who is always coming out with disruptive ideas. ("Disrupt" ain't a positive term, here.) That Guy makes the manager's job harder because the manager wants a unified front, not debate.

1. It helps if the language interoperates well with the existing platform. If you're at a Java shop, consider Scala and Clojure. Don't bother trying to sell it on Haskell; that'll never happen. But, for Scala or Clojure, the top 25% of Java developers are probably headed that way already.

2. Don't ask permission of nontechnical management. (Grace Hopper: it is better to ask for forgiveness than permission.) Just deliver something cool in it that the rest of the organization can use. In the JVM ecosystem, no one needs to know that the JAR actually contains Clojure code. Get enough momentum behind the project that management actively wants you to demo it to the rest of the company. Then mention the "secret weapon".

3. After (2), get a job ad posted in the new language. The quality of applicants will be a lot better. Post a Java job ad, and you'll get more responses, but your phone-screen-to-hire rate will be about 2-5%. For a Clojure job, it'll be closer to 30%-- and 60% of those who actually know Clojure (those who don't will fail-fast on the phone screen). Not only can you reduce time wasted with unqualified candidates, but you're more likely to get a 10X hire. Now you can make the argument that it's worth hiring more people in the newer, better language.

You're not going to turn a large Java shop into a Clojure company. It just won't happen. But if you do the above and have a bit of luck, you might carve out a CoE (Center of Excellence, also known as an "honor's college", which tends to be an elite suborganization that has an R&D flavor) in the organization that uses it.

That above only works if your company has generally good management. (They don't need to be programming language specialists, but they need to be good at their jobs.) If not, you're not going to get anywhere no matter what you do and it's not your fault. Then, the best bet is to move on.

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

#20
There once was a company called Digital Research (DRI). They had a successful language called CBasic. A friend that worked there tried to convince them to develop a compiler for another language called "C". They refused. He insisted. The result: "they fired my ass!" Later, DRI wrote a C compiler. Was it too late? Would they have been successful if they had written it sooner? Maybe. But, then that would have been a different company. Perhaps, another way of looking at it is that my friend was giving his company a job interview and, in his case, they failed.
Post reply on HN