Live data from Hacker News

A Clojure learning journey

stuttaford.me

21–30 of 72 posts

Re: A Clojure learning journey

#21

I just got rejected in a hiring process at Nubank (a sexy fintec from Brazil that uses clojure a lot) because I used a database for the take-home code challenge they sent me (writing a REST API). Since I'm a Python developer who knows little about concurrency in clojure and I would not like to use locks, I thought it would be better to delegate these things to the database. Apparently I was supposed to use a global s…

Having 5 years professional experience with Clojure, I applied a few months ago to a remote Clojure job, and the coding test was none other than recursion via zippers, literally my weakest point. I could have done the job just fine since they said they didn’t use zippers on the job, but failed the test and they passed on me. Coding tests are the real problem. I’ve had some great ones where you can tell someone put effort into it and will review it fairly, and I’ve had some that were hacked together like this one where it’s clear they weren’t given enough time to put it together by their superiors.

Re: A Clojure learning journey

#22

Earlier quoted context omitted.

Any suggestions for someone who's a competent developer, and an excellent communicator with a knack for explaining things to a non-technical audience?

Technical writers worth their salt are few and far between. Another option your comment suggests would be something in popular science or media.

Technical writers worth their salt are few and far between.

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.

Re: A Clojure learning journey

#23

Earlier quoted context omitted.

Technical writers worth their salt are few and far between. Another option your comment suggests would be something in popular science or media.

Technical writers worth their salt are few and far between. 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.

Just to give a few examples:

We produce about one report per week, 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.

Re: A Clojure learning journey

#24

Not sure why the excitement around ditching Lein when it looks like there is little or nothing to be gained at this time? The author describes a handful of other tools that are necessary to do things Lein does out of the box (uberjar) The Clojure ecosystem (specifically through the lens of this post) reminds me of the Linux desktop ecosystem. Lots and lots of tweaks and knobs and dials for the sake of having tweaks a…

That being said I really like writing Clojure in the pure sense but have yet to see a really pleasant 1. App architecture and 2. Web application and routing layer. Ring/compojure don’t do it for me.

Aren't pretty much all languages the same in this area? expressjs/sinatra/flask, or are you implying you prefer opinionated frameworks like rails?

So I'm curious, what's a pleasant app architecture, web app/routing layer for you?

Re: A Clojure learning journey

#25

I just got rejected in a hiring process at Nubank (a sexy fintec from Brazil that uses clojure a lot) because I used a database for the take-home code challenge they sent me (writing a REST API). Since I'm a Python developer who knows little about concurrency in clojure and I would not like to use locks, I thought it would be better to delegate these things to the database. Apparently I was supposed to use a global s…

Having 5 years professional experience with Clojure, I applied a few months ago to a remote Clojure job, and the coding test was none other than recursion via zippers, literally my weakest point. I could have done the job just fine since they said they didn’t use zippers on the job, but failed the test and they passed on me. Coding tests are the real problem. I’ve had some great ones where you can tell someone put ef…

Coding tests aren't always the problem, but coding tests that evaluate skills the company doesn't even use? That's just disrespectful.

Re: A Clojure learning journey

#26

I just got rejected in a hiring process at Nubank (a sexy fintec from Brazil that uses clojure a lot) because I used a database for the take-home code challenge they sent me (writing a REST API). Since I'm a Python developer who knows little about concurrency in clojure and I would not like to use locks, I thought it would be better to delegate these things to the database. Apparently I was supposed to use a global s…

There is also the issue of nervousness that comes up at coding interviews. See "Embarrassing code I wrote under stress at a job interview":

http://www.smashcompany.com/technology/embarrassing-code-i-w...

Re: A Clojure learning journey

#27
I really like Clojure and am using it for a web project now. Datomic is awesome too, but not appropriate for my current project unfortunately (gis stuff)

Re: A Clojure learning journey

#28

I just got rejected in a hiring process at Nubank (a sexy fintec from Brazil that uses clojure a lot) because I used a database for the take-home code challenge they sent me (writing a REST API). Since I'm a Python developer who knows little about concurrency in clojure and I would not like to use locks, I thought it would be better to delegate these things to the database. Apparently I was supposed to use a global s…

I had a similar assignment when I applied for a remote Clojure job at a startup in California. Create a REST API in Clojure (which I can do in my sleep at this point). I decided to use a database (in my case, H2) along with HugSQL because it handled some of the requirements for me (unique constraints, etc.), and I'm comfortable with databases. I could have done it in code using a collection (and used filter/map/reduce/etc.), but just using a database and defining a schema seemed the simplest and most fool-proof solution (and I think the proper place for these sorts of checks is in the database, anyway).

During the code review, the interviewer seemed surprised that I used a database, but didn't seem to have much of a problem with it ("you're the only one I've seen do it that way"). In any event, the 'code review' consisted of him saying "Well, um.... I can't really find anything wrong with this, you're definitely a good Clojure developer"

And then they passed on me anyway. I wonder if they ever filled the position?

P.S., not the first time something like this has happened to me, I've had nearly the exact same experience when I applied for a Golang job.

P.P.S., Also I've got the "Pass. We think you'd be bored here." Which is aggravating. It seems I can only find employment at places with nearly non-existent tech screening that under-utilize me and don't care if I'm bored out of my skull.

Re: A Clojure learning journey

#29

I just got rejected in a hiring process at Nubank (a sexy fintec from Brazil that uses clojure a lot) because I used a database for the take-home code challenge they sent me (writing a REST API). Since I'm a Python developer who knows little about concurrency in clojure and I would not like to use locks, I thought it would be better to delegate these things to the database. Apparently I was supposed to use a global s…

There is also the issue of nervousness that comes up at coding interviews. See "Embarrassing code I wrote under stress at a job interview": http://www.smashcompany.com/technology/embarrassing-code-i-w...

During one of my first coding interviews I used a goto. I simply forgot about the existence of loops I was so nervous, but for some reason the archivist in the back of my brain responsible for preserving my childhood Apple ][ BASIC knowledge stepped up and said "I got this."

Re: A Clojure learning journey

#30
post #19
post #3

Earlier quoted context omitted.

> More people should get to know clojure as it's a wonderful language that has almost all concurrency models on this planet. 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 no…

I use Clojure (or Clojurescript) for all of the things you listed. When I need something other than Clojure, that thing is typically C which is either a device driver or something I'm going to call into from Clojure. In the past I used mostly Python/Javascript/C instead of Clojure/C to get where I wanted to be. Just to be clear, I use clj/cljs (day to day) for: * Mobile Applications on Android/iOS * Analytics and Dat…

But does Clojure/C really makes you more productive than Python/Javascript/C? which I guess is the point the GP was referring to, although, you mentioned it makes you happy (which is a good of enough reason as any).

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.

Post reply on HN