Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Learning on your own or formal training?

Learning on your own or formal training?

Scheduled Pinned Locked Moved The Lounge
questionlearning
59 Posts 33 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C CafedeJamaica

    I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

    T Offline
    T Offline
    The Gracefull Penguin
    wrote on last edited by
    #32

    I did it the wrong way round: first learning by doing (Self taught followed by 3 years work experience) then going to university. This has shown me that, in my case at least, I would have missed little to nothing by not having formal training. But as you say people just feel safer hiring you if you have some qualification.

    1 Reply Last reply
    0
    • F Florin Jurcovici 0

      devvvy wrote:

      only in specialized fields you'd need the math/algo

      That's BS. You probably don't feel like you could use it because it wasn't taught to you the proper way. The difference between knowing your formal stuff or not knowing it is a difference in app speed, code size, development speed and maintenance cost of maybe one order of magnitude, over the lifetime of an application. If you're not developing one-off, 200 lines of code apps. As for your self-taught thinking skills, I think there's a flaw there: you obviously didn't teach yourself that other people might actually know what they're talking about, and also that there's always some more to learn.

      F Offline
      F Offline
      Fabio Franco
      wrote on last edited by
      #33

      Agreed! Although I learned on my own most of what I actually used in my daily job, college education opened my mind to a lot of things that might exist out there. It also made my mind sharp with the intensive math education. College education also added a great value on fields I don't really use every time but may come in handy at any moment. In the end it turned my world broader and as you also said yourself, there is also some more to learn.

      To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

      1 Reply Last reply
      0
      • C CafedeJamaica

        I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

        S Offline
        S Offline
        snowman53
        wrote on last edited by
        #34

        Getting a formal education is more than learning specific skills - it is also learning the structure and "short hand language" of your field and getting a broad exposure to aspects that may not be applicable to your current interest, but may be useful later. A formal education will also hopefully instill the ability to speak and write in a cogent fashion (with a minimum of "geek") when communicating with non technical people. Would you entrust a project to someone who's proposal is filled with miss-spellings and grammatical errors? I have met a number of smart, self taught people that had no chance of advancement because they lacked the skills needed to communicate with the next level of management or customers. A final argument for checking the formal education box is that most large organisations plus any (large or small) that do government contracting use it as an initial screen. No degree, no job.

        1 Reply Last reply
        0
        • C CafedeJamaica

          I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

          C Offline
          C Offline
          costas0811
          wrote on last edited by
          #35

          (This rant is not directed you more just the general class of people with this opinion. If you are offended then maybe it is directed at you.) You didn't learn anything else in college? You didn't read one great book or have an thought-provoking philosophical discussion? You didn't make great friends who you keep in touch with today? You didn't encounter one professor who pushed you to think beyond what you thought you could do? You didn't nearly cause yourself serious harm with a physics experiment gone awry? You never kissed a girl in a remote section of the library? And in that same library you didn't pick up a random book and learn about architecture even though it is not directly germane to coding? You didn't attend lectures on neural-networks and AI far beyond your own skills just for the experience of it? You never had one sensation of pride when your school's teams won? You didn't have one experience in 4 years that made you consider that going to college is more than just being "trained" to do some task? To me this question is usually asked by those who are in too much debt. It could also be you think of yourself as an autodidact and don't need help from other people. Maybe this is even the case. Perhaps you are the best coder in the world but you sound like a boring jackass.

          1 Reply Last reply
          0
          • C CafedeJamaica

            I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

            J Offline
            J Offline
            john morrison leon
            wrote on last edited by
            #36

            Programming is just about the only profession in which you can teach yourself, prove your ability and be allowed to practiice. I think there are two reasons for this: Only ability gets the job done. Unlike the people around you, computer logic will not bend to meet your will out of fear or pity. Most software is not life critical and is well disclaimed so there is less risk of expensive lawsuits based on someone taking a key role without formal 'proof' of their competance.

            1 Reply Last reply
            0
            • C CafedeJamaica

              I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

              J Offline
              J Offline
              jschell
              wrote on last edited by
              #37

              Mathlab wrote:

              Why go to school, teach the next generation to code?

              I found a few classes to be useful but most were a waste of time and money. However I have found many books to be useful.

              1 Reply Last reply
              0
              • F Florin Jurcovici 0

                IMO it all depends on the teacher. Putting all teachers in the same pot based on the few examples you got to know is IMO not pragmatic. Sort of catch-all exception handling ...

                J Offline
                J Offline
                jschell
                wrote on last edited by
                #38

                Florin Jurcovici wrote:

                Putting all teachers in the same pot based on the few examples you got to know is IMO not pragmatic. Sort of catch-all exception handling ...

                However, by definition, most teachers are average. And it also ignores the fact that for every student exposed to an excellent teacher another is exposed to a sub-standard one.

                K D T 3 Replies Last reply
                0
                • F Florin Jurcovici 0

                  Idunno ... there's a saying: "boring code is good code" (not sure if it didn't originate with Joel Spolsky). Thing is, nobody has problems understanding boring code, and since you mostly read code (or javadoc - I prefer code), "creative" code, even if understandable, may be difficult to comprehend, increasing its TCO. Now, with architecture, it's an entirely different story. To be creative when architecting a new app means (for me) finding a basic structure for the application which should allow developing all parts in a highly decoupled way, communicating via a few, well defined and narrow interfaces, so that each part does just one thing and is therefore easily comprehensible - find a project setup which works well for every feature of the application but also makes reading and understanding code easy. While it doesn't sound too creative, it must be something difficult, since I've seen so many applications which lack this basic, central, spinal bone like abstraction, and are just a heap of heterogeneous parts which communicate via ad-hoc interfaces. That's not creative and not useful, that's just bureaucracy applied to software design. And, to get back to the original subject, that's where IMO it makes most sense investing in self-training - IME very few people in academia are really concerned with this issue, so while your formal training might give you strong basic knowledge about algorithms and data structures, IME most CS graduates don't even know who Christopher Alexander was, and using design patterns in a sensible way is something they haven't grasped yet, even if it was thaught to them. OTOH, training yourself in algorithms and data structures, while possible, isn't something I've seen many people do.

                  J Offline
                  J Offline
                  jschell
                  wrote on last edited by
                  #39

                  Florin Jurcovici wrote:

                  . OTOH, training yourself in algorithms and data structures, while possible, isn't something I've seen many people do.

                  Seems like a reasonable view. However how exactly does many hours of literature, sociology, psychology, etc required by universities (US) to graduate help one to understand how a list works? And if universities are actually interested in teaching then why are professors at universities not required to have taken any classes in teaching?

                  D 1 Reply Last reply
                  0
                  • C CafedeJamaica

                    I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

                    S Offline
                    S Offline
                    satovey
                    wrote on last edited by
                    #40

                    Having taken several programming classes over the past few years, I can safely say that most of my knowledge of programming came from learning on my own. I'm not saying that there is nothing within the formal educational system that is not good, but I cannot see any value in focusing on programming theory in a course that is supposed to be teaching students how to code. I knew how to code before taking the classes and did not learn any of the theories like saying OOPs whenever the program erred out. The JavaScript programming class I took was so focused on the theory of programming, that some of the students were still unable to code by themselves despite passing the class. If you think those colleges are teaching a lot in the field, go ahead and sign up and actually take one of those classes. You might find that the tax dollars going to your local community college or University is quite a bad investment. I don't remember 99% of the theory that I studied in the various programming classes I took. Theory should be brought up as it is being applied in practice, not taught as a key word separately from coding that needs to be remembered. Then again, maybe my inability to remember all that theory is just me getting old. Speaking of theory, does anyone know any good spelling theory? Good thing Firefox tells me when I have a word misspelled.

                    Truth without love is brutality, and love without truth is hypocrisy. -Warren Wiersbe Tough love is not love, it's an act of war. Scott A. Tovey

                    1 Reply Last reply
                    0
                    • C CafedeJamaica

                      I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

                      G Offline
                      G Offline
                      giuchici
                      wrote on last edited by
                      #41

                      It doesn't matter because for most of us is a natural evolution. You start with an organized form of education until a point is reached where you learned how you can organize yourself and by that time you're anyway not satisfied anymore with being pointed in a general direction and you want to study alone on subjects you pick by yourself. That's the system but what matters the most is all in your genes. You're born with certain inclinations: let's say technical ones. Then you'll be either advantageously ar adversely affected in building upon your inclinations by your parents, teachers: in day care, preschool, school, high school, university, randomly by other people's advice, posts, blog entries. They can support or put you down, they can enlighten or leave you in the dark, they can expose you to good patterns of thinking, analyzing ... or they can teach you zilch. What's left, 10-15 years later, it's you. If you're still hungry for learning you'll do it by yourself cause you're fed up with other people putting ideas in your head (though you'll still be yearning for a personal guru you can reach any time, and find that answer right away - otherwise it can mean hours and hours of research on the net). So it's not easy to learn by yourself because there's no curriculum like in schools to organize youre educational path. Plus you may have a job and you have to organize that around the job time (let's not even mention having kids). So, depending on what money you got you'll attend some classes/courses because once you commit and pay you kind of have to follow through(maybe the company pays which is even better). I found and I am more and more inclined to start learning a new techonology by watching videos on the subject, like http://channel9.msdn.com/ [^] has for .Net developers. They are a good introduction and you then can build upon much easier 'cause you have a foundation. I could say more but I think you got a gist of where I am coming from. Cheers.

                      giuchici (two pigeons): - We shat on your car. Problem?

                      1 Reply Last reply
                      0
                      • C CafedeJamaica

                        I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

                        S Offline
                        S Offline
                        SeattleC
                        wrote on last edited by
                        #42

                        Sorry to post a dissenting opinion, but formal training is foundational. Unless you want to limit your career to an endless, dreary parade of add/change/delete screens, you need to know the time complexity of a collection of common problems, beginning with searching and sorting, or else you'll go around burdening one code base after another with non-optimal code that doesn't scale. You *can* learn this stuff on your own, but it's pretty dry. I betcha most people who learned on their own never went through a data structures book from end to end and worked out the problems. You only do that if somebody makes you. But like the preverbial awful-tasting medicine, it's good for you. When I was an undergraduate, a Bachelor's Degree consisted of 180 credit hours of instruction, and probably 3x that much practice. And half of that wasn't even computer science. My first year of work was about 2000 hours, and probably 75% of that was practice. The scale tips rather heavily toward experience even if you do get a degree. Nevertheless, those few hours of instruction exposed me to more different areas of computer science than ten years of development. In the 21st century, with worked-out libraries of searches and data structures, some people question the need for all that boring, dry stuff. And as I said before, if all you want to do your whole life is login pages, you can maybe get by. But for many devs, comes the day when you're writing a program that's going to run flat-out on 1000 servers, and even a 2x speedup means not buying an additional 1000 servers. On this day, when you have to custom-code that data structure to squeeze the last cycle of performance, whatcha gonna do? These are the moments that separate the heros from the wannabes; the guys who get the big stock bonuses and the cool assignments from the interchangeable wetware parts. Yeah, you *can* learn that stuff on your own... ...but did you?

                        D C 2 Replies Last reply
                        0
                        • C CafedeJamaica

                          I find that 90% of the useful knowledge I have came from hours of coding on my own and the community. The other 10% aka my degree just gets me through the door in some cases and allows me to punctuate my documentation. Why go to school, teach the next generation to code? :thumbsup: or :thumbsdown:

                          A Offline
                          A Offline
                          Andrew Giltrap
                          wrote on last edited by
                          #43

                          I reckon I've learnt most of my development skills (coding and other stuff) from others code - good and bad - and from colleagues.

                          D 1 Reply Last reply
                          0
                          • W wizardzz

                            Which 90% taught you your math skills?

                            K Offline
                            K Offline
                            KP Lee
                            wrote on last edited by
                            #44

                            wizardzz wrote:

                            Which 90% taught you your math skills?

                            I took his "other" word as either an intentional intent on humor or a misstatement. I have a tendency that when trying for the former I achieve the latter, so I could relate either way. I'd personally go with 5% of my coding skills came directly from schools, 5% personal inspiration, and 90% consuming and integrating things I learned. Continuously reading training material, combined with things I had been taught in school and didn't really understand when I was taught. When you are taught, you don't understand. It takes time for understanding to come to you. When you chase it, it seems to run away. In order to learn from others, they have to teach. Therefore, teaching is critical to reach understanding. Don't need a physical building and class to get that training.

                            1 Reply Last reply
                            0
                            • J jschell

                              Florin Jurcovici wrote:

                              Putting all teachers in the same pot based on the few examples you got to know is IMO not pragmatic. Sort of catch-all exception handling ...

                              However, by definition, most teachers are average. And it also ignores the fact that for every student exposed to an excellent teacher another is exposed to a sub-standard one.

                              K Offline
                              K Offline
                              KP Lee
                              wrote on last edited by
                              #45

                              jschell wrote:

                              And it also ignores the fact that for every student exposed to an excellent teacher another...

                              Very good points

                              1 Reply Last reply
                              0
                              • F Florin Jurcovici 0

                                devvvy wrote:

                                only in specialized fields you'd need the math/algo

                                That's BS. You probably don't feel like you could use it because it wasn't taught to you the proper way. The difference between knowing your formal stuff or not knowing it is a difference in app speed, code size, development speed and maintenance cost of maybe one order of magnitude, over the lifetime of an application. If you're not developing one-off, 200 lines of code apps. As for your self-taught thinking skills, I think there's a flaw there: you obviously didn't teach yourself that other people might actually know what they're talking about, and also that there's always some more to learn.

                                D Offline
                                D Offline
                                devvvy
                                wrote on last edited by
                                #46

                                did you need school to teach you how to think and communicate too!

                                dev

                                1 Reply Last reply
                                0
                                • F Florin Jurcovici 0

                                  devvvy wrote:

                                  only in specialized fields you'd need the math/algo

                                  That's BS. You probably don't feel like you could use it because it wasn't taught to you the proper way. The difference between knowing your formal stuff or not knowing it is a difference in app speed, code size, development speed and maintenance cost of maybe one order of magnitude, over the lifetime of an application. If you're not developing one-off, 200 lines of code apps. As for your self-taught thinking skills, I think there's a flaw there: you obviously didn't teach yourself that other people might actually know what they're talking about, and also that there's always some more to learn.

                                  D Offline
                                  D Offline
                                  devvvy
                                  wrote on last edited by
                                  #47

                                  no i think you're bullshit

                                  dev

                                  1 Reply Last reply
                                  0
                                  • J jschell

                                    Florin Jurcovici wrote:

                                    Putting all teachers in the same pot based on the few examples you got to know is IMO not pragmatic. Sort of catch-all exception handling ...

                                    However, by definition, most teachers are average. And it also ignores the fact that for every student exposed to an excellent teacher another is exposed to a sub-standard one.

                                    D Offline
                                    D Offline
                                    devvvy
                                    wrote on last edited by
                                    #48

                                    jschell wrote:

                                    However, by definition, most teachers are average.

                                    no - by average, teachers are people with no real experience to offer

                                    dev

                                    J 1 Reply Last reply
                                    0
                                    • J jschell

                                      Florin Jurcovici wrote:

                                      . OTOH, training yourself in algorithms and data structures, while possible, isn't something I've seen many people do.

                                      Seems like a reasonable view. However how exactly does many hours of literature, sociology, psychology, etc required by universities (US) to graduate help one to understand how a list works? And if universities are actually interested in teaching then why are professors at universities not required to have taken any classes in teaching?

                                      D Offline
                                      D Offline
                                      devvvy
                                      wrote on last edited by
                                      #49

                                      jschell wrote:

                                      And if universities are actually interested in teaching then why are professors at universities not required to have taken any classes in teaching?

                                      you kidding, teachers to teach teachers as if they are not *academic* enough teachers should first be taught by real businesses and industry

                                      dev

                                      1 Reply Last reply
                                      0
                                      • S SeattleC

                                        Sorry to post a dissenting opinion, but formal training is foundational. Unless you want to limit your career to an endless, dreary parade of add/change/delete screens, you need to know the time complexity of a collection of common problems, beginning with searching and sorting, or else you'll go around burdening one code base after another with non-optimal code that doesn't scale. You *can* learn this stuff on your own, but it's pretty dry. I betcha most people who learned on their own never went through a data structures book from end to end and worked out the problems. You only do that if somebody makes you. But like the preverbial awful-tasting medicine, it's good for you. When I was an undergraduate, a Bachelor's Degree consisted of 180 credit hours of instruction, and probably 3x that much practice. And half of that wasn't even computer science. My first year of work was about 2000 hours, and probably 75% of that was practice. The scale tips rather heavily toward experience even if you do get a degree. Nevertheless, those few hours of instruction exposed me to more different areas of computer science than ten years of development. In the 21st century, with worked-out libraries of searches and data structures, some people question the need for all that boring, dry stuff. And as I said before, if all you want to do your whole life is login pages, you can maybe get by. But for many devs, comes the day when you're writing a program that's going to run flat-out on 1000 servers, and even a 2x speedup means not buying an additional 1000 servers. On this day, when you have to custom-code that data structure to squeeze the last cycle of performance, whatcha gonna do? These are the moments that separate the heros from the wannabes; the guys who get the big stock bonuses and the cool assignments from the interchangeable wetware parts. Yeah, you *can* learn that stuff on your own... ...but did you?

                                        D Offline
                                        D Offline
                                        devvvy
                                        wrote on last edited by
                                        #50

                                        SeattleC++ wrote:

                                        But for many devs, comes the day when you're writing a program that's going to run flat-out on 1000 servers, and even a 2x speedup means not buying an additional 1000 servers.

                                        you don't need to know what's np complete or np hard to figure out if you have a performance issue - you just need good common sense. That's exactly where *academics* failed and failed miserably. education is just 90% shit for 90% people - if real estate is a bubble, education is a much larger bubble (Think of the poor guy PhD grad 25 years old graduate find a job to code up website or warehouse apps?)

                                        dev

                                        S 1 Reply Last reply
                                        0
                                        • A Andrew Giltrap

                                          I reckon I've learnt most of my development skills (coding and other stuff) from others code - good and bad - and from colleagues.

                                          D Offline
                                          D Offline
                                          devvvy
                                          wrote on last edited by
                                          #51

                                          i am master degree educated, work in quant finance but i agree with you - i still regret countless hours i wasted in education just to get the right paper so i can be hired by reputable firms to earn a *middle class* income Also, schools didn't teach me how to think or communicate - they lied.

                                          dev

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups