|
|
- Many people on the internet furiously debate whether it is better to learn how
- to program in college vs teaching yourself. This is not necessarily a one-sided
- debate, there are merits of both teaching yourself how to program and taking
- computer science in college.
-
- University
- ==========
-
- The main advantage of taking Computer Science in college is that you are also
- taking a lot of math and science courses. When talking to a professor from
- Clarkson University he said that they were not teaching students simply how to
- get jobs, but how to pioneer and shape the field. It is possible to buy a book
- and teach yourself how to program Python or attend a coding boot camp. However,
- the tech field is changing at a rapid pace, and what you learn now may be
- irrelevant in five years. The combination of programming courses and other math
- and science related courses allows students to create the tech of the future.
- Think about all the advancements in artificial intelligence we have made in the
- past year, all that requires higher level statistics and calculus.
-
- When you are attending a University your professors and friends can help you
- understand the content fully. College also gives you a time to experiment which
- corner of the computer science field you want to specialize in.
-
- Self-Taught
- ===========
-
- Most of what I know in the computer science field, I taught myself. I feel that
- it is a virtue to have. Picking up new programming languages or platform over
- the course of a weekend is good skill to have – especially when going into a new
- job. The best programmers are those who are constantly seeking new knowledge and
- learning.
-
- When I was at a career fair I asked multiple companies what they were looking
- for in a suitable candidate. Most employers liked candidates who worked on
- projects outside of school and showed drive to learn new things. However, one
- employer simply said that they looked only at juniors/seniors who have taken the
- Computer Science courses at RIT. I decided to ask her if their company liked
- students who taught themselves additional programming languages. She shrugged
- the idea and said that they typically don’t favor that because people who taught
- themselves programming might have picked up bad practices. This brings up a
- valid point. Computer science courses are laid out to incentivize and favor good
- programming practices. Computer engineering courses are specifically designed to
- teach you good programming practices and working with larger codebases. With
- that said, it is not impossible to teach yourself good practices, however, it
- takes additional work which is not what everybody does. Writing a modular
- program which perfectly readable is different than writing spaghetti code which
- simply works.
-
- The largest advantage to being self-taught is that it is cheaper and faster.
- Over the course of a weekend I was able to teach myself NodeJS and start making
- the framework for this blog. If I would have done that in college it would have
- taken an entire semester or more. Plus, I don’t think there are any college
- courses being offered on NodeJS. The information that you are teaching yourself
- is often newer technology than what is being in college. College courses
- typically take some time to catch up with what industry is currently using.
-
- Conclusion
- ==========
-
- If you are a dedicated individual, you will find success in both methods of
- learning programming. I would argue that you should always be learning and
- teaching yourself something new every day; however, a combination of college
- education and self-teaching is the best.
|