Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Autodidact

by trs80 (Priest)
on Apr 17, 2002 at 13:18 UTC ( [id://159794]=perlmeditation: print w/replies, xml ) Need Help??

The three autodidact myths
  • Autodidacts are dangerous.
  • Autodidacts cause chaos where they roam.
  • Autodidacts should never be hired.
The rebuttal
  • Autodidacts are often considered dangerous because they are rare and non-autodidacts consider their mode of operation threatening. Truth is an autodidact will help you more often then harm you.
  • Autodidacts don't cause chaos they attempt to remove it, it is the fear of the autodidact that causes the chaos.
  • Autodidacts should be hired, but only if you know they are an autodidact and how to handle them. This requires you to not be afraid of them and realize the benefit in having one on your staff/team.
No, it isn't some over looked animal, it means "A self taught person"

What an autodidact can do for you:
  • Provide a unique perspective on a problem.
  • Digest dry, difficult material quickly and produce results from it.
  • Take the time to explore new areas and invent solutions
  • Soak up new technologies and ideas and pool them with existing resources to generate insightful connections between what may seem to be unrelated topics.(aka thinking outside of the box)

You can learn about some autodidact experiments at:
Hole-in-the-Wall

Replies are listed 'Best First'.
Re: Autodidact
by mirod (Canon) on Apr 17, 2002 at 13:59 UTC

    It is my belief that being a good programer is largelly... orthogonal ;--) to what your major was in college. Some CS majors will never be good coders and some autodidacts are really, really good. The fact that the vast majority of people do not major in CS ensures that the proportion of autodidacts amongst good coders will always remain quite high.

    More over, as CS is still a young science, a curious mind can easily make up for years training in college through reading and onvolvement in the programing community.

    So yes, I think taht for the elite coders a degree is not really useful, and autodidacts can do very well without it.

    That said... I still think that a CS degree helps "regular folks". It forces students to know about subjects even though they might not have invested in reading about them if they were not directly relevant to their everyday work. It teaches (or it should teach!) good habits (specify and design before coding, test your code, use a configuration control system...). All things that a real good autodidact would do, but that your average non-CS major turned programer might not.

    So yes, a good autodidact is just as good as a good CS graduate, but a bad-to-average autodidact will probably be much worse than a bad-to-average CS graduate.

    Not that you can't find real pathetic CS majors who could not code they way out of a bubble sort... and the problem is that this people might hang around trying to be programers while real bad autodidacts usually find something else to do, for which they might be better suited.

Re: Autodidact
by jepri (Parson) on Apr 17, 2002 at 15:04 UTC
    I have heard this before. Ironically, the people I heard it from are comp sci students (and graduates). Even more interestingly, I have met computer managers who won't hire CS graduates. Want to hear their reasoning?

    • CS students are dangerous
    • CS students have to be mentored and monitored
    • CS grads have no experience and are completely untested
    • CS grads know everything about computers, except how to actually do the job

    What a comp sci grad can do for you:

    • Provide the textbook's perspective on a problem
    • Digest dry, difficult material and regurgitate it without any attempt at comprehension
    • Read the latest pamphlets from MS and enthuse about them endlessly
    • Tell you how much money they're going to make when they graduate


    I seriously doubt that anyone here fits this profile, but if you did CS you've met the people I'm talking about. The phrase 'wet behind the ears' applies to a lot of people fresh out of any course, but in no other industry are fresh graduates let near anything important.

    ____________________
    Jeremy
    I didn't believe in evil until I dated it.

    2002-04-17 Edit by Corion - fixed an open <UL> tag

      A rather belated post, but I wasn't here first time around. Hopefully this will be forgiven. If not, c'est la vie.

      Digest dry, difficult material and regurgitate it without any attempt at comprehension

      That phrase gave me the biggest belly laugh of any I have seen here. Partly, because it is, of itself funny. Partly because it reminded me of a piece of advice my first boss (and mentor) in the IT industry came up with.

      <paraphrase>

      If you want to learn, listen.

      Absorb, be like a sponge, but don't take anything anyone says, regardless of who they are, as right. Prove it to yourself, for yourself. If you don't reach the same conclusions, question, but don't challenge. If your still not convinced, don't argue, just do more research.

      Eventually, you will arrive at a conclusion that works for you. You may then offer that opinion, but remember that the next listener may well arrive at a different conclusion to you, so be prepared to be wrong.

      Oh! And just because I told you to be sponge like, I don't want to hear you running around verbally dribbling stuff you've overheard!

      </paraphrase>


      Cor! Like yer ring! ... HALO dammit! ... 'Ave it yer way! Hal-lo, Mister la-de-da. ... Like yer ring!
Re: Autodidact
by Sidhekin (Priest) on Apr 17, 2002 at 14:19 UTC

    Funny how I never encountered those myths. In fact, the only thing I ever heard of autodidacts before was that "autodidacts have sloppy teachers".

    Which I should probably have to admit to :-)

    I will object to the idea that anyone hiring me should need to know that I am an autodidact (at least WRT computers) and how to "handle me". Truth is, we are all different -- even people straight out of school will have their ideas, methods, work habits -- and as long as we work, we accumulate more quirks.

    Or, if you prefer, "unique perspectives".

    As I said, I never encountered the myths listed above. It may be that this is a regional thing. It may be that I have been lucky.

    That last bulleted list goes a long way towards creating new myths. True, an autodidact can do those things for you. But so can a kid straight out of school. And so can someone who has been programming since the '70s. It may be that schools do not encourage these basically human qualities, but they don't actively discourage them either.

    Then again, there might be regional variation there as well. Which is sad. That link brings hope though. All may not be as lucky as my coworkers and I, but there are people working for a better future.

    Thank you.

    The Sidhekin
    print "Just another Perl ${\(trickster and hacker)},"

