Fork me on GitHub
#jobs-discuss
<
2018-08-24
>
alexlynham07:08:16

yeah I’ve found in my current role being able to mentor on what I know is almost as valuable to the org as using what I know

alexlynham07:08:41

sharing knowledge is a force multiplier (kinda obvious in hindsight) but every other thing I’ve done has been head down at the keyboard so it’s a new thing

💯 4
scriptor07:08:22

It's also incredibly rewarding. Bashing out code for new features or whatever can feel a bit hollow. Helping colleagues and friends grow and improve just feels better

💯 8
alexlynham08:08:25

yeah, it’s been a pleasant surprise. Just bummed out my teaching people clojure hasn’t stuck

alexlynham08:08:06

even trying to explain why closing over and removing shared state in say python or whatever can reduce bugs… it’s quite hard to get the new way of thinking to click, and it’s probably just that I’m a bad teacher

neotyk08:08:12

alex teaching new concepts is inherently difficult, don’t beat yourself over it

neotyk08:08:45

and it’s really about the student mostly, if they are not ready the best teacher won’t make a difference

Conor08:08:15

If you sense that, you can ask them to wax your car a few times

Conor08:08:48

I taught some Scratch to my son, it was fun

3Jane08:08:14

things only truly stick once a person has encountered the problem, and found that your way solved it more efficiently than their way

3Jane08:08:21

there can be a long delay between the moment of you sharing the knowledge/technique and the moment of AHA! in the student, which you don’t always get to witness unless that person comes back to say thanks, maybe years later

3Jane08:08:36

it’s not about the quality of your teaching, it’s inherent in how teaching works 🙂 (and also why I make an effort to go back and thank people who taught me something which perhaps I didn’t appreciate enough at the time.)

💯 24
alexlynham13:08:04

> there can be a long delay between the moment of you sharing the knowledge/technique and the moment of AHA! in the student, which you don’t always get to witness unless that person comes back to say thanks, maybe years later this is very true

alexlynham13:08:17

> and also why I make an effort to go back and thank people who taught me something which perhaps I didn’t appreciate enough at the time me too 🙂 it feels good

enn14:08:30

Is it just me, or does it seem like there’s been a recent-ish swing from from back-end to front-end in the Clojure(Script) jobs that are showing up here?

alexlynham14:08:25

no, it’s not just you

alexlynham14:08:31

cljs and re-frame are booming

alexlynham14:08:55

re-frame is rapidly becoming the killer reason to use clj

metal 12
mauricio.szabo14:08:53

It's still on my TODO list to use re-frame (most of my friends don't like ClojureScript because they say the tooling is too weak). What are the killer features of re-frame?

alexlynham14:08:33

Why Should You Care?
Perhaps:

1. You want to develop an SPA in ClojureScript, and you are looking for a framework.
2. You believe Facebook did something magnificent when it created React, and you are curious about the further implications. Is the combination of reactive programming, functional programming and immutable data going to completely change everything? And, if so, what would that look like in a language that embraces those paradigms?
3. You're taking a Functional Design and Programming course at San Diego State University and you have a re-frame/reagent assignment due. You've left the reading a bit late, right?
4. You know Redux, Elm, Cycle.js or Pux and you're interested in a ClojureScript implementation. In this space, re-frame is very old, hopefully in a Gandalf kind of way. First designed in Dec 2014, it even slightly pre-dates the official Elm Architecture, although thankfully we were influenced by early-Elm concepts like foldp and lift, as well as Clojure projects like Pedestal App, Om and Hoplon. Since then, re-frame has pioneered ideas like event handler middleware, coeffect accretion, and de-duplicated signal graphs.
5. Which brings us to the most important point: re-frame is impressively buzzword compliant. It has reactivity, unidirectional data flow, pristinely pure functions, interceptors, coeffects, conveyor belts, statechart-friendliness (FSM) and claims an immaculate hammock conception. It also has a charming xkcd reference (soon) and a hilarious, insiders-joke T-shirt, ideal for conferences (in design). What could possibly go wrong?

alexlynham15:08:15

but tl;dr it makes dealing with state, UI updates and the limitations of JS a lot less painful when writing javascript applications for the browser

mccraigmccraig15:08:39

@mauricio.szabo single-source-of-truth for app-state, simple (comprehensible) model for updating app-state in response to events, straightforward way of letting view components depend on parts of the app-state

👍 4
💯 8
alexlynham15:08:55

the tooling is pretty good too, hot reloading etc and debugging are not bad at all 🙂

pbostrom15:08:02

I gave a presentation at our last meetup on re-frame: https://www.youtube.com/watch?v=Pq5oof3SJXA slides here: https://www.slideshare.net/PaulBostrom/build-your-next-single-page-app-in-clojurescript-and-reframe sorry for the poor quality, I recorded on my phone

👍 12
👌 4
alexlynham15:08:52

@gadfly361 10x also ships with the lein template doesn't it?

gadfly36115:08:53

@alex.lynham yeah, if you add +10x option

alexlynham15:08:08

👍 thought so

alexlynham15:08:31

10x is what I tend to use so I figured it must ship with the template as I like having some batteries included 🙂

vemv15:08:45

Honestly I never liked re-frame, starting from the gratuitously dense chosen concepts ("coeffects"), to ugly fn-names (`reg-sub`), glorified fn invocations (`re-frame.core/dispatch`), to a fostering of ad-hoc patterns (keyword soup + 'data clumps' as per ) At work we use https://github.com/metametadata/aide , it's not perfect but you can check how its source is smaller than re-frame's README. And we got a large, impeccable app out of it (`/rant`)

☝️ 4
andrea.crotti21:08:01

Aide looks interesting, but I quite like reframe

andrea.crotti21:08:11

Took some time to really understand but now I feel very productive with it, and by the way you can also use namespaced keywords which improves the keyword situation

ddellacosta20:08:57

I wanted to agree with that first bit in particular…I haven’t been super impressed by re-frame but I don’t know anything about aide.

ddellacosta20:08:54

Back in the day, before they updated their docs, re-frame had a bunch of confused and confusing links to various FRP docs which showed me there wasn’t a lot of thought placed into that side of the project.

ddellacosta20:08:04

All of that aside, I’ll take it over om.next any day of the week…

vemv04:08:19

> All of that aside, I’ll take it over om.next any day of the week… fair observation, done > perfect