Bus Stop Programming Languages or “How to choose the right technology for your project”

Aiko Klostermann
2 min readJul 31, 2019

--

As an IT consultant, I am often in the situation that we want to start a new project with a client and have to choose the right technologies for it. The right technologies, in this case, includes that our developers, as well as the client stakeholders, are happy with that choice.

Working for ThoughtWorks, which has a proven track record of constantly being at the bleeding edge of technology innovation (We even publish our understanding of the latest technology trends in our biannual Technology Radar) naturally results in us wanting to apply the latest technology that seems to be perfect for the problem at hand.

As a developer, I have to admit most of the time I am personally a strong advocate of this technical point of view.

Now, this drive to find the perfect technical solution often meets rather mundane operational constraints. A very common one is the fact that even though the current developer team might be comfortable with the choice of technology, this team composition might change in the future. To be future proof and sure that this team can continue being productive in the future the chosen technology needs to be broadly understood, at least in the department or organization even better in the industry as a whole.

This is where the term “Bus Stop Languages” comes into play.

Example Time:

Let’s say you need to extend your team which is developing an application in Clojure with a new developer (who is experienced in Clojure). Clojure might have been the perfect technological choice for this project, in the beginning, but you might have a hard time finding the right and affordable addition to your team due to the limited popularity of Clojure in the industry.

Whereas when you would have chosen Java, in the beginnig, finding a developer could be as simple as going to the next bus stop and picking up one of the three people standing there. :)

This is why I refer to popular programming languages as Bus stop Languages. It might be a little exaggerated but I think it gets the point across that there is more to the decision of technology than the developers’ preferences.

I am not saying that you should ignore the advantages of certain technologies but having a look at the broader picture and keeping the scalability of the whole project in mind can save you a lot of trouble in the long term.

--

--