Re: Autodidact
by FoxtrotUniform (Prior) on Apr 17, 2002 at 15:58 UTC

    Much as I like this thread, I think that the distinction between autodidact and course-taught programmers (which trs80's node doesn't touch, but most of the responses take for granted) is bogus. For instance, I started programming (and learning about programming, which sadly isn't always the same thing) well before I took any formal courses on it, but I'm most of the way through a rather intense CS degree. Where does that put me?

    If we take an autodidact to be someone who's willing to learn on their own, then a hell of a lot of CS students are autodidacts. In my case, I've either gotten interested in a topic, taught myself about it, and taken courses on it (computer graphics, for instance), or I've taken a likely looking course, gotten interested, and kept reading and learning well after writing the final (AI). In both cases, taking courses and learning independently is far more effective than doing either by itself.

    • The autodidact who disdains formal learning is misguided at best. Universities are wonderful places to learn about programming: the facilities are excellent, the profs are knowledgeable and motivated, and the material will broaden your mind.
    • The course-taught programmer who disdains autodidactics is misguided at best. Learning by reading and doing gives you practical experience as well as theoretical knowledge, and lets you focus on what you find fun.
    • You won't have to tell a good programmer to learn: they're already doing it.

    --
    :wq

      I think you're right! ...and sometimes, some employers (who most are not autodidacts in their domain) dont understand why they should hire someone who has'nt a degree versus someone who has one. ...I'm having difficulties in finding one! Serafim Fagundes Montreal, Quebec, Canada
Re: Autodidact
by redsquirrel (Hermit) on Apr 17, 2002 at 15:14 UTC
    Now I can put autodidact on my resume! I never knew such a cool word existed to describe my perpetual state of trying to learn more about programming. :-)

    I am not sure how universal those three autodidact myths are, I certainly have never heard them. But I suppose that is because the two places I have worked since switching careers have obviously been welcoming to autodidacts like myself.

    Occasionally I ponder what my life would have been like if I had been a CS major in college. I probably would be making a lot more money right now, although that might have less to do with the degree and more to do with the 7 years of experience I would have had under my belt at this point. I realize, though, that I was not yet ready for programming back then. I think that I would have been bored with much of the less practical material that seems to be a college standard regardless of what you major in.

    Since I started teaching myself to program, the most important thing I have learned is how I learn best: by reading constantly, getting my hands dirty, and focuing on topics that interest me.

    The 5 years I spent as a child and family therapist taught me a ton about people (including myself) and this is something that will help me in any setting.

    --Dave

