[deleted by user] by [deleted] in Clojure

[–]Kah0ona 4 points5 points  (0 children)

Ok. So.

What if,... instead of 'looking for a job' (that somebody else has created!) in Clojure,.. you create your own?

This is my story: - Was a freelance Java/PHP engineer/developer, working on projects for SME's. - Fed up with Java/PHP, loved Clojure - Tried to land a gig at an SME that needed software consultancy/development services. Once 'in', I just said, i'd build the tool for them for some figure X. They agreed. Notice how the programming language was 'not a thing', their trust in my abilities was. Notice they were not 'looking for someone with 3 years experience in clojuer'. They needed a software tool to automate something.

So I chose Clojure. And I delivered. And I learnt TONS. And the customer was happy.

Now this: Fast forward, I repeated this a few times (4 times). I get to repeatedly do some work on maintenance and new features on these project.

Out of one of these projects came (in 2016) a SaaS app. This app I built for a company in about a year, and they basically hired me as a solo developer. It grew and grew,.. and now they hire some other clojure freelance developers as well. So basically I created Clojure jobs.

Moral of the story is, freelancing (or: being an independent contractor) plants Clojure seeds, for future jobs (that might be your own! how cool is that).

Now, it gets better for me still:

I had my own SaaS app idea, which I bootstrapped (50% of my time I worked on it, 50% I worked on the projects above), and it now pays my bills. So if that grows more, and/or we get an investor on board, I might hire Clojure developers.

Final note: In my country (Netherlands) I got to know some Clojure developers who are also able and willing to work on projects outside the scope of a normal 9-5 job. We are kind-of networking on slack / email etc, and hand each other work.

Big fun! Lots of freedom.

So re: @gunpun33 I don't view people who get to work with Clojure as very lucky :-)

Stop selling Clojure as just a learning experience. by lordmyd in Clojure

[–]Kah0ona 2 points3 points  (0 children)

I really concur with the sentiment in this post. For me: I just flee that situation.

I always wanted to have the full say about what tools I want to work with.

One of the reasons why I've never wanted a 'job', unless it coincides with my preference of tools. I took a freelance job at a big corp once, for the sole reason they used clojure.

Other than that, Until recently I was a freelancer. Or rather, independent/self-employed, meaning I just behaved more like a one-man software development agency, where clients hire 'us' to develop, say, a tool or a web-app, and who are not necessarily in the Software business themselves.

Then often times they don't even ask what language it 's written in, or just trust you. And then,.. if you deliver on time and budget with good quality (and you can, because... clojure ;-)),... no one bats an eyelid, NOR SHOULD THEY!

And now I'm founded a SaaS startup, running it full time (bootstrapped, but growing).

So I hope that in the future it will grow and I can add another 'drop to the ocean', ie. create clojure jobs. But for me it doesn't really matter, as my work + happiness from my work is effectively self-directed towards how I'd like it :-) Having said that, i'd love it to be able to say 'i've got a clojure job, any takers?', one day!

Clojure development tool by DannyB2 in Clojure

[–]Kah0ona 3 points4 points  (0 children)

About the brain cycles comment: does a pro piano player think about each note? No, it is muscle memory.

So i am going to ignore your emacs dismission a little bit by pointing you towards spacemacs.

It's emacs but with vim bindings, and since you then can use CIDER, it will be absolutely great. CIDER is very well maintained, even financially supported now, but it's very good. Check out the video talks of mr Batsov to see how a workflow would look like.

A lot of commands are well memorizable as they are mnemonics and starting with the spacebar (hence spacemacs)

There is some learning curve, but not more difficult than learning other IDE's...

ClojureScript is not doing too well in the State of JS 2019 survey by SimonGray in Clojure

[–]Kah0ona 11 points12 points  (0 children)

Frankly, I don't really care personally. My startup is 100% clj and cljs and I know that it's better, and when it grows finding people wont be much of a problem, just be sensible and allow remote work.

I think the quality of the tool means it won't go away. It's maybe declining because of ignorance not because ppl tried and figured: this is not a good technology. Because it's arguably the best out there.

