Clojure is great. But Rust is a Must, so I hear, and you will need some Python for ML. And then of course JavaScript if your stuff touches the web, and it all does. And there is Go and Erlang or is that Elixir for systems and transactions. Ruby or PHP for RAD and Java for the large stuff can not be ignored.
And before you know it you'll be bad at 25 languages, instead of good in one or two that allow you to do what needs to be done.
All these languages are great in the sense that they exist and show what is possible but they make it super hard for a professional programmer with ~8 hours in a productive day to choose which eco system (which is far larger than just the language by itself) they want to invest their time in leading to some variation on the paralysis of choice theme.
I'm super happy I don't have to earn my bread by coding today, I sincerely would not know what to choose to maximize longer term value of my investment in time. It's like building a house on quicksand.
After a few thousand sweaters the next one is probably similar to one that you already made so I got bored and ended up burning out. That left me without desire to work on anything computer related, I bought a farm in Canada, moved there and ended up working on a windmill.
The websites I was running still contributed some income so I wasn't particularly worried about running dry.
Making the windmill required some tools, one of which was a computer controlled plasma cutter that I could not afford ready made and so I ended up cobbling it together. There was a little bit of software involved in that but nothing that occupied me for more than a few days.
The windmill design process involved rather more software but still it was peripheral to the rest of the work.
Then, in 2007 after returning back to NL I invested in a bunch of start-ups and at one of those a co-investor asked me if I wanted to do technical due diligence for a colleague, which turned out to be Endeit Capital, a well respected Dutch VC. One thing leading to another we are now working together for a decade+ and they've sent me lots of other customers as well so I'm nearly full time busy with this.
In the intermediate I also ran ww.com/camarades.com until enough money came in through the DD's that I no longer needed that income, I sold of all the assets in 2015.
I've been finding myself like this lately :( Sadly, I can't afford to buy a farm but working on a windmill sounds awesome! I've lately spent a lot of my time learning sleight of hand and magic illusions, but I don't expect I'll ever make any real money out of it, I'm just not a natural showman. I'll stick to software since its the only real marketable skill I have, but it is rather frustrating. I do love Clojure, though, but there's not much Clojure work where I am.
Thanks for sharing your story, its inspiring.
I've noticed that the real money is usually to be made on the intersection of disciplines rather than by going deep into a single discipline.
So maybe it would be an option for you to branch out into a different field that intersects regularly with software, possibilities such as hardware or legal are most obvious.
That will give you something new to sink your teeth in while at the same time allowing you to re-use your old skills and knowledge to good effect.
Another option your comment suggests would be something in popular science or media.
Could you please expand on this one? Do you mean people who write help guides for OS/APIs, or do people who write industry reports or is it something different? Also, do you have any examples of such people/jobs?
This is something that is very interesting to me but I have no idea where to start.
We produce about one report per week, < 20 pages for venture capital groups about to invest into some company. That's a pretty tricky combination of elements, you are writing for a non-technical audience about technical findings.
The companies we work for tend to have people on the business side that have certain ideas about requirements which then need to be translated into technical specifications, typically so that some outsourcing company can make soup of it.
In both cases mistakes can be quite costly. There is this thread right now about 'what HN has given you', and if there is one thing HN has given me it is that it has made me a better writer (that, and blogging), which turned out to be a super useful skill.
How does one get into these kind of writing jobs, for someone with a programming background?
Just to be clear, I use clj/cljs (day to day) for:
* Mobile Applications on Android/iOS
* Analytics and Data Wrangling off queues
* Data Analysis
* Admin Dashboard stuff (CRUD, Charts/Graphs, misc)
* Business Rules
* User Messaging (Push / Email / Webhooks)
* Database ETL
* Web Services
* Background jobs
* Build System and Deployments
The only thing I don't use that is Clojure-based, on a regular basis for my job, is SaltStack for configuration management (and this is largely because we have a working SaltStack system that I don't have a need to mess with).
I'm super happy when I can spend most of my day with a monitor dedicated to Spacemacs while jacked into a clojure repl.
Don't get me wrong, I think learning Clojure is helpful for lots of developers, even if they won't use it for work/side projects, and I think that's exactly what happens in the Clojure ecosystem and the reason for so many libs being half finished and abandoned, devs learn Clojure, grab all the ideas and concepts, scratch an itch but ultimate terminate going back to their mainstream langs.
We love writing Clojure and still use it everywhere where appropriate, but the size of its community and ecosystem is definitely holding back its ability to compete for adoption with other languages on the bleeding edge of new technological trends.
I'm not sure that follows. Even if you choose to specialise in one stack, it is healthy to see a diversity of solutions and opinions/trade-offs in solving similar problems across different stacks. Even if you don't end up mastering any of those, exposure to those can help inform how you approach problems in other languages.
A lot of great ideas in modern ecosystems were stolen/inspired from lateral solutions (e.g. using immutable datastructures with React from the ClojureScript world, Netflix's Falcor influencing om.next in the other direction).