Re: Autodidact
by DaWolf (Curate) on Apr 17, 2002 at 14:53 UTC
    Excellent post, trs80. Note to self: vote ++ tomorrow :-)

    I'm kinda hybrid, 'cause I did some courses about programming, besides learning by myself. I'm proud to be "half-autodidact", althrough I always state this:
    • I think being an autodidact makes you have some questions that are basic for those who learned from courses - some of you may realized that it happens to me from time to time.
    • If you have the resources (time, money, etc) to take a course, TAKE IT. There are somethings that you'll always learn better from a course.
    I've been fired from my last job because my boss didn't believed I was capable of coding and never gave me the chance to show him.

    That was awful, and to stand up for what I've believed was a very hard but valuable experience. I'm not saying that I'm damn good at programming (I'm certainly not) but I'm capable of developing large systems as efficiently as any other programmer at my level.

    Just my thoughts about it.

    Best regards,

    Er Galvão Abbott
    a.k.a. Lobo, DaWolf
    Webdeveloper
Re: Autodidact
by Dog and Pony (Priest) on Apr 17, 2002 at 15:25 UTC
    Well, I kind of see myself as an autodidact. That depends a bit on how you see it of course, and if you can "stop" being one. :) I most definetely learned to program on my own ,starting way back on the old commodore C=64. Sitting alone out in the woods, teaching myself first BASIC then assembler by looking at other programs, demos and games. Back in that day it was still reasonable to pull apart a "compiled" program and find out what it did. :)

    Lots have happened since then, of course. For one thing, I have been working at real companies as a programmer and developer. I have had the honour to work with people that are a lot more talented and skilled than myself, and I have learned a lot from them - as I try to teach as much I can to those that know less than myself.

    This is where I wonder if I am still an autodidact by definition? I still have no schools or degrees in computing, programming or whatever, other than the fact that we did some turtle graphics and COMAL on the old COMPIS computers (the worlds only 186, I am told) in school when I was about 14 or something. I don't think anyone cares. :) But I have been learning stuff from others, not teachers, but collegaues, and some of them more or less mentors - am I still self-taught?

    In my own mind, yes. I taught myself to program on my own, and I got a job based on this knowledge, etc. As for what I can and can't - there are of course a lot theoretical stuff and stuff I do not have from a class. That might hurt my progress because I didn't think of a certain approach, on the other hand, I think I think more freely, as I don't have one "right path" that I follow. I might well be wrong. *Grin*

    My biggest assets today are really the ability to learn new stuff fast, and the ability to find information on the things I do not know how to do even faster. I guess that comes from the background where you never had anyone to ask if you were stuck - find the answer, noone is gonna help you. My collegaues with 14 on a dozen networking degrees and stuff (everyone should join the IT sector, jump aboard) are simply stunned at what I can find in what time with google. I think it isn't uncommon here, but for them this is magic... and yes, they do use google. They just don't grasp how to sift information, and they can't seem to use it once they get it.

    However, give them a school example of some algorithm to solve, and they will crack it in no time. I know who I'd rather be.

    This is nothing specific to autodidacts contra degree-people. It just happens to be so at my latest workplace :). In reality, a good programmer is a good programmer no matter how he or she was taught. Just different approaches, and I'd rather have a mix of both, then just either one.

    At least here in Sweden though, recruiters have an enourmous craving for pieces of paer. You will probably not get a job without a degree, without lots of luck. I got my first real programming job by a "bet". I bet them that I could learn to program java good enough to do a real work for them in 3 months as an intern. I was apparently good enough, as I won the bet, even though I kinda doubt I was really any good... haha. But they saw I could learn, and learn fast, and they accepted that. At least here (Sweden), it seems programmers, or people that know how the work is done, rarely has anything to do with hiring people. So of course there must be a huge respect for papers. :) Another thing is that it is a Microsoft country, which is bad for a java/perl programmer... but ah well. It should be good for the "certified"... just about anyone who has been unemployed at any time the last five years, that is, whatwith all these unemployment programs in the IT sector. :)


    You have moved into a dark place.
    It is pitch black. You are likely to be eaten by a grue.
      Cool. I got my first job on a bet. The boss went "You're interesting, but we need someone who knows SQL. Do you think you can learn?"

      "No problem!" I brazenly responded.

      He pushed a stack of paper at me and said "There's the manual. You need to know that by tomorrow."

      I got the job :D

      As you say, I wasn't that good, but I demonstrated I could learn fast enough to catch up... The next day I had to start learning javascript. Three days later I had to start debugging the bash programs. On the job training really meant something, and I loved it.

      ____________________
      Jeremy
      I didn't believe in evil until I dated it.

        Really cool! Especially that you got to do lots of different things - I also got to learn javascript, SQL and stuff like that.

        And indeed, on the job training really meant something, it worked and everyone was happy. :) Now I am on a not so happy place, but ah well. It pays the bills.

        It might also be worth mentioning that when I made them that bet, I was employed, and had a reasonable salary. I was head chef at a small town hotel, got along good with everybody, and just at this particular time my boss decided to buy another hotel. He offered me a "name your pay" job to take the whole manager business for the hotel I was on while he focused on the new job. While being trainee meant cutting my income in half while moving to an expensive town. What would you have done?

        In retrospect, I think I did the right move. I love programming. I now make at least as much money as I ever would have as hotel manager. I think. And the proposed new hotel never got bought - partly because I left, but it is possible it would never have happened. And there I would be, still stirring soup and lifting heavy and very warm stuff. Which is fine, just not as fun. :)


        You have moved into a dark place.
        It is pitch black. You are likely to be eaten by a grue.
