This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-10-21
Channels
- # announcements (13)
- # babashka (29)
- # beginners (52)
- # calva (95)
- # cider (18)
- # clj-commons (7)
- # cljs-dev (42)
- # clojure (121)
- # clojure-australia (1)
- # clojure-dev (39)
- # clojure-europe (36)
- # clojure-france (4)
- # clojure-greece (1)
- # clojure-italy (20)
- # clojure-nl (3)
- # clojure-portugal (1)
- # clojure-uk (7)
- # clojurescript (47)
- # conjure (2)
- # cursive (9)
- # datalevin (5)
- # datascript (8)
- # datomic (68)
- # defnpodcast (2)
- # deps-new (5)
- # fulcro (18)
- # graalvm (21)
- # gratitude (9)
- # jobs (6)
- # jobs-discuss (17)
- # leiningen (3)
- # lsp (80)
- # lumo (1)
- # malli (9)
- # mount (2)
- # off-topic (16)
- # other-languages (8)
- # podcasts-discuss (19)
- # reitit (5)
- # remote-jobs (5)
- # shadow-cljs (29)
- # sql (5)
- # tools-deps (13)
- # vim (11)
- # xtdb (19)
Hi guys 👋 My fiancée is starting learning programming. I was wondering if it's better for her to start with default mainstream stack. Because I'm worried that with clojure it will be very hard to find a job without experience. What do you think?
Here's my opinion on the topic, programming jobs without any prior experience are harder to find overall. The ease with which Clojure jobs can be found is dependent on geographic location. While I see many jobs #remote-jobs and #jobs slack channels, most of them are located in US/EU or are not open for global remote work setup. I also agree that the number of Clojure jobs is definitely much smaller when compared to say more mainstream languages like Javascript, Java or even Go. However, learning programming with mainstream stack alone wouldn't guarantee a job. One has to also learn Data structures & algorithms (DSA) and practice loads of Leet code problems. For instance, in India, DSA interview generally happens to be the first round for 90% of the companies/startups.
We live in EU (Poland). Yeah, but I feel like from clojure programmers people expect already x years of experience at least in other languages. Also clojure pool is small here, so mostly remote jobs are to be concidered. HMm I think I have my answer 😄 Thanks
It also depends on what kind of programming she would like to do. For instance, she may feel more comfortable creating something for people, with UI, so learning html/css/js surely would help. Or maybe she would like to do ML, then Python would be a way to go, etc.
Oh right sorry forgot to mention, she is interested about web dev, mostly front-end now
It's not really a problem to know what to learn. I was more wondering how complete beginner position market looks like in clojure world
> My fiancée is starting learning programming. I was wondering if it's better for her to start with default mainstream stack. For absolute beginners, I recommend the following approach: • Demystify computers. I love nand2tetris: https://www.nand2tetris.org/ • Learn a language well, and play with it. Since she is interested in web-dev: https://eloquentjavascript.net/ • Learn about the past and the future; i.e. what you're getting into, if you want to make this field your career. https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month • Learn to be productive: ◦ Touch-typing is fundamental. You don't have to be a speed demon, but 60-to-80 WPM with 99% accuracy is essential, IMHO. Sites like https://www.ratatype.com/ are decent. ◦ Proficiency with their tools (shell, git, editors etc.): https://missing.csail.mit.edu/ • Learn to design software. I personally like How to Design Programs: https://htdp.org/ • Learn to use a database. I personally like A Curious Moon: https://bigmachine.io/products/a-curious-moon/
> I'm worried that with clojure it will be very hard to find a job without experience
This is anecdotal but in my experience it's harder for companies to find Clojure developers than for Clojure developers to find Clojure jobs.
In fact some companies are willing to teach you Clojure even if you haven't programmed before in the language.
It seems to me that abstraction and soft skills (e.g. "growth" mindset, communication skills, organizational skills, don't be a dick) are more important for companies than knowing some specific technology because the former are harder to find. Even stuff like git is secondary, with proper tutoring a couple of weeks should be enough to be productive in it.
I mean, sure, hard skills make you a more desirable candidate but you should still be able to get a decent junior job if you don't know what O(n)
means or what a left join is.
Like I said though, this is anecdotal so ymmv
I would not recommend starting with JS/TS. JS is a mess of a language, Learning a language that is well design will, IMO, be much easier, especially if it is as simple as Clojure/Script. Yes, the market is smaller - but so is the number of people applying for such jobs. When I was going to teach a friend programming, I opted for Python because it is famously beginner-friendly and widely used and usable. Frontend is much more of a challenge since there is so much to learn outside of the language. Should she start by learning a bad mainstream language with a large market share? Or should she start with a niche, well-designed language with a delightful development flow that will likely be much easier to pick up and will help her stand up in the crowd of beginner web developers that only know JS? I believe in the latter but of course I have no 🔮 ... Good luck anyway!
elm is a good one. straight forward to learn, simple semantics. IMO the “first language” is best for learning concepts, not a quick job if possible
I think the fastest path to doing cool stuff with Clojure on the front-end would be HTML, CSS, selector syntax and DOM learning (editing existing templates, view-source on pretty and simple pages) and then going full-speed with Rum & cljs via shadowcljs or figwheel plus, instant feedback is huge, and she'd probably wonder why other frameworks/languages don't focus on that.
On the other hand, after I experienced the instant feedback of Clojure, I have suffered for years when coding JS/Java/... until I finally became a full time Clj dev so it is not all positive 😉
My thinking was just like yours. I saw that learning clojure or just functional language first, is easier than going from OOP -> functional. Also the clojure is just great language. The problem is that when I looked for jobs in clojure I saw a lot of positions open for people to learn from scratch clojure. But they always said that they require knowledge of java/scala/js. So what I was worried about, was that there might be no company working in cljs that is about internship programs or looking for true juniors.
"Touch-typing is fundamental. You don't have to be a speed demon, but 60-to-80 WPM with 99% accuracy is essential" As Rich Hickey said, "Programming is not about typing."
Well, now that the only important computers in the world are phones, computer literacy is about touch touching (and the kids all laugh when on a rare occasion I use mobile, I am so lame at that). But no matter what, using a computer is not about the mechanics. My non-techy bar mate tried many times to have Google remind us of Troy Aikman's name, with elaborate questions with great and accurate detail. He did not understand how search works. "Former Dallas quarterbacks", I suggested. "There are not that many." Bingo. And even with fellow devs I routinely find info where they fail. Typing, schmyping! :)