The scariest thing about all these replies supporting this idea is that it shows how many people without the proper education background work in the industry. (An they all think they are good programmers)
I work for a large IT company, and the department I happen to work in specializes in developing software with niche languages/tools; so developers with experience in those tools are often self-taught, and get hired over educated developers who do not have experience with that specific tool. Of all my colleagues, only 1 has a software engineering degree, all the rest are self-taught. Let me tell you, they are all awful developers (bar and exceptional case), and they all think they are good. I am sure they will tell you we are a "successful" team, but the truth is we deliver software with awful quality. They only reason we have any "success" is because we have an army of testers in this company, and our big name allows to charge insane amounts of money. Things are much more expensive than they should because the code is unmaintainable and full of bugs.
As a developer with a software engineering degree, I was an exceptional hire in that company, within 1 year, I made it to development team leader, over people who have been that company for years, despite not knowing this "niche language/tool" at the moment of being hired. I have had a long and frustrating journey trying to get things straighten out, but there is so much you can do when the people working in your team do no know concepts like good abstraction, encapsulation, decoupling (... I could go on and on.)
Please, do slashdot readers (who are still in high school) a favor: Stop saying you can be great programmers without getting the proper education. By giving that ill advice, you are just perpetuating a problem in an industry in crisis.
I'm surprised at the amount of posts supporting these ideas? Are any of the supporting posters university/college trained programmers?
I'm not going to rant too much about the subject, it has been discussed by many others much better than I could. There is a reason why the Software development industry is in crisis (in terms of quality)
Bjarne Stroustrup has an excellent interview on the subject: http://itmanagement.earthweb.com/features/article.php/3789981/Bjarne+Stroustrup+on+Educating+Software+Developers.htm
Ideas like this of taking high school graduates and give them developers positions without the proper education is taking steps backwards. There is a reason why Google produces some of the best software in the world (starting by the algorithms behind their search engine), their employees have all the required education credentials to go with their experience.
I agree with most of your statements. However, the title "Applying UML and Patterns" is misleading. The book is a good introduction to OO programming, the use of UML simply helps communicate the author points in a graphical one. I actually in fact hesitated to buy this book because of its title alone, but don't let it mislead you, it is a good beginners book, despite its UML & RUP propaganda.
The C++ Programming Language is propably my favorite programming book I've ever read. However I would not recommend it to a new programmer, specially one who is trying to learn by himself.
Timothy,
Not meaning to disencourage you, but programming is not somethign you can learn to do properly in a short period of time.
With that said, I would highly recommend you get your hands in a copy of "Code Complete." This books compiles a lot of good programming practices.
If you are going to develop Object-Oriented applications, it will be also important you get some concepts down from the start. Larman's "Applying UML and Patterns" is a good introduction to object oriented programming.
I have not read "Pragmatic Programmer" (recommented by the previous poster) but I hear it is pretty good.
Depending on the language and the programming paradigm, the learning curve may vary. But good software engineering practices take long to master. Remember, learning the programming language does not mean you have learn how to program. The difference is as big as the difference of knowing english and knowing how to write scientific papers in english. So keep on reading, keep the intellectual curiosity always high, there is lots to learn and it is a lot of fun.
Good luck and have fun!
The scariest thing about all these replies supporting this idea is that it shows how many people without the proper education background work in the industry. (An they all think they are good programmers)
I work for a large IT company, and the department I happen to work in specializes in developing software with niche languages/tools; so developers with experience in those tools are often self-taught, and get hired over educated developers who do not have experience with that specific tool. Of all my colleagues, only 1 has a software engineering degree, all the rest are self-taught. Let me tell you, they are all awful developers (bar and exceptional case), and they all think they are good. I am sure they will tell you we are a "successful" team, but the truth is we deliver software with awful quality. They only reason we have any "success" is because we have an army of testers in this company, and our big name allows to charge insane amounts of money. Things are much more expensive than they should because the code is unmaintainable and full of bugs.
As a developer with a software engineering degree, I was an exceptional hire in that company, within 1 year, I made it to development team leader, over people who have been that company for years, despite not knowing this "niche language/tool" at the moment of being hired. I have had a long and frustrating journey trying to get things straighten out, but there is so much you can do when the people working in your team do no know concepts like good abstraction, encapsulation, decoupling (... I could go on and on.)
Please, do slashdot readers (who are still in high school) a favor: Stop saying you can be great programmers without getting the proper education. By giving that ill advice, you are just perpetuating a problem in an industry in crisis.
Thank you for labeling this idea as the non-sense that it is.
I'm sure those who say they are great programmers and have no formal education are not as great as they think.
I'm surprised at the amount of posts supporting these ideas? Are any of the supporting posters university/college trained programmers? I'm not going to rant too much about the subject, it has been discussed by many others much better than I could. There is a reason why the Software development industry is in crisis (in terms of quality) Bjarne Stroustrup has an excellent interview on the subject: http://itmanagement.earthweb.com/features/article.php/3789981/Bjarne+Stroustrup+on+Educating+Software+Developers.htm Ideas like this of taking high school graduates and give them developers positions without the proper education is taking steps backwards. There is a reason why Google produces some of the best software in the world (starting by the algorithms behind their search engine), their employees have all the required education credentials to go with their experience.
I agree with most of your statements. However, the title "Applying UML and Patterns" is misleading. The book is a good introduction to OO programming, the use of UML simply helps communicate the author points in a graphical one. I actually in fact hesitated to buy this book because of its title alone, but don't let it mislead you, it is a good beginners book, despite its UML & RUP propaganda.
The C++ Programming Language is propably my favorite programming book I've ever read. However I would not recommend it to a new programmer, specially one who is trying to learn by himself.
Timothy, Not meaning to disencourage you, but programming is not somethign you can learn to do properly in a short period of time. With that said, I would highly recommend you get your hands in a copy of "Code Complete." This books compiles a lot of good programming practices. If you are going to develop Object-Oriented applications, it will be also important you get some concepts down from the start. Larman's "Applying UML and Patterns" is a good introduction to object oriented programming. I have not read "Pragmatic Programmer" (recommented by the previous poster) but I hear it is pretty good. Depending on the language and the programming paradigm, the learning curve may vary. But good software engineering practices take long to master. Remember, learning the programming language does not mean you have learn how to program. The difference is as big as the difference of knowing english and knowing how to write scientific papers in english. So keep on reading, keep the intellectual curiosity always high, there is lots to learn and it is a lot of fun. Good luck and have fun!