7 ms·
Effective Learning Strategies for Programmers
- tunesmith 11y agoA lot of this advice seems mental/emotional, but as far as tactical approaches go, I think it's important to actually practice, like how a musician does. Like when you're not at work, actually practice doing things like set up a git repo, create a random silly MVP from scratch, solve a one-hour problem in a new language, practice a new programming technique, etc. Or, practice while pretending you have an audience, and if you get hung up on something, learn it until you wouldn't get hung up the next time.
- danieltillett 11y agoYes practice is the key, but don’t just spend your time doing the software equivalent of scales, actually try and build something that is difficult and complex. I have always learnt the most when I am trying to solve real problems rather than toy problems, plus I am more motivated when I know the effort is going to result in something useful.
- clay_to_n 11y agoI mostly agree, but for some types of projects I think the initial setup phase can be worth doing as a scale, because it's important and often under-practiced. Server deployment, setting up a build system, wiring up some system that you know you'll do again, etc - there are benefits to knowing a process that works, rather than stumbling through it each time and thinking it's magic. Another thing that helps is just writing down all the steps you did, after going down a windy path that eventually worked.
- danieltillett 11y agoI agree 100% with documenting what you did when setting up a system/server. I do this (most of the time) and the ability to go back and look at what was done is invaluable. I just wish I did it more often - I something think something is so obvious that I don’t need to write it down and 6 months later I kick myself for being so lazy!
- brianpan 11y agoYou know what the problem with practice is? It's maintaining the mental and emotional drive to continue to do it.
- invisible_dust 11y agoI doubt very many people on this site need to be told how to study effectively.
- detaro 11y agoI wouldn't be surprised if many people here did mostly things that felt relatively easy for them (because it fit their talents and/or was fun to learn) and can achieve a lot just off that.
- loco5niner 11y agoI readily admit I could use (good) help in that area.
- hacker_9 11y agoIf you have a fixed mindset – you believe that people are either smart or they’re not, and they can’t really change that – then you also tend to believe that if you’re good at something, it should be easy for you, and if something is hard for you than you must not be good at it. That’s a fixed-mindset view. People who have a growth mindset believe that you need to exert effort and work hard at something to become better at it. I fully agree with this, and I think the problem is schools too easily trap people into fixed mindsets. There are so many exams in school that if you constantly get medium to low scores it's easy to think you just aren't smart. I learnt programming as a hobby outside of school and fast forward to today and I am a software developer with a 1st degree in compsci. When I look back and wonder why I found programming so much easier than school subjects like math/geography I realise I hated the system more than the subject. The constant dull drills, working through equation after equation. All to pass the next exam and then forget. As I wasn't good at them I just decided that I never would be. Now that I am older I realise that mindset is ridiculous. So as a test, about a year ago, I started practicing memorising all the countries in the world (using Anki[1] flash cards, which I flick through at work whenever I am waiting for a build to finish!), and these days I can literally zoom over the world in my mind and name 90% of the countries. I also started using an abacus to see if I could get my brain to instantly solve math equations just by looking at them [2] and am having some success. I sometimes wish I could go and tell my younger self to skip school but there you go hindsight is 20/20. [1] http://ankisrs.net/ http://ankisrs.net/ [2] http://www.theguardian.com/science/alexs-adventures-in-numberland/2012/oct/29/mathematics http://www.theguardian.com/science/alexs-adventures-in-numbe...
- lfowles 11y ago> I fully agree with this, and I think the problem is schools too easily trap people into fixed mindsets. There are so many exams in school that if you constantly get medium to low scores it's easy to think you just aren't smart. Heh. Not related to there being too many exams, but the second part. Almost changed majors from EE/CmpE to something... softer after the first Calc test in my first semester. Got a 60% on it because I didn't know how to study from highschool. (Freaked me out enough that I studied well enough for a 100% on the next test.) For continuing education, I attempted doing an online program offered through my alma mater for an EE masters. The course format didn't really fit me or the online format well, but I've found the textbooks themselves incredibly useful for self paced study. Does anyone have any Computer Science, Electrical Engineering, Computer Engineering textbook recommendations? I'm working through Microelectronics by Sedra/Smith right now, to be followed by Art of Electronics 3e, but I don't know what I don't know. Any textbooks that will change my fundamental view on electronics and/or programming?
- ryancox 11y agoI've found Richard M. Felder's [1] research in this area useful. He makes a compelling argument [2] that one size does not fit all and describes a taxonomy of learning styles. Understanding my own learning style [3] has helped me optimize the way I go about coming up to speed on new topics. [1] http://www4.ncsu.edu/unity/lockers/users/f/felder/public/ http://www4.ncsu.edu/unity/lockers/users/f/felder/public/ [2] http://www4.ncsu.edu/unity/lockers/users/f/felder/public/Papers/LS-1988.pdf http://www4.ncsu.edu/unity/lockers/users/f/felder/public/Pap... [3] https://www.engr.ncsu.edu/learningstyles/ilsweb.html https://www.engr.ncsu.edu/learningstyles/ilsweb.html
- tbrownaw 11y agoFixed vs growth mindset is BS. It completely misses the point. Find a way to play with whatever it is that you want to learn. The more fun you have, the more you'll almost-magically get better at it. No need to have personal pep talks to convince yourself to go bash your head against the wall one more time. Whether you can learn isn't the issue, whether you do learn -- and how much time and annoyance you have to put in -- is what matters.
- dsjoerg 11y agoAre you so confident that this is true for others because you have lots of evidence, or are you just talking about your personal experience?
- tbrownaw 11y agoMore precisely, from what I've read the "flow" state seems to be about ideal for both learning and making things fun. Plus of course, the more fun something is the more practice you'll find yourself getting (and without having to bash your head on the wall).
- euske 11y agoI think the problem is that what you want to learn is not always fun all the time. At some point you'll hit the wall and you have to overcome it (I admit, however, it never happened to me in programming, but for example I hate driving while I have to get better at it). It's tempting to make an excuse like you're simply "not built for it" - so that you can give up without feeling bad. That is a harm of the fixed mindset as far as I understand. I'm not saying that people should feel bad all the time, but the "nature" excuse is sometimes a slippery slope.
- agumonkey 11y agoThere should be more research in meta-learning. How to learn things that eludes you far too much. Rewire your views deeply. And how to perceive 'progress' while interacting with blind spots.
- 11y ago
- xiaoma 11y agoThe research promoting a growth mindset hasn't proven to be nearly as robust as many had hoped. It's starting to look like there's a very real possibility it's spread so far merely because it's something people want to be true. Psychology research has had a pretty dismal track record in terms of reproducibility (http://www.vox.com/2015/8/27/9216383/irreproducibility-research http://www.vox.com/2015/8/27/9216383/irreproducibility-resea...) and the growth mindset dogma in particular has been facing more and more robust criticism. Carol Dweck's work is far from the final word on the matter that this blog post portrays it to be. http://slatestarcodex.com/2015/04/08/no-clarity-around-growth-mindset-yet/ http://slatestarcodex.com/2015/04/08/no-clarity-around-growt... http://www.amren.com/news/2014/04/yes-iq-really-matters/ http://www.amren.com/news/2014/04/yes-iq-really-matters/ http://www.amazon.co.uk/Intelligence-That-Matters-Stuart-Ritchie/dp/1444791877/ http://www.amazon.co.uk/Intelligence-That-Matters-Stuart-Rit... Ironically, focus on a growth mindset may actually distract people from doing things that actually do have reproducible research showing they lead to more mental horsepower (e.g. regular aerobic exercise).
- loupeabody 11y agoFwiw, Carol Dweck recently wrote about how the surge of interest in and promotion of a growth mindset approach to teaching and learning came with false positives [0] [0] http://www.edweek.org/ew/articles/2015/09/23/carol-dweck-revisits-the-growth-mindset.html http://www.edweek.org/ew/articles/2015/09/23/carol-dweck-rev...
- tbrownaw 11y agoYep, saw that go by earlier. It's not working as well as advertised, which obviously means everyone's doing it wrong. o_O
- KurtMueller 11y ago> Ironically, focus on a growth mindset may actually distract people from doing things that actually do have reproducible research showing they lead to more mental horsepower (e.g. regular aerobic exercise). Can you point me to you resources regarding research-backed activities/exercises? Thanks!
- deleted 11y ago[deleted]
- quietplatypus 11y agoThat's especially true about the 10x programmer---I don't see people talking about how they saw a 10x programmer doing <X>, and how that factored into the 10x, I just see admiration, envy, disdain, etc.
- quietplatypus 11y agoAlso, I find that being able to read code is super important. The faster you can read code and get it, the faster you understand new ways of doing things that actually are backed up under the hood by things that run. This kills the incompetence.
- voltagex_ 11y agoIf you’re on the lookout for places where your mindset might be fixed, you should be listening for sentences that start like this. Things like “I’ve never been good at CSS” or “I’m not a people person” or “Some programmers are just faster than others.” Anything that starts with “I am …” is a candidate. The word “just” is often present. Oh my. I've never really been able to quantify this kind of thinking. Fantastic article!
- icpmacdo 11y agoThis is up there with some of the best conference talks I have watched online https://www.youtube.com/watch?v=Mcc6JEhDSpo https://www.youtube.com/watch?v=Mcc6JEhDSpo
- deleted 11y ago[deleted]