Learning some interesting data structures, how Javascript works under the hood, enjoying the fun of null pointer exceptions, understanding relational databases and maybe some lambda calculus. Those things make you a better developer and have the added advantage of helping you understand the next fad that comes along.
The article points out that more experienced developers often seem disinterested in learning new things. I'd covert that to being much more aware of what "new" actually means. A "new" Javascript thing fundamentally can't do anything different from another Javascript thing, it might do it more verbosely or abstract away some really funky code. A more experienced dev should consider being interested by things like V8, server and client side Javascript, Typescript / ES6 because they offer more fundamental change.
I think you've done a lot of reading between the lines. The intention of the article was to get people inspired to try experiment and explore new things.
I did say I was painting with a wide brush. That doesn't excuse some inaccuracies you don't agree with.
I'm not a grad student or a young whipper snapper, being closer to 40 than my 30's.
These are only observation I've experienced so far and appreciate your view on the mater.
I've also been learning Haskell so I am interested in the whole FP paradigm, so though I've only been do JS so far would really like learn other languages.
Maybe my experiences so far aren't what most people experience coming into programming.
I'm sure what ever I say won't make a slight difference but wanted to clarify a few points.
Happy Hacking
But the tone you set at the beginning is harsh and it does not feel like you spend a lot of time with more experienced developers. They are often so experienced because they didn't stop learning.
And then the whole article has some anecdotal feeling. Everybody had different experiences with different communities, I for myself had the feeling that many researchers at the university often are only interested in their specific topic. While all my programming colleagues did tons of other stuff where they had to learn things like brewing, cooking, playing instruments and so on. But now I work in an environment with researchers from the humanities and they're overly exited about digital research methods and they invest a lot of energy into learning those. On the other hand, the last time I attended a meeting of Nodejs people I saw a presentation about a new cool framework for restful APIs that used experimental features of Nodejs and the presenter stated that he used it while developing a backend for a random client. I'm pretty sure the client would have liked a bit of grumpiness against new frameworks there.
At last, a lot of innovation is driven by big companies. Think about Andrei Alexandrescu and his work at Facebook or Simon Peyton Jones at Microsoft Research (only to name a few).
One of the biggest problems with programmers in general is not their conservatism, but rather the wide variety of opinions that are incompatible. Or, possibly in a less polite way of framing it: programmers are often wrong. One time one of my young colleagues opined that while he was sometimes wrong, there was no way that he could be wrong all the time. I had to think about it a lot, but I realized eventually that, yes, it is actually quite easy to be wrong all the time as a programmer.
You speak very enthusiastically about measuring your success and taking action based on a rigorous scientific approach, but I don't think you will be successful. Or at least, if you are then you are doing something extraordinary and I will very much look forward to your next blog post ;-)
A massive problem in this industry is confirmation bias. That's when we have an idea and we go out looking for evidence that it is correct. If we find said evidence, we often feel vindicated in our beliefs. Unfortunately if we have not also searched for evidence that we are wrong, then we have fallen victim to this bias.
Reading blog posts of people you respect and trying out techniques to see if you agree is fantastic. However, it's also a great way to fall victim to confirmation bias. Soon, you start to see thing coloured one way and people who do not agree seem to be wrong, or at least out of date.
1.5 years is not enough time to be able to form reasonable judgements about whether the application of a technique is good or not. At the very least you need to be able to build a huge code base and let it crumble under its own weight before you can even begin to see the issues involved. Write at least 100,000 lines of code first and then re-evaluate your position. Better to write 500,000 or even a million lines.
I started programming at the age of 9. I'm 48 now. I got my first paying gig at 18 and there have been many, many more days in my life where I have been programming than where I haven't. I can tell you that I'm not holding on to my old techniques with a death grip. It's just that in several decades of being a professional programmer, I know thousands of ways to fail and only a few to succeed.
I sincerely wish you the best in your adventure and I hope you keep the spirit you have now. Just understand that the terrain gets considerably more rocky as you go forward ;-).
thank you for your constructive response, I agree with what you are saying. Due to the length of my experience it's going to be hard to give my beliefs any sort of foundation to an experienced programmer. With this in mind I also wrote the article to hear and learn from other people's constructive views.
I believe there is no shame in being wrong, because to me that is the only way one will ever learn and improve. I also try to be aware of trying not to fall into the bias trap, so I try to use the null hypothesis when it comes to choosing what to follow or learn. But most importantly I want to learn a subject in which I take a real interest and passion. Then branch out from there.
Like I mentioned before, the primary goal for my article is to inspire people to experiment and try things that might not be what the mass agree with and actually give it a go and taking it further than checking if the repo has enough stars.
Plenty of companies pay for developers to experiment and it would be impossible for all companies to afford this. At the same time there are plenty of chip100 companies that don't have any OSS projects yet they are clearly reaping the benefits. That comment is me being optimistic and potentially not a realist due to the harsh nature of business.
Thank you again for the response. :)
- author starts with saying he's a beginner. But somehow, this gives him better insights than others, because 'fresh pair of eyes', and 'resistance to new things'
- then he says (about the industry in general) 'To me it seems really slow to adopt new concepts.' (wtf?)
- except then he says 'Programmers should really take a leaf from the Mathematics & Sciences'. Because they move faster than programming, he must mean? To paraphrase Babbage badly - 'I am unable to comprehend the sort of confusion that could lead to such a statement'.
- then he says that the 'the primary source of innovation in the it industry is from open source projects'. (yeah, sorry to be that guy, but imma need to put some 'citation needed' on that one)
- and then, somehow, this leads to a justification on why he wants to learn about some javascript framework (because of course - 'learning' as a programmer is about getting used to the idiosyncrasies of the umpteenth 'framework' that does the exact same thing as the other ones before it, except in a way that is shitty in another way. O excuse me, 'having it under your belt'.)
- but of course, if experienced people call out the futility of it, they are idiots! Because he started off this whole thing with 'I’ve experienced a strange culture of the better a programmer becomes at a subject the less they feel the need to learn.'!) So ignore people who've been there because they're just old geezers who don't know anything anyway!
What ticked me off enough to waste 10 minutes of my life on writing the above, was the claim that software should be more like proper engineering and science - and then going on to claim that the way to do this is by jumping from one navel-gazing fad framework to the next even faster! Lol this attitude would be laughed out of a proper engineering firm so fast it wouldn't have time to take its jacket off.
And of course, everybody is free to post whatever they want on the internet, so why do I care; but cultish nonsense like this does actually harm newcomers who think it somehow represents truth, and who might waste years of their career on chasing technical details while in the mean time neglecting (or not even realizing the existence of) what truly matters for progression as a software engineer: the bigger picture within the business, evergreen CS fundamentals, complementary technology, etc.
Now if you'll excuse me, my local senior center's workshop 'Dealing with age-induced grumpiness: an introduction for those who see 40 looming!' starts in half an hour...