Fork me on GitHub
#jobs-discuss
<
2022-02-16
>
John Bradens19:02:17

Hi! I'm new to coding and focusing on learning full stack clojure & Clojurescript. I'm just wanting to learn some basic information about the job ecosystem around CLJ/CLJS? Are there many opportunities for entry level? I am finishing up an applied math phd so I have some experience writing algorithms & functions, but not in relation to web apps (Making web apps is my new passion and focus after graduating)

seancorfield21:02:54

There are Clojure/Script shops out there that hire entry-level developers and train/mentor them but they are fairly rare I think. A lot of the job ads you'll see around clj/s are aimed at intermediate-to-senior level developers, even if it's mostly in other languages but with some exposure to/interest in FP. So opportunities do exist but a lot of people want to learn & do Clojure/Script professionally so competition for those entry-level roles is often tough.

John Bradens04:02:04

Ok thanks for the info! I see in the post above that there are 4 companies listed in the blog post where they will hire entry level and train. Seems like it might be tough.

quantisan21:02:46

OT I'm curious @U02387J8EKG with a background in applied math phd, why web app? where you won't be using any of your applied math skills. versus a more typical path like data science?

👍 1
quantisan21:02:17

and you'll be competing with hordes of bootcamp/new grads with js/css/html knowledge

John Bradens21:02:14

Great question @U054P6SA8 When I started my applied math phd I thought I wanted to be a professor or data scientist. Then in grad school & doing a data science internship, I wasn't into those careers anymore. I became very interested in how web apps (and startups) can solve problems that affect many people, using more basic technology (vs phd which is very high level stuff that only matters to a few people). Even though I spent a few years of my life becoming an expert in something, it's a sunk cost. At this point I have to think about how I want to live the rest of my life, plus I love to constantly learn new things. I still have an interest in some related data science topics, like recommender algorithms. My goal is to use my developing technical skills to start a startup that can solve a basic problem for many people... but I don't feel like I have enough skill to make my ideas come to life yet, hence putting feelers out for job opportunities where I can learn 🙂

eggsyntax02:02:08

I think the set of opportunities out there for Clojure entry level definitely improves if you can say that you already know Clojure, and even more so if you can point to an open source repo so that prospective employers can see some code that you've written.

quantisan04:02:30

@U02387J8EKG why do you say you don't feel like you have enough tech skills to make your ideas come to life yet? for someone that love to constantly learn new things, I'm sure you've already picked up some frontend skills to build a rudimentary web app with the resources out there. phrasing my question another way, if you goal is to start something that can solve a basic problem for many people, what is it with getting an entry level job that would solve for you that you can't just pick it up on the go? (I'm not hinting at whichever path, am just being nosy and trying to understand where you're coming from)

John Bradens08:02:14

Hi @U054P6SA8 - good point. Yes, I can set up a basic web app... But I'm not sure if I can monetize it and get it profitable in time to pay my bills before my savings run out. A job will help, because then I'll be able to continue learning while having my rent paid. Ideally though, in the next few months I'll be able to get some funding or revenue and won't have to worry about that. But I like knowing I can get a job just in case.

Ben Ritchie19:02:26