Re: Autodidact
by Juerd (Abbot) on Apr 17, 2002 at 15:21 UTC

    I am an autodidact. It might seem unreal, but I think it gives me more freedom. Not the freedom I don't have to follow some predefined school books, but freedom in thinking. Most CS students learn some language that in theory is best, like Java. However, that restricts them to a certain way of thinking, and I'm glad I don't have to think that way. For example, I do not care how many conditionals a piece of code has, but many CS students learn that any routine with more than ten conditionals should be refactored. I care about readability, efficiency and whether it works or not, not about some set of rules.

    There is a reason that I hate Python's syntax. It enforces style, just like how organized progamming education does. There IS more than one way to do it, and I would like to know all of them.

    I have no idea how autodidacts can digest material quicker than others. I think it depends on the data you have to munge. If you taught yourself, you may not know about the more difficult (and hyped) standards like XML, but you may have more experience using GDBM instead.

    I'm having a problem soaking up new technologies. There is no school that tells me what technologies are out there, and I seem to pick the unhyped ones, which is not really a good idea when profit is your goal :)

    - Yes, I reinvent wheels.
    - Spam: Visit eurotraQ.
    

Re: Autodidact
by shotgunefx (Parson) on Apr 17, 2002 at 16:26 UTC
    I'm totally self taught, no formal education at all. Picked up programming after I dropped out of high school (because of math!).

    I think there is something to be said for the self taught crowd. While it is an excruciatingly slow process, you learn so much more that way. Sort of like being given a car in pieces and having to figure out how to put it all together. Slow going at first but you gain much real-world knowledge and experience.

    My first software job was at a game company in 93. I went in with this 2 paragraph resume. It was laughable, No previous computer related experience on it at all, but I beat out some people who had their Masters. Why? Because I brought a 3D texture mapped game I was working on (Ran on a 386sx 16mhz at 10-15fps, Hey anyone remember Xsharp library? )

    I would think it is more difficult now for those without the formal education. Back then, everything that was on the edge wasn't old enough to be in schools anyway so it was more of a "show me" type of attitude. Games today have large teams and most of the prominent business technologies in play have been around long enough to make it into the curriculum so I would suppose it would be much harder to "walk in"

    I personally judge by what I see. A piece of paper is just a piece of paper to me. I've met plenty of incompetent and incapable people with and without a degree.

    -Lee

    "Ching! My two cents."
