Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I know exactly what you mean. As a counter point to the many "burnout answers" here which I completely agree with by the way. It could also be an example of "neuroplasticity" (hear me out).

I'm 40 and been coding like it feels forever, I find it "relatively easy" to learn new frameworks or languages. What is much harder are new paradigms; example OOP vs functional.

The last few months I've started to learn Clojure. Man what a frustrating journey it has been ! I keep telling myself I'm a seasoned senior dev, worked on all sorts of systems Web/Non-Web/hardware/software you named it ! Why is it so damn hard for me to "get it" or "become comfortable" with Clojure.

Only answer I can come up with, is that I have become too comfortable or "set in my ways" as a dev over the years (decades). I've been thinking and coding and "aligning-my-neurons" in a OOP and Imperative for decades.

I don't really have a solution yet except for "don't give up" and keep learning "new" (unorthodox) things more regularly. Oh and definitely take a vacation and be happy with smaller wins more frequently !



In addition, it can also because the more experienced we get, the more we forget about the initial struggle we had to overcome to become experienced.

When we develop expertise, we go deeper and deeper, each new learning experience reinforce our previous knowledge. But when we have to operate a paradigm shift, we don't go deeper, it's a lateral movement. We start back at the beginning.

For some people it's the other way around. They learn a lot a various things without deep expertise and they struggle to dig into a specific subject.

So keep moving and keep digging!


I don't remember forgetting things as soon as I learned them, when I was a kid. I grew knowledge quite rapidly. Now I can re read the same thing every week and re "learn" it.


Make sure you're getting enough sleep, and carving out enough focus time. What I've realized is that while my current situation on either of those is not much different than when I was younger, my ability to learn and get by with minimal sleep and amidst distraction has gotten worse.


I can imagine several hypotheses to answer that:

- at school, it's the job of the teacher to force us to repeat until we've learned something. See Anki and other SRS systems.

- as a kid you don't read to learn, you read because it's fun or because you want to try something. See what another commenter said, you learn by practicing, not by reading alone.

- you forget all that you've forget as a child :)

Also, kids like to imagine stories. In the literature about learning, one method used to improve the retention is too create vivid images about what you want to learn, in other words, imagine stories to memorize. Relevant xkcd https://xkcd.com/208/

Kids also rehearse stuff a _lot_ => Anki/SRS

Having said that, I like to learn about learning but I don't consider myself a particularly good learner :)


> I keep telling myself I'm a seasoned senior dev, worked on all sorts of systems Web/Non-Web/hardware/software you named it ! Why is it so damn hard for me to "get it"

Could this be the problem? Being open to what you don’t know and taking a “beginners mindset” is really important for learning. If you think you already do know how to do something then it’s hard to learn how to do it!


I think you on to something; Things that "seem similar" could very well not be ! I.e OOP vs Functional. Sure they both "programming" but very very different !


I think there's definitely something to the neuroplasticity thing. Learning does take longer as we age, that's just a biological fact.

> Man what a frustrating journey it has been ! I keep telling myself I'm a seasoned senior dev...

This right here, that's something you're misunderstanding. Learning something new is supposed to be uncomfortable. To learn most effectively, you want to shape your mental behavior to minimize surprise (i.e. grok things) while shaping your outward behavior to maximize surprise (i.e. challenge / update your understanding). That's frustrating. Even if you've learned other things before.

The only thing you're missing is a healthy set of expectations. Accept and welcome the discomfort, and you'll learn like you've never learned before. Thinking you should be exempt from this just adds internal resistance to an already uncomfortable process.


I think neuroplasticity is bullshit and is a convenient scapegoat for a shared experience many people have.

No different than phrenology explanations for differences in cognitive behaviors, an explanation that is now deprecated.

The most clear example is the incentives. Change the incentives and people learn quickly. Find anybody that rationalizes their technophobia with their age, and look at the difference between them and someone of the same age that had no problem adjusting to new technology or that specific technology.

70 year olds texting or using smartphones? I know many people that used to make excuses about not being able to do that. As soon as their friends started communicating that way they figured it out. The same incentive children have and do.


> Change the incentives and people learn quickly.

Not necessarily, I definitely got slower at learning new stuff at 40+ than when I was younger. My memory just doesn't work as good as it used to, and I also have less of "mental energy" to get into the zone and stay there digging until I figure things out. I don't know is it my age, or life style, or health and genetics, or just having a lot more other things going on now than before (wife, kids, running business, etc.). However I'm positive it's not a technophobia, first because I love tech and learning new stuff just as much as I used to, and also because I see this in other, non-technical, areas like with learning a foreign language. And if it's (a lack of) incentives then again it's an external limitation of my capacities to motivate myself which I can't solve and I feel it has to do with the age too.


