Building a Startup on Clojure
11–20 of 215 posts
Re: Building a Startup on Clojure
#12Earlier quoted context omitted.
Counterpoint: building in esoteric languages can serve as a filtering mechanism in and of itself. Given how broad the swaths of JavaScript and Java developers are, they can be much more hit-or-miss.
Counterpoint counterpoint: Esoteric languages attract PL nerds, who are much more interested in using every new/different "expressive" feature of the language than in getting business done using clear code understandable by anyone on almost any level.
True. But if you have a good well-enforced, sane style guide, then expressive powerful languages can be a good thing. If you hire devs who care more about playing with the language than delivering value then you're hiring the wrong people. You can't ditch these languages because some people are sometimes attracted to them for the wrong reasons.
Re: Building a Startup on Clojure
#13Question for Clojure's pros: as a designer I started programming javascript for a long time, now I can do my own APIs on Node easily, would it be hard to do APIs in Clojure? Can you recommend me a video course for learn it?
Clojure is great for writing backends. Checkout Ring and Compojure. Simple libraries for making an API :).
Re: Building a Startup on Clojure
#14Earlier quoted context omitted.
Counterpoint counterpoint: Esoteric languages attract PL nerds, who are much more interested in using every new/different "expressive" feature of the language than in getting business done using clear code understandable by anyone on almost any level.
Counterpoint X 3 True. But if you have a good well-enforced, sane style guide, then expressive powerful languages can be a good thing. If you hire devs who care more about playing with the language than delivering value then you're hiring the wrong people. You can't ditch these languages because some people are sometimes attracted to them for the wrong reasons.
Esoteric languages by-nature have smaller populations of devs. They demand higher salaries for their specialist work. This can hurt you as you scale - salaries continue to increase (secularly), and the pool of possible engineers begins to shrink within your locale.
Re: Building a Startup on Clojure
#15If I was choosing a language to base the tech stack for a startup on these days I'd be very reluctant to pick anything that didn't have a local user group. Slightly more esoteric languages that enable you to write better code faster are brilliant, but if you're successful enough to grow quickly, or you can raise funding, you'll need to hire devs relatively early on. If you've chosen a stack that's too esoteric then t…
Counterpoint: building in esoteric languages can serve as a filtering mechanism in and of itself. Given how broad the swaths of JavaScript and Java developers are, they can be much more hit-or-miss.
Yes, definitely in growth periods you get the best developers migrating to it. I'd say Rust is like this now. The problem is a few years time they'll move on to the next big thing leaving you stuck. I'd think Clojure is in this spot right now.
Re: Building a Startup on Clojure
#16Earlier quoted context omitted.
Counterpoint counterpoint: Esoteric languages attract PL nerds, who are much more interested in using every new/different "expressive" feature of the language than in getting business done using clear code understandable by anyone on almost any level.
Counterpoint X 3 True. But if you have a good well-enforced, sane style guide, then expressive powerful languages can be a good thing. If you hire devs who care more about playing with the language than delivering value then you're hiring the wrong people. You can't ditch these languages because some people are sometimes attracted to them for the wrong reasons.
However, there were negatives. At the time the Clojure library landscape was less mature. Clojure developers would also tend to abandon projects to create "the next best version" which made migrating and keeping up with the libraries of the day difficult. Most of the libraries were very rough around the edges too. On the other hand we could use any Java library which was a boon.
As the team grew, it became harder and harder to hire people in larger numbers. Especially in a single timezone. Also it became apparent that many of the people who were very happy in the early days, were increasingly less happy as we added standardization and protocol to our dev process. As some commenters pointed out many of the people attracted to Clojure liked playing with the latest and greatest, and things were "boring" when they couldn't work with whatever the latest fast changing trend in the community was. Trying to teach people Clojure also an issue. For some it was challenging, and for others, they were not really interested in using it.
It was a good learning experience, but I don't think I'd do it again. There is something to be said for using "boring" technology for the majority of your tech stack.
Re: Building a Startup on Clojure
#17If I was choosing a language to base the tech stack for a startup on these days I'd be very reluctant to pick anything that didn't have a local user group. Slightly more esoteric languages that enable you to write better code faster are brilliant, but if you're successful enough to grow quickly, or you can raise funding, you'll need to hire devs relatively early on. If you've chosen a stack that's too esoteric then t…
Counterpoint: building in esoteric languages can serve as a filtering mechanism in and of itself. Given how broad the swaths of JavaScript and Java developers are, they can be much more hit-or-miss.
Re: Building a Startup on Clojure
#18Earlier quoted context omitted.
Countercounterpoint: People can be terrible at Clojure. The distribution of ability probably doesn't vary much between languages.
It absolutely does, because there’s a self-selection in being interested in an esoteric langage (assuming it’s not a corporate oddball or legacy langage) which raises the average above the background of targeting “employable” langages: people going through this process show more interest in the field. Though that doesn’t mean they’ll be more productive, and then adds hiring challenges. So the break-even is not simple…
The code is all Scala, but written by a bunch of ex-Java devs. I have made attempts at education, and the code is improving, but the fundamental structure of the services are bad, and there is still a lot of bad code. I am not saying this as a FP purist, some of the code would be bad by the standards of Java programming.
Bad programmers then hire other bad programmers. Because it is hard to find experienced Scala developers, they have brought in people with java experience, or big data Python programmers who claim to have some experience using Scala with Spark. I am now involved in the hiring process, and it is slow and dismal. To be fair, the kind of contractors this company hires are mediocre, regardless of language.
The features of Scala create novel ways for confused programmers to screw up, and we aren't even doing anything esoteric, like pure FP. I suspect there are some similar traps in Clojure.
Re: Building a Startup on Clojure
#19Re: Building a Startup on Clojure
#20I worked at a startup that was built on Clojure. It had trouble finding developers for reasonable salaries at the early mid stage. They decided to switch the stack to python at that point. Just an anecdote!