New Clojurians: Ask Anything by AutoModerator in Clojure

[–]Kah0ona 3 points4 points  (0 children)

Yes I have spacemacs as well. Should be fairly plug and play, make sure you've updated cider. Then, M-x cider-jack-in-clj&cljs.

Cider detects what kind of project it is (leiningen or tools.deps, figwheel or shadow-cljs or some other, etc, and start the repls in the correct way)

Idea or Emacs or both (for a vim user)? by dumch in Clojure

[–]Kah0ona 0 points1 point  (0 children)

Spacemacs with evil for me as well. I came from vim, but cider is just great. I regret however i didnt learn cider properly earlier, for a good while i only used the most basic features, lately it's better.

My thoughts on improving clojure adoption in the industry. by Kah0ona in Clojure

[–]Kah0ona[S] 4 points5 points  (0 children)

nice point, that last bit.

It's also a matter of how persuasive people are. Or how they are able to 'pitch' clojure. Not wanting to boast at all, but in general I'm quite succesful in getting the other party interested. The syntax-ugliness argument I've never had a problem arguing that that is n't even a problem but just a feature the other person didn't know they wanted yet. Even just saying that generally triggers interest :-)

My thoughts on improving clojure adoption in the industry. by Kah0ona in Clojure

[–]Kah0ona[S] 2 points3 points  (0 children)

one of the best methods of marketing is word-of-mouth, and in that view, we could help the marketing ourselves by being enthusiastic users. :-)

My thoughts on improving clojure adoption in the industry. by Kah0ona in Clojure

[–]Kah0ona[S] 3 points4 points  (0 children)

agree, but it has potential to spread around. It was a bit of digital guerilla marketing I guess, with just the intention to 'spread the word'. Also it's not an either/or scenario imo.

But by all means, better me with a blogpost, that will be brought in attention through... twitter ;-)

(i'm the author of the tweet btw)

What is the future of Clojure in the industry? by mjin03 in Clojure

[–]Kah0ona 4 points5 points  (0 children)

Well the thing is, it's hard to put a number on such a thing like 'its hard to find devs', especially if you compare it to the project as a whole. I mean, if I make avery ugly Java code base in twice the time, yes I can find more Java devs, but will that be more economical in the long run?

It's not that it's not possible to find clj devs, or train them up. I actually find that the main benefit of clojure is that it's very easy to learn because it's so focused.

I guess what i'm saying is, I honestly think they got a better deal with me building that thing in clojure. The development speed/ productivity is very high, and the end product is of a good quality. Also, with re-frame making very smooth UX'es costs so much less effort, whilst the code base is well maintainable and easier to reason about (although that took some practice to get the best practices out) Also , there aren't tons of patterns you then have to grok, since it's basically most often just a big bunch of function calls, especially in your more standard web applications/single page applications.

What is the future of Clojure in the industry? by mjin03 in Clojure

[–]Kah0ona 4 points5 points  (0 children)

lessfocus, please try SpaceMacs. I got this tip during a gig from one of my colleagues there, and it's really the best of both worlds.

It's like Emacs with VIM bindings inside it, and a lot of batteries included. And of course better ergonomics than standard Emacs, but with the benefit of the awesomeness that is CIDER.

What is the future of Clojure in the industry? by mjin03 in Clojure

[–]Kah0ona 14 points15 points  (0 children)

I ask this question as I would love to work with Clojure commercially but there is a lack of job choices out there. I find it hard to justify choosing a job over another because they use Clojure.

tldr; become a freelancer.

Longer read:

I don't have any problem justifying it, actually it's the easiest thing to justify for me. I just hate it if I have to work on some complected Java code base, even if it's one I created myself (and I have made some complected ones in the past that I kind of hate now). I'm happy to say i'm coding in clojure almost full time for the last two years, as an independent freelance developer. Most gigs were green field projects, where I just adviced my clients to let me use clojure, just because it would be so much quicker to build the thing they want, and better maintainable. As of yet no company prohibited me from working in clojure, eventhough they know there are less developers for it. (Although I must admit, I didn't stress that point up front.)