I find it genuinely disheartening when a very real physical decay is masked with plastic social kayfabe. Maybe I'm not western enough and lack proper social grace.

Instead of striving to find real ways to help our seniors avoid a tragic fate of illness and decay, you whip up several white lies. All the more tragic, given your apparent intelligence. Can you imagine, how many individuals have to receive sub-par IQs through no fault of their own to "roll" just one of you?

We are all in the same boat, after all. Might as well help each other.


> Instead of striving to find real ways to help our seniors avoid a tragic fate of illness and decay, you whip up several white lies. All the more tragic, given your apparent intelligence.

am I supposed to be defensive here, seems too easy when I really have no idea what you're talking about. You think I made white lies, ok. what I detailed is a valid experience that co-exists with other forms of physical decay.


I think the neuroplasticity angle is vastly underestimated, and we should seek (and also design, research & fund if there is none) neuroplasticity-upregulating drugs & therapies.

As far as this field goes, this is a remarkable paper: https://pubmed.ncbi.nlm.nih.gov/24348349/


That looks suspect. n=23

2 groups of 12. (one person's data was lost).

No baseline pre-treatment data.

Each group did two trials: VPA then placebo, or vice versa. The VPA-first group did well on VPA, but the VPA-second group did not. Improvement was suggestive but slight.


>Thinking you should be exempt from this just adds internal resistance to an already uncomfortable process.

Wow, thanks ! That sounds like real practical advise ! I think you hit the nail on the head here !

> To learn most effectively, you want to shape your mental behavior to minimize surprise

If you don't mind, could you expand on this part ? I'm not 100% clear on what you mean ?


You've already got that part down pat. "Shaping your mental behavior to minimize surprise" is just a really complicated way of saying "attempting to understand a thing". There's no secret technique here, I was just trying to tie the process of learning back to surprise.


Not my experience at all (50+). Having 25+ years of experience in many different technology stacks makes it easy to cut through the BS and understand the core of what a new technology/stack/framework/library is. When you do that you realise that most “new” stuff is old stuff with a new lick of paint and excited evangelists promoting it.


> The last few months I've started to learn Clojure. Man what a frustrating journey it has been !

I think calling this neuroplasticity is excessive. Clojure isn't trivial.

For a young person who doesn't know how to code it will also take significant time.

Knowing how to code means you have to re-evaluate/re-categorize a set of root assumptions which is objectively hard and there is not really a curriculum fine-tuned for your exact set of existing knowledge.

Maybe you're just more aware of the potential improvements you haven't achieved yet.


I agree with you--let me throw in my experience. In my first dev job, I was 26 (not super young, but also not old). We used Clojure, but I had only programmed C, Python, and Matlab up to that point. It took me a month or two to really grok it, mostly just learning ~40 hours/week.


I am still in my 30s and due to antecipating this issue, I started doing basic formal mathematics based on Spivak's Caluclulus book and this small blog post [1]. The mindset needed to prove things is novel and came quite hard at first, but i feel it flowing faster and faster. I even started making my own problems, and proved my first algorithm.

Funny enough I also started with clojure and for me the meta-character mnemomnics are the hardest parts, not necessarily the way paradigm is.

[1] https://medium.com/swlh/why-a-0-0-and-other-proofs-of-the-ob...


I write clojure all day every day for my job. Here's my tips:

1. Get on an nrepl. Not like, the non-text-editor repl, hook your text editor (or Cursive) up to the network repl and start evaluating sexprs from the text editor. doesn't have to be emacs, I do it on vim with conjure all day every day

2. Don't write too many macros

3. Use a lotta let-statements and threading macros (->, ->>, as->, cond->, etc), that's the idiomatic way to be composing a buncha stuff

4. All the async stuff is real good (with perhaps the exception of agents) but it's like a spice, not the main meat, you know?

Clojure is actually a pretty bad language if you write it like Java. You gotta write it like it's the lisp that it is


Good tips :)

>You gotta write it like it's the lisp that it is

Haha ja, getting to that skillset is the main challenge for at this moment.