Re: Autodidact
by ignatz (Vicar) on Apr 17, 2002 at 16:05 UTC
    As someone who is self taught, I treat every job that I have as school. My goals are entirely selfish (as are the goals of my employers). For each place I set up goals and make sure that my work uses those goals. At first it was coding across networks, UNIX hacking and databases. Later it was Java. These days it's hard core 00 programming, automated testing, patterns and XML. It's surprising how you can mold your work to fit your goals and how beneficial it is to all concerned.

    Luckily, I have been able to work with some of the best hackers in the business. Their example is in their craft and they have been the best teachers anyone can hope for.

    ()-()
     \"/
      `                                                   ` 
    
Re: Autodidact
by dws (Chancellor) on Apr 17, 2002 at 16:01 UTC
    If you haven't learned to autodidact by the time you get a "real" job, you're at the mercy of whoever signs the check to send you to workshops or courses. That's not a good position to be in.

    Another reason to autodidact is to increase your opportunities. If you wait until someone pays you to learn something, you miss out on having the skills when the hiring/team assignments happen.


    My current autodidact list includes using a particle simulation system with dampened springs to draw social network diagrams. Aside from learning something about social network analysis, it's an excuse to refresh on vectors and (simple) differential equations, and I hope it'll make for a snazzy demo for my next round of interviews.

Re: Autodidact
by Boots111 (Hermit) on Apr 18, 2002 at 00:07 UTC
    Monks~

    Let me start by saying that this entire dichotomy feels artificial. Whether or not someone has gone to college/grad school tells you nothing about how capable she is of teaching herself. There are good and bad sides to learning from a teacher, but the truth is that each programmer is responsible for her own habits.

    Now, the question is how does an employer look at it. A degree proves that you are capable of completing assignments on deadlines. There are in fact many economists who feel that schooling does not increase a person's worth in the job market. Rather schooling proves that she is a less risky investment for her employer, thus encouraging the employer to offer her more.

    Of course once you have worked in the "real world" for a little while, jobs stop weighing your education so heavily and value instead previous employment. This only makes sense, since the information is more recent. Once this stage is reached, the formally educated person has the same chances as the self taught. The only time such a difference matters is during the first few experiences a person has in the job market.

    If you were a manager and were presented with two people, one who had a degree in CS with a focus on designing real-time computer vision systems and another who claimed to be a very quick learner and self taught. Who would you choose? I suppose in a more perfect world, you would ask for code samples from both of them and provide a problem you wish them to solve. That said, the odds that only two people are applying for a job are slim. More likely there are many applicants and you need a way to triage them quickly.

    While a degree may not contain a lot of intrinsic meaning, it does provide more of a guarantee than just a person's word.

    Matt
    ---
    Computer science is merely the post-Turing decline of formal systems theory.
    --???
Re: Autodidact
by chaoticset (Chaplain) on Apr 17, 2002 at 21:10 UTC
    There are still people trotting around with the notion that "learning" is something you do at school, then you're done. You learned enough to become an adult and now you're done.

    It's the kind of thing that makes those people question why you brought a book with you everywhere you went (so you could soak up every bit of free time with a little reading). It irritates the living shit out of me.

    Before there were schools, there were people learning.

    People who can only learn in schools are like people who can only drive stick shift: Limited. Whereas a person who knows how to learn to drive something will be able to drive anything, from a tank to a go-cart, with a little time to get used to the controls. The trick is learning how to learn, not focusing single-mindedly on whatever is spoon-fed to you.

    Admittedly, the stick-only driver may become better at driving a stick shift than most people; but the first time they're dropped into a standard and have to figure out what a clutch is, they're dead. They lack flexibility because they're not used to learning new things to begin with.

    I have to note with some small bemusement, though, that this is being posted in a place where, I'm willing to bet, not a single person has a "pure" school-based education. Hell, the Monastery itself could easily be considered an enormous, constantly updated manual, written by hundreds.

    -----------------------
    You are what you think.

      Umm a manual transmission has a stick and clutch, as opposed to an automatic. So I'd say somebody who who learns an automatic, or a video game (Gran Turismo), can drive the automatic and maybe a go-cart. A clutch driver could certainly drive an automatic (I find the mind-numbingly boring myself), a golf-cart, and probably a forklift and maybe a semi (a lorry).

      --
      perl -pew "s/\b;([mnst])/'$1/g"