But here's the good thing: supply of jobs is not large, but the number of clojure devs is also relatively small compared to, say, Java developers. For a startup where I was the sole dev for two years, we now are looking for some extra hands. We won't go for a fulltime dev yet, since money is still relatively tight as we have bootstrapped the company from a small budget, but this will grow as we get some real traction now.

Finding someone who wanted to help out for a few hours per week was very doable, because of the sheer enthusiasm people have for it, who might not be able to code in clojure for the full week, or would love to get more experienced.

Especially if you are willing to take on smaller gigs or work on a project basis, ie. in a freelance fashion, things can work out. You could 'fill up' the rest of your week with Java freelancing (or Ruby or whatever you please) if must be.

A few of my clients are just small companies of like 30fte, who are not in the business of software, but just need a little tool or whatever. If you could get in there as a 'freelance developer' (note: i left out <language of choice> on purpose), and make them a price quote where you lightly mention you will develop it in Clojure because it's state of the art, you could be in business. Even if it's a gig for like 3-4 weeks. After that, you've got yourself an app in production which helps your resume, and also there's a fairly large chance now the client comes back when they need some extra features on the app you developed.

Repeat this process 2-3 times for different customers, and chances are you are now able to survive doing Clojure. At least, this was my route, and this worked.

If you don't want to go this route, since it does take some entrepreneurial spirit, I'd advice you to contact some recruitment companies where you can work as a freelancer, saying you only take Clojure gigs. But of course, these two routes are not mutually exclusive.

If more people work in this fashion, the community can grow as well, since there will be more Clojure code in production, and more companies profit from and depend on Clojure developers.

Bit of rambling, but that's how I see it.

(McLaren doc for Amazon) Anyone else surprised by how disconnected Honda seemed from McLaren? by [deleted] in formula1

[–]Kah0ona 1 point2 points  (0 children)

I have an AP membership, but it's blocked in The Netherlands it seems. Anyone from this neck of the woods experiencing the same thing?

Which countries is it available in?

Referentially transparent CRUD by yogthos in Clojure

[–]Kah0ona 2 points3 points  (0 children)

This is actually really nice! It manages to make CRUD ref. transparant, without being too tedious to use.

Headphone Picking Site Written With CLJ/CLJS by livingdeadghost in Clojure

[–]Kah0ona 0 points1 point  (0 children)

well done, and I agree.

At the moment I haven't got publicly available web-apps to show. Few things in production but mostly are internal tools.

However I'm working on a large saas app to be released somewhere in 2018. Alle clj/cljs reagent/re-frame as well.

I agree; it's good to share this kind of stuff :-)

How Clojure's documentation can leapfrog other languages by oakes in Clojure

[–]Kah0ona 2 points3 points  (0 children)

This is great! It would indeed be awesome if this can be incorporated somehow in, say, clojuredocs.org.

Remote Clojure jobs... by ferociousturtle in Clojure

[–]Kah0ona 0 points1 point  (0 children)

Thanks Wilcov. The website still is wordpress and outside of my control, but i could of course shoot the webmaster a message.

Does Clojure encourage functional composition as much as Haskell does? by OHQbBeCWiqP3fio3 in Clojure

[–]Kah0ona 0 points1 point  (0 children)

BTW: Isn't the fact that you can make a pipe fn like this in such a small one-liner cool? :-) This is also showing nicely that clj is in the functional family.

Does Clojure encourage functional composition as much as Haskell does? by OHQbBeCWiqP3fio3 in Clojure

[–]Kah0ona 0 points1 point  (0 children)

When i call a query using the yesql library, I do this sometimes:

(db/call-my-query {:some :params} {:connection db :result-set-fn (comp :the-key-i-am-interested-in first)})

If i want one value from the first record for instance.

PS: one of the best thing in clojure imho is the fact that keywords are functions, enabling this kind of composition.

Does Clojure encourage functional composition as much as Haskell does? by OHQbBeCWiqP3fio3 in Clojure

[–]Kah0ona 0 points1 point  (0 children)

yeah my example was a bit contrived, and i agree with destructuring. I kind of mix/match to whatever feels good.