The point is not to learn something "cool" that may appeal you (like Clojure). The point is to learn something you truly believe is worthless, but you need to learn it to get your job done (e.g., an outdated version of, let's say, PHP or Angular).

In the latter scenario, learning becomes more difficult.


Having gone all the way and back, I will say this: Undogmatic imperative programming (with objects) is superior to pure functional programming. You can still use functional constructs and immutable data where it makes sense. You never want to shoehorn a problem into a niche programming paradigm.


I have come to realize this is why I love Go. Lots of the big libraries over complicate things at times but for my own simple toys I love writing down my types and planning my data containers and then just writing small functions to interact with them.

I have started writing (type annotated) python this way and it has made it a joy to work with again. I watch coworkers add so much state and complexity turning every small problem in to a bigger problem with object oriented patterns.


Setting aside why I disagree with this superiority claim, since this is posted under a "Clojure" comment, I just wanted to point out that Clojure is not a pure functional language and you can still use imperative programming. In fact, most Clojure programs are a mix of imperative and functional constructs.


There are two times I noticed I wasn't as good as before mentally. One when I was 17, I noticed that unlike when I was 12 I no longer could memeroize entire books. Which back then I could, I had memorized 12x20 Questions and their answers back to back. But now in HS I felt I'd forget 90% of what I read yesterday. Now to learn I had to write the thing down and act of writing helped me remember things. Second time I noticed is when I was 24 and still in college and when to study in a group. After 10 or so minutes, I had hit my limit with info from one page and just started to skim, but other students who were like 19, kept on writing things down in paper and weren't getting exhausted. I noticed lack of stamina... Now it takes me 3 months to read one book that I'm very interested in. Back then I'd finish a book in 3 days and write 8 page essay on it. So yea things change.


I am almost 30 and attempting to learn Clojure was to me like swimming through mud. It is definitely not just you.


I think this could be particularly difficult for people (just guessing here) who haven't used a functional approach in the past. The shift from procedural imperative thinking to functional thinking is not obvious, and Clojure strongly pushes you to use immutability right away, too. That can be a steep learning curve.

I can tell you that the payoff at the end is huge, though :-)

As a side note, I'd highly suggest that everyone reads "Seven Languages in Seven Weeks" (https://pragprog.com/titles/btlang/seven-languages-in-seven-...). There are many programming paradigms and opening your mind to them is a great investment in the future.


I feel like the longer you've been steeped in OOP the harder it is to get over the hump.

Clojure also has a lot of bells and whistles that aren't really FP but add to what you have to learn.

For anyone wanting to learn FP, I'd recommend trying a more pure FP language like Scheme first.


The problem is not Clojure (or Haskell or …) The problem is having to unlearn OO thinking and understanding a very different way to view the world. But that is a good thing! If you are not struggling learning then you are not really learning anything new. Just a different flavour of what you already know (another OO language with a slightly different syntax and slightly different API).


>swimming through mud

You describe it perfectly !


Thanks!

That being said, I just played around with it for a few days. Some people praise it, after having gone through a few years on and off:

> I wasn’t convinced right away. It took a few years. But after the usual stumbling around and frustration, I began to realize that this language was the easiest, most elegant, least imposing language I had ever used – and not by a small margin.

https://blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure....

I also explored the language landscape, and Clojure projects on GitHub seem to have a low density of commits matching "fix OR fixed OR bugfix":

https://danuker.go.ro/frequency-of-bugfix-commits.html

It's also on the brevity-popularity Pareto front of my bug-ridden analysis:

https://danuker.go.ro/programming-languages.html

So I plan to look at it some more.


Took this journey myself 8ish years ago to learn Clojure. I think by default most experienced devs in other languages will find it frustrating.

It seems to be a language where it is frustrating up to a certain point and then once you cross over that line, somehow it just all makes sense and seems so elegant you almost can't go back to other languages. So just know that if you keep going you will be in for more frustration, but the tip of the peak will be there eventually and then it all falls into place.


Yea that is what im focussing on "just keep going" no matter the struggle or the ugliness im currently producing :)


I'm in my early 30s, been coding since I was 16. I've worked in half a dozen languages and learned about a dozen "just for fun"...and damn, Clojure is hard.

It took me 3 very solid attempts over effectively three years for it to really click. It's honestly why I'll probably never bring it to work unless I absolutely need the thread-safety for something massive and complex that only experts will work on.

It's just not approachable.

But all that said, when it did click, it was worth it. Knowing that I have this powerful (almost magical and forbidden) knowledge is worth having really struggled with it.

In other words, I've been there. It's very tough. Stick with it (if you want) and I wish you the best.


I don't know from your post if learning Clojure is for work or not, but if it is in your spare time, I would really ask myself why I'm actually learning clojure, and spending my free time working outside of work..

If that makes you feel exhausted and burnt out, then just stop learning clojure for goodness sake, and sit by the pool in your free time.


Playing with a new language is much less work/burnout than the BS we get paid to do


The learning process builds structures and systems in your brain to process information.

It's the difference between greenfield and brownfield development, only you can't demolish the old structures: you need to work around them.

That's the thing with the brain, there is no "delete" function. You have read and write capability, but no control over "forget".


> I have become too comfortable or "set in my ways" as a dev over the years (decades)

If OP has been working in React and Angular for years and now has trouble learning Vue, it's not due to this. Vue is pretty similar to React.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: