Fork me on GitHub

Hey, I really like Clojure but given a limitation of free time to work with it I need to be careful about how to stay fresh with my Clojure skills, and was thinking if it's just enough to know Clojure, doing puzzles where Clojure likely shines or if I need to master algorithms as a way to get a Clojure job eventually (been there, done that btw). I'm asking because Clojure has a small set of data structures and a copious standard library to interact with them, and they seems to be pretty efficient, in such a way that I assume that it's rare the situation when you need to dig deeper to find possible bottlenecks, at least when working in a Line of Business app (or situated program as Rich uses to say), but the interviewing time is different from working time, so the same set of skills shouldn't apply, so this is why I'm asking to get your opinions: Given that I have pretty limited time, should I just play with Clojure a couple of minutes a day or should I got serious in the algorithms game?


In my (very limited - 5ish interviews for Clojure roles) experience, writing code in a Clojure interview isn't the usual nightmare coding interview. Most (not all) Clojure shops I've interacted with understand that not all candidates will know Clojure, so if they ask you to code during the interview, you tend to get to choose the language you want to use for it. If you are more comfortable solving the problem in a different language than Clojure, then you might be able to lean on that.

👍 1

Other times, when I've been asked to write Clojure code during the interview, the code I was asked to write played to Clojure's strengths, so those exercises weren't deeply academic in nature - more like a Line of Business exercise. But again, this is just anecdotal. I don't have a lot of data to back this up.

👍 1

Unless the interviewers give you specifics on what they are looking for (this never happens in my experience), then practice solving challenges in different ways should be sufficient It can be useful to solve some challenges using loop recur approach and the create additional solutions using the functions in the Clojure standard library. challenges are very useful for this approach. Having a step debug tool can be useful for walking through a loop recur expression (e.g. cider debug tool) I also like challenges too


I think that I'm going to do that. solving a set of problems for a timebox in a daily basis should be enough.


Both times I interviewed for clojure jobs, we pulled a stock 4clojure problem down and worked on it as peers. So it is handy to have your environment setup for REPL/editor based development and be familiar with peer coding and thinking out loud. I presume they want to "see how you think" and also what kind of person you would be like to work with on a daily basis.

🙏 3