Clojure work after graduation

Hello,

I am going to graduate in January with a Bachelors in Computer Science. I want to find a functional job. As a beginner with Clojure, could I find a job in the USA using Clojure? Or should I focus my personal studies on other more marketable functional languages? I think my resume is decent because I’ve had an internship in C++ in fintech and some projects.

I know many programming languages, but Clojure is my first functional language (unless you count javascript). I was moving towards a functional style in the code I wrote before I picked up Clojure.

1 Like

That’s a very open-ended question that depends on so many things. Where are you graduating from? Are you a US resident or citizen? Some parts of the US have quite a few hot beds of Clojure work but most parts have zero Clojure companies so are you willing to move if you’re in the latter parts?

Yes US citizen. I’m near NYC. I can relocate wherever, I’m not bound here.

OK, so that makes the answer a lot simpler :slight_smile:

There are (some) Clojure shops that hire fresh grads and are willing to train them up. Most Clojure job openings you’ll see are for intermediate/senior level roles though. Sometimes those companies will hire a senior engineer who doesn’t have Clojure experience and will train them (I hear that quite a bit). So, yes, it’s possible but it will probably be pretty hard to find.

As for “more marketable functional languages”, I don’t think that’ll make much difference. If you’re thinking of Scala, the vast majority of Scala jobs are likely to just be “better Java” than FP roles, IMO. And what else is there? Elm, Haskell, F# – those are all pretty niche too.

Clojure is a niche language with a lot more people “wanting to use” it than there are jobs or even actually using it in production. Look at the list of companies using Clojure and check their websites to see what jobs they have open. You may want to consider a non-Clojure role in one of these companies if you are better suited right now and once you’re in, look at growing into a Clojure developer and changing teams. That’s probably the approach I’d take if I were just getting started.

1 Like

Even though I love Clojure, my advice is not to restrict yourself to it. Adopt the polyglot mindset, and learn a mix of mainstream and niche language. You’ll be more versatile.

Now for Jobs, yes you can find one, but job hunting is more than language. Think about it holistically, the company culture, your interest in the mission or product, the opportunities for you to learn and grow, how much you jive with the city it’s in. etc.

Also, while it is not as fun, your mastery of programming languages doesn’t play that much into growing as a dev. Instead, you need to focus on building responsibility and influence. Being able to take business ideas and make them real, by refining requirements, gathering support, designing proper architecture, leading other devs, mentoring others, making the right choices, and being able to bring all that together to successfully build products or establish processes. That’s the true skills of a senior dev.

Mastering technology is important as well, but it takes the backseat most of the time, unless you specialize, like if you go in ML, Graphics, OS, sound, etc.

I’d also recommend if you relocate to go somewhere with options. Like a big city or tech hub, Austin, San Jose, San Fran, Seattle, New York, etc. It affords you to easily change job if you find yourself somewhere you don’t like much more easily, and generally just offers more opportunity.

Good Luck!

P.S.: Do look for Clojure shops too, and you can try and prioritize them, just don’t make it your only dimension.

3 Likes

so true!!!

… now obviously there is nothing like real-world experience,… but if one has never really been to an actual code factory… there is a book that i have found to offer some insight… you will not find… oh… lets say in your manual pages…

… now the book is somewhat outdated… and there has not been any second edition… i think…

… also the book does talk in several parts about things which are relevant only when programming in C…

… in any case… this is the book:

also for your job interview:

if you pay peanuts, you get monkeys

good luck!

ps.
one final thought on how ( not ) to secure the job you want… so lately lot of people told me… well… forget about formal education… forget about certificates… forget about experience… that stuff hardly matters nowadays… since… well… your work will speak for itself :smile:… now there is probably some truth to this… on the other hand… take a look at this :smile:

pps.
i am really going to stop after this… but i just thought of something… perhaps worth sharing… perhaps not…

…so because of clojureverse i became interested in the following book again:

…so i have talked a bit with some friends about this… and some of them pointed out to me… that you can read the book for free… also… how many people on the planet are actually going to be able to appreciate it … ( … i certainly can not do more than be in awe … although i wish it was otherwise… )

in any case… the point is this… a lot of ( cynical? ) people seam to think … or at least argue… that price = value and popularity = quality… BUT I BEG TO DIFFER!!! ( and i think many lispers feel the same way :smile: )

… i guess what i am trying to say is… try to figure out what a great job means to you… regardless of what others may think…

… in any case… and again…
best of luck!

ppps.
alright… clearly this is getting out of hand… so after this final remark i will be done :smile:… I HOPE!!!

… so my final thought is this… really there is no single definition for what makes a programming language a functional one… i mean some may argue that clojure is not really a functional language at all!!!

so what about functional programming and mainstream languages… like js and java?

… well as you have hinted at yourself… js has always had support for a number of core functional ideas…

… also there are great libs out there… for example:
https://ramdajs.com/

as far as java is concerned… starting with java 8 … the language started to support some more functional ideas / concepts more directly… to some degree… so … you know some C++ right?.. i guess that means you know some java as well :smile:… so … as a fun experiment i would suggest to you the following… try to write a simple program for computing the fibonacci numbers in java… then take a look at this video on youtube where i show one way to do just that… how similar is your approach / program? … if you did something different… what would you consider a more functional style? …