Re: Autodidact
by dsb (Chaplain) on Apr 17, 2002 at 21:26 UTC
    I am 100% 'Autodidact' (btw, thanks for the definition ;), so this post is actually very interesting to me, especially for where I am at personally right now. I am wrestling with the notion of going to college (essentially for the first time) in pursuit of a CompSci degree. From my perspective(that being the perspective an autodidact - sorry just like that word), I sometimes feel like I am a step behind because of my lack of formal education. Yet sometimes I feel like I grasp concepts behind programming and computing evironments in general better than people that have been studying it for years.

    I will say however, that the one thing I think school would provide me that I otherwise have a hard time with is structure. I am eager to learn everything I possible can as quickly as I possibly can and what happens is that I often go in 8 directions at once and don't learn half as much as I could if I focused on one or two things. But, this is also nothing I couldn't learn from a "mentor".

    The current resolution to this problem is this: I plan on taking classes in Computers and Mathematics part time(1 or 2 a semester) and continue in the work force as a very comptetent programmer. In the meantime I've invested in some books on C and Unix(time to start REALLY hacking Perl ;) and I'll continue to study computers myself.

    I will say this, and to me this outweighs any focusing problems i may (have|have had). By being involved in the programming community('specially Perlmonks.org), I have learned to seek answers for myself rather than have them fed to me. This method is often more difficult, but immensely more gratifying and instructive. I find it more valuable to have people to guide me than instruct me, and I think this philosophy/experience will help me in my career/school.

    Great post, trs80. Very timely for me ;).




    Amel
Re: Autodidact
by shadox (Priest) on Apr 17, 2002 at 18:07 UTC
    As an autodidact, i don't think we are dangerous, cause chaos or should never be hired, these myths are new for me.I respect them but i don't agree with them.
    I don't like college, why not ? Well in college you will learn only what your teacher teach you, unless you go and read more about that topic, a lot of people who don't read and don't want to learn more than they learn in class and finish college go to work, they are hired over an autodidact who maybe spend hours reading researching, learning, and really knows what (he|she) is doing. I've seen this a lot of times here, and for me the best way to learn is the autodidact's way, but until some people break this Paradigm there myths will live. ___________________________________________
    Optimus magister, bonus liber
Re: Autodidact
by Sinister (Friar) on Apr 18, 2002 at 08:56 UTC
    Hi all,

    I find it quitte amusing to see all these people here exclaim how autodidact they are...

    I myself was a complete autodidact at one time, but then I wanted to learn more on a faster pace, and I was no longer autodidact, cause I took over (be it unwillingly) the style of the author of that book. The same goes for all of us here. We learn a lot from other monks, and especially for highranked monks it would be very hard to reject all lessons which could be learned here, and find out all for yourself, right after you read on a subject.

    So except for the newbie's among us no one is autodidact (any longer)

    In reply to trs80: I agree completely with your post, but wihin the context as given above.

    I do think that some of the none autodidacts do have a little advantage, cause they had the propper teacher and are therefor very well ready for certain programming issues where autodidacts mostly mess around a bit, creating working but huge code...

    er formait hyarya.
    "Field experience is something you don't get until just after you need it."
Re: Autodidact
by Anonymous Monk on Apr 18, 2002 at 12:05 UTC
    While I agree with many of the comments presented above, there are many places where I would prefer a 'trained' Comp Sci or Comp Eng programmer to be responsible for the code.

    Embedded control systems come to mind immediately.

    E.G. software that:
    • controls laser position and intensity for eye surgery
    • translates pilot input into control surface motion on 747s
    • monitors and manipulates nuclear reactor core temperatures

    Implementing algorithms such as these without the education to understand the underlying fundamentals and mathematics could be quite hazardous.
Re: Autodidact
by bassplayer (Monsignor) on Apr 18, 2002 at 13:38 UTC
    Cool post. I am also an autodidact and have always felt that I offered a special perspective to my clients and employers. I have also quite often felt unsure about my lack of formal training, and it helps to have someone put these words on to virtual paper. A great discussion has ensued. Thanks for the new word in my vocabulary.

    bassplayer

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://159794]
Approved by neophyte
Front-paged by gmax
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2024-03-19 05:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found