If your goal is to make a basic webapp out of interest why focussing on Clojure? (I'm an experienced web-dev asking myself similar questions as I learn)

John Bradens21:02:54

Hi @U033DT4T1L4 at first I tried to learn OOP but I felt overwhelmed with all the options. Also all the resources I found online were just backend or front end. I had trouble figuring out how things connect because I want to learn basic full stack. I read paul graham articles (because of my interest in startups) and he has a few about the perks of Lisp. So I found clojure & clojurescript and found some full stack web app tutorials/books & was able to set up some really basic apps quickly. I feel really lost though when I try to add new features that aren't in the books. So I have no idea if clojure was a good idea or not. Also I think because of my math background, I like the idea of using functions in programming better than OOP. Plus one of my ideas is an online education platform, and it's best to start with a niche... so I think I'm gonna try making a platform with clojure & clojurescript tutorials, since it's an area that's way less saturated than traditional OOP topics (and a resource I personally would like to have). Of course, these could all be misguided efforts...

John Bradens21:02:26

One of these days I'd like to spend a weekend re-creating my projects in python & javascript and compare how it goes...

John Bradens22:02:07

@U033DT4T1L4 out of curiosity, as an experienced web-dev, what are your reasons for learning clojure?

seancorfield22:02:21

@U02387J8EKG I hear you about getting a full-stack clj/s app up and running from a book etc and then not being able to extend it -- I think that stuff like Luminus is such a big bundle of libraries that it's very hard for newbies to then expand their app (or debug it, if things go wrong) because there's so many moving parts. I recommend folks start with the basics: Ring + Compojure on the backend, for example, and maybe re-frame on the frontend, and just get some basic API calls going. That leaves you with a working app with just a few moving parts to learn. Then you can gradually learn new libraries and add them to the mix.

John Bradens22:02:56

Thanks for the advice @U04V70XH6! I'll try that out to understand the basics better.

Ben Ritchie20:02:06

My interest in Clojure is from the potential for brevity and the lack of bugs due to immutability, having seen the same problems and lengthy solutions (boilerplate) emerge in other languages. My concern is similar to yours: there are many more tutorials and debates to pattern match (and even copy) from in more 'popular' languages which can lead to easier self-learning, and subsequently, hiring.

Ben Ritchie20:02:51

It somehow reminds me of the Dvorak keyboard which is universally accepted as better than QWERTY but hard to find people who are comfortable with it. And guess what? I use QWERTY. Somehow life's not fair in this regard, and network effects - annoyingly - matter.

Ben Ritchie20:02:18

Anyways I'm just figuring out my position, don't interpret me as too negative

eggsyntax20:02:49

Funny you should say that 😉 I'm a person who's very highly motivated by the desire to use the most effective tools I can find, to the point of having just left a job that I was mostly pretty happy with because they decided to shift away from ClojureScript on the front end. And I've been a dvorak user for 15 years 😆 When it comes to programming languages, Clojure is by far the most effective tool I've ever found. All of which is just to say: I identify strongly with your motivations here and validate Clojure/Script as a choice that suits those motivations extremely well.

❤️ 1
⌨️ 1
John Bradens20:02:39

@U033DT4T1L4 This reminds me of how Reddit was originally written in a lisp & then they switched to python... that being said, I think one perk with programming languages, is that learning more tends to help with overall skill. So learning Clojure probably can't hurt. When you mention hiring, are you referring to being hired, or are you in a position to hire others? I'm trying to understand the job market better. I'd like to understand which is greater (and have heard conflicting things): The supply of clojure jobs, or the demand for clojure jobs. Do you have a perspective on that?

Ben Ritchie20:02:30

@U077BEWNQ ha well the definition of insanity is doing the same thing and expecting a different result, so I'm trying to work out if I'm nuts! As a personal decision, it's easy I did Advent of Code in Clojure. As a business decision the calculus is a little trickier

😆 1
Ben Ritchie20:02:28

@U02387J8EKG I think programming in Clojure makes you a better programmer in any language, so go for it! I think you'll also find yourself working with some great developers if you head in that direction, even if there are less absolute number of jobs. I was referring to my concerns for being able to hire; most reports I've read have seen rapidly scaling teams teaching Clojure to refugees from other languages to plug the gap.

John Bradens21:02:42

@U033DT4T1L4 Good to know! That makes a lot of sense. I've heard of some startups using Clojure & sticking with it, so it seems possible. I wonder if using Clojure might attract higher quality applicants, even if there's a smaller number of people to choose from?

Ben Ritchie21:02:15

I think it might, but early-stage startups don't always have the budget for high quality applicants and have to be creative/have options. There are no absolutes in all this. You might say it's simply a bet of some kind.

👍 1
seancorfield21:02:39

"I wonder if using Clojure might attract higher quality applicants" -- yes, that is my experience as a hiring manager.

👍 1
1