biohisham has asked for the wisdom of the Perl Monks concerning the following question:
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Reflections on Skills of the Skillful
by eyepopslikeamosquito (Archbishop) on Jun 30, 2009 at 05:00 UTC | |
From Peter Norvig's Teach Yourself Programming in Ten Years: Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, telegraph operation, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music. In another genre, the Beatles seemed to burst onto the scene with a string of #1 hits and an appearance on the Ed Sullivan show in 1964. But they had been playing small clubs in Liverpool and Hamburg since 1957, and while they had mass appeal early on, their first great critical success, Sgt. Peppers, was released in 1967.There are many other useful tips in Peter Norvig's essay, such as: make it fun; learn by doing; talk to other programmers, read other programs; work on projects with other programmers; be involved in understanding a program written by someone else; learn at least half a dozen programming languages; and many more. If you have the passion and the ability, the results will come. Be patient. And good luck in your journey. | [reply] [Watch: Dir/Any] |
by $self (Friar) on Jun 30, 2009 at 10:42 UTC | |
Another nice read on this topic is this Scientific American article from awhile back: The expert mind (Ross, August 2006)- "Experts are made, not born." It's more enjoyable with the original typesetting and art work, but the text is freely available here. It makes the same point of working on problems at the right level:
| [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by moritz (Cardinal) on Jun 29, 2009 at 22:41 UTC | |
and I wonder, how does it not seem to take them established programmers that much of time and how amazingly do they go about it when they were learning Perl Do you remember back when you were in school, and learned how to add numbers, it was quite difficult? And yet there are people how solve differential equations on a daily basis. Or do you remember how hard it was to keep balance when you first learned how to ride a bike? And yet there are people how can keep balance on a unicycle, and juggle at the same time. How? Through practice, of course, and by taking small steps, and getting good advice and looking at good examples. | [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by GrandFather (Saint) on Jun 29, 2009 at 22:33 UTC | |
Innate skill and experience, but mostly experience. As with most things the more you do, and the greater the variety, the better you get (probably). It's largely to do with building up tool sets. As you become more experienced you have more past solutions (experience / tools) that you can bring to bear on the current problem and better understanding of the different trade offs each possible solution may entail. Since you have already discovered PerlMonks you are already in a good position to gain useful experience: delve into the Seekers of Perl Wisdom archives and try your hand at solving the various problems presented there. When you feel confident, contribute answers of your own to current questions. This is an excellent place to gain experience at almost any level! True laziness is hard work | [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by Your Mother (Archbishop) on Jun 29, 2009 at 23:21 UTC | |
What moritz said++. He implied it but I'll spell it out: learning which follows intentional, purposeful steps is learning that sinks in the fastest and is the easiest to build. Practice isn't enough. In fact practice, if done incorrectly, can be a huge, crippling hindrance. This is counter-intuitive to most, I think, but any good teacher knows it. We also learn better when learning is enjoyable. This is why I'm a Perl critter instead of anything else. No matter how hard it's been at times, it's almost always been fun. Stick with the monastery and participate as much as you can. Try answering questions; even if you don't always post your attempts. Read anything in here that is of interest. This place changed me from a clumsy, chainsaw-style hacker into one sincerely interested in doing things right and in ways that will outlive the first draft. | [reply] [Watch: Dir/Any] |
by dsheroh (Monsignor) on Jul 03, 2009 at 10:55 UTC | |
I blame that saying about "practice makes perfect". Practice doesn't make perfect. Practice makes routine, and practice makes consistent, but, if you practice doing something wrong, the practice will not make you perfect, it will make you routinely, consistently wrong. (Well, unless you distort the meaning of "perfect" enough to say that your wrongness will be perfect, I guess...) | [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by eyepopslikeamosquito (Archbishop) on Jun 30, 2009 at 07:50 UTC | |
I think I am looking to hear about SUCCESS STORIES.....Further to my earlier general response, I remember a few specific anecdotes that helped me improve as a programmer: | [reply] [Watch: Dir/Any] |
by gwadej (Chaplain) on Jun 30, 2009 at 13:33 UTC | |
Although I agree with all of the points above, I should also point out that it is possible to learn from reading low-quality code as well, provided you understand that the code is bad. Reading other people's code with an eye towards what works and what doesn't is a very important skill. Pay attention to the points that are hard to change or understand, these are things you don't want to do. Negative examples can still help.
G. Wade
| [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by ELISHEVA (Prior) on Jun 30, 2009 at 08:45 UTC | |
Thank-you for a thought provoking thread that is stimulating lots of good responses. In the late 1990's Justin Kruger and David Dunning did a series of studies demonstrating that the less skillful had a tendency to overrate their abilities and failure to recognize expertise in others. The paper where they presented these results, "Unskilled and unaware of it", makes an interesting read and won them the ig nobel prize in psychology. They blame the reluctance of people to give negative criticism; the ambiguity of failure (bad luck? lack of effort? lack of skill?); and a certain catch-22. The less competent are also less able to identify competency in others. They can't see their mistakes or why others are better and hence can't learn from those more expert. They are likely to see the opinions of those more knowledgeable as foolish or silly, rather than insightful. Thus even exposure to experts does not correct their misunderstandings. The challenge then is how to break out of that vicious circle. I think deliberately seeking out people who challenge you is one way. The deliberateness helps create an open minded attitude. This can be done many ways: reading the greats (several suggestions have already been given), participating actively in a community like Perl monks, working on an advanced degree, or seeking out the best people at your workplace. If you ever become that "best" in your group, watch out - and seek further. There is always someone who knows more than you or can challenge you with a different take on things. When people start seeing you as "best", they become afraid to challenge you. It is time to look elsewhere to find stimulation. Another trick I use is to read widely enough until the material the material I read starts raising the same points over and over. Focusing on the different criteria people use to decide what is right or wrong also helps me learn. Best of luck in your learning journey, beth | [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by sundialsvc4 (Abbot) on Jul 01, 2009 at 02:56 UTC | |
During one of the pre-semester teacher's meetings at a local community college where I taught for many years, one of my colleagues frankly said, “there are those who get it, and the rest who don’t and never will.” I nodded my head vigorously. Computer programming was something that I was interested in, literally, since I was five years old. (The PC would not be invented for another fifteen years...) Because of my interest, and my aptitude, I focused my attention upon it almost exclusively and loved every minute of it. I've broadened my interests quite a bit since those days, but I still basically love what I do and I am proud to do it well. The people who are truly good at any sort of skill are people who were naturally drawn to it ... strongly enough to make them willingly invest the time and effort necessary to master it. They might, later on, forget just how much time they have spent. But it wasn’t “magic.” They just did it because they truly wanted to; truly loved it. | [reply] [Watch: Dir/Any] |
by afoken (Chancellor) on Jul 01, 2009 at 14:08 UTC | |
“there are those who get it, and the rest who don’t and never will.” I fully agree. But I think the difference between those two groups is neither genetical nor does it involve some kind of god (if you like to believe in god(s)). From what I've seen, it seems to be a problem of the way how and why people learn, and how they where taught to learn. The first sub-group of the "don't getters" are those people who are simply frustrated because they learned that learning does not pay. I think their parents and teachers either had no time to teach them learning, or no motivation. And that's a shame. Another sub-group of the "don't getters" are people who think (or were made to think by social pressure) that being stupid is a good idea. This is even worse. Then, there are those unfortunate people whose teachers insisted that they learn thousands of useless facts by heart, just to forget them as soon as possible after the following test. In the worst case, this was repeated through their entire school career. Those people think that "learning" means stuffing a phonebook into your head so that you can recite every phone number in L.A. during a test. Some people actually become pretty good in mindlessly reciting nonsense. Ask them WHY something happens and they don't have a clue. They never learned, and they never understood. And it's the fault of the teachers and the school systems that allow or force this nonsense. I had teachers for history, english and french that insisted in learning "names and (year) numbers" / german-english / german-french word pairs. History was boooooring, English and French were just fatal. I really learned history years later and I'm still learning, and my english was only improved because someone told me to read english texts instead of the stupid word pair lists. That way, I "got it". The people who "get it" have successfully learned how to learn, and they have fun learning new things. In mathematics, they understood how algorithms work instead of learning huge tables. In history, they got a feeling for political and social trends instead of learning dates. In english (or any other foreign language), they understood the "inner workings" of the language instead of memorizing word-pair lists. And in computer science, they understand the ice cold logic of the machine where other people start babbling about magic. From my experience, only those "lucky" people can explain what they learned, and they can explain it in a way that others can learn the same. And as soon as they have learned how to express themselves in one of the synthetic languages we use to instruct our computers, they can also explain a computer what they have learned. Teaching is a really hard job, and especially the first years require much attention for each of the learners to keep them interested and motivated. But what I see around me is just wrong. Class sizes grow bigger and bigger each year, leaving less time for each individual. There is no money for education, except if rich parents spend it. Buildings crumble, and motivated teachers are rare. Teachers are old and try to get the job done with as less efford as possible. Those learners that really need motivation and support are stamped as dumb or useless. And motivated learners get a lot of social pressure. We are breeding an entire generation of "don't getters" with a few lucky ones that "get it", either due to rich parents or due to motivated teachers, or a combination of both. And the teaching problem also ends up in the job. "Training on the job" is often offered here. But it just means that: You get trained to push the left button when the red light flashes, and to push the right button when the green light flashes. Nothing that a properly trained chimp could not do, or ten lines of perl code. You don't know WHY you push the buttons, and you don't know WHAT happens. And everyone panics when suddenly a blue light flashes, or both red and green flash simultaniously, because nobody told you what to do in that case. If you had learned the job properly, you would know what the buttons do and what the lights mean. And you could react properly when something unexpected happens. There were some reports in the last months that all told the same story: The crew was trained to make a complex machine work inside a set of defined parameters, the machine ran out of the parameter set, and nobody knew how to get the machine back to normal - simply because no crew member had an idea how the machine works. That just scares me - because those machines were airplanes or nuclear power plants. Alexander
-- Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-) | [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by targetsmart (Curate) on Jun 30, 2009 at 09:49 UTC | |
You are in the right place now. Utilize it to the fullest possible extent. Happy perl learning; Cheers :)
Vivek -- 'I' am not the body, 'I' am the 'soul', which has no beginning or no end, no attachment or no aversion, nothing to attain or lose. | [reply] [Watch: Dir/Any] |
by biohisham (Priest) on Jun 30, 2009 at 11:48 UTC | |
| [reply] [Watch: Dir/Any] |
by Anonymous Monk on Jun 30, 2009 at 12:02 UTC | |
| [reply] [Watch: Dir/Any] |
Re: Reflections on Skills of the Skillful
by Anonymous Monk on Jun 30, 2009 at 00:42 UTC | |
| [reply] [Watch: Dir/Any] [d/l] |