Hacker Newsnew | past | comments | ask | show | jobs | submit | north_african's commentslogin

We need a language that compiles to js with strong typing not another ts!


Like Haskell or F#? Already exist.


Does a "kernel" of a field really does increase in size over time? or is it that we are accustomed to being highly specialized?


What's the point of mastery anyways? If you are a master software engineer, what does that guarantee? is investing in mastery the best use of your time?


I don't know if I'm using the word the same way, but I understand the benefit of mastery to be that you automate and abstract away things and can get to a point where you're just firing off mental routines instead of having to consciously focus on the specific task. This means that in a multi-faceted task I can focus primarily on the elements I haven't mastered, since the things I have mastered come easily and automatically. As a consequence, anything that relies in part on the mastered skill gets easier.


Totally agree. The key idea here is automaticity, the ability to execute low-level skills without having to devote conscious effort towards them. Automaticity frees up limited working memory to execute multiple lower-level skills in parallel and perform higher-level reasoning about the lower-level skills.

For instance, think about all the skills that a basketball player has to execute in parallel: they have to run around, dribble the basketball, and think about strategic plays, all at the same time. If they had to consciously think about the mechanics of running and dribbling, they would not be able to do both at the same time, and they would not have enough brainspace to think about strategy.

(This comment is basically the intro to a detailed article I wrote on the topic with plenty of scientific citations: https://www.justinmath.com/cognitive-science-of-learning-dev...)


That is a much better way of putting it, thank you.

(edit) One thing neither of us directly mentioned in our comments, but which I feel is important is this bit from your article intro:

> Insufficient automaticity, particularly in basic skills, inflates the cognitive load of tasks, making it exceedingly difficult for students to learn

A real-world example for myself was when I was learning a small lick on guitar with an uncomfortable-to-me rhythm. I initially just played it slowly so I could get everything right, trying to speed it up every now and again to check progress. I progressed, but slowly. What ended up demolishing the challenge is the separation of the rhythm element(s) from everything else involved in the lick, and practicing those individually. By themselves they were easy to knock out (matter of minutes), and after those few minutes when I revisited the entire integrated lick I could suddenly knock it out of the park.


Great example. Yeah, I fully agree that in general, the fastest way acquire a complex skill is to focus your practice on the particular components that are giving you the most trouble. That's the main theme behind deliberate practice: find the bottlenecks and concentrate your practice time on them.


I've been surprised to find that this isn't a common viewpoint. In fact, I have a long-term bet with a friend that I'll learn something faster using deliberate practice 'n stuff then he did trying to learn everything at once.


Why wouldn't you want to master something you do for a living? Who would want to permanently struggle?


There's a big area between mastery and struggling plus the cost of mastery is time investment with no obvious financial reward for example!


So what you're saying is you're fine with being mediocre, as long as your compensation sits at a local optimum?


Yeah pretty much!


Sounds boring but whatever floats your goat...


as opposed to rewatching Seinfeld? Competency is its own reward. Does it make me more effective the job market? certainly not.


Any research/advice/tips on how a software engineer makes himself more effective in the job market?


you're not there to make software. you're there to pad out someones headcount and not make any trouble. associate yourself with an enterprise that becomes successful independent of your contribution, and leverage that to get similar roles elsewhere.


Try to master new fields that are just beyond your current comfort area. Make sure you actually practice them, and keep memorizing stuff.


Solve real world problem in a formal way, not ad-hoc.


In a rapidly changing world also


Couldnt fund it: the idea is extremely obvious in the market and waiting to be built!


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

Search: