Is it better to get a computer science degree or some practical experience if I want to start programming?
-
I have HTML and CSS skills and a few years experience in the web industry, but I'm considering learning more about programming in order build a portfolio of products (and possibly do consulting later). I understand that I will need much more experienced and possibly better programmers later on, but feel I need to do some programming in order to start the process. Would you suggest a 1 year postgraduate degree (e.g. a second degree) in computer science for a solid grounding or to pick a language and just start to self teach? Time nor money are huge barriers - it's just the starting off process I'm not sure about. Thanks.
-
Answer:
My college experience taught me some of the most valuable lessons I have learned about computer programming. If I had to do my life over, I wouldn't skip that step for a head start into the world. I'd wager that head start would just end with me landing flat on my face when I start hitting real obstacles. College for me wasn't about teaching me how to program. I'd been doing it since I was 8. I was mostly self taught when I made it to college. College taught me what to expect in the real world. It taught me about working in teams, formal design specifications, etc. College created the scenarios where I was required to learn something new to solve a problem. Without College, most of my learning was very timid. The way our minds work is pretty interesting stuff. We are not really inclined to spontaneously decide to solve a problem we don't know how to solve. We don't really know where to begin. Think of it like learning to swim. You wouldn't just jump in the deep end knowing you have no clue how to swim, you start at the shallow and move out slowly as you get comfortable. College can throw you in the pool and give you tips on flailing your arms in a way that keeps your head above the water. College taught me how to better teach myself. College taught me what to do if I find myself thrown into the deep end. Agility is one of the greatest assets of a programmer. The faster you can adapt, adopt, and implement, the better you are. If you have the time and the money, get to learning!
Tristan Irwin at Quora Visit the source
Other answers
If you want to learn how to build web applications, you don't need to go to college to do that. It's a waste of money. If you have already gotten your undergraduate degree, you have already picked up all the soft skills necessary to be able to make it in the "real world" and any other schooling that is not focused on a particular thing (besides learning how to code) is pretty useless. On the other hand, I agree wholeheartedly with in the fact that if you learn by yourself, you can learn some nasty habits (I have done that). However, he makes an excellent second point by saying the best way to learn is to DO. This is another reason why going back to college for programming is a bad idea. You will more than likely be hamstrung by the curriculum/environment no matter where you go. So how should you learn? If you are serious about learning, I would get a coding partner, get a mentor, and find something you are passionate about building. If there is a problem in the world that you want to solve, that can be the greatest (and only) motivation you will ever need. If you want to accelerate the learning process, there are some new programs popping up around the country that offer training in particular web frameworks. I would be crazy not to mention my own program that I co-founded called Code Academy (http://codeacademy.org) here in Chicago, but there is also General Assembly (https://generalassemb.ly/intro-to-web-development) and DevBootcamp (http://devbootcamp.com). So to recap: Don't go back to college, but it's ok to go to a coding school ;)
Mike McGee
If you can get a scholarship, by all means - while a higher education is little more than a status you can attach to your name, it is a mostly welcomed status. I cannot, however, say I've benefitted from my college education. I am based in Croatia, however, so naturally our cases differ, but allow me to quickly elaborate on the example of my case: I have not learned anything new in college. My university was a disgrace, and most of the time the students were incomparably smarter and more experienced than their professors. The thing is, when people get a job in education here they tend to stop educating themselves, which in turn leads to technology outrunning them and leaving them behind. As far as education is concerned, I call it a total failure. If your only purpose is getting better at coding, then there is no need for college. While your uni cannot possibly be as bad as mine, it can't be too up-to-date either. The education system is very slow in catching up to modern technology in most countries, and by the time a change is approved by the state, the technology will have moved further ahead. Dive into your own projects and get some hands on experience. Don't just go and make a web site for a butcher shop or a designer friend - think of a complex problem and do your best trying to solve it. The absolutely best thing you can do is give yourself a project that's too advanced for you - you will most probably fail to do it right the first time, but you will most definitely learn more than on a hundred easier projects. On the other hand, the other answers are right - learning on your own can not only be slow, but also implant you with some bad habits. I was lucky enough to land an IT support job at the Open Access company I work at now, which allowed me to progressively learn not only OOPhp but also some serious business intelligence problems. Now I'm one of the head programmers there. TL;DR: Based on personal bias and the experiences of my colleagues - go with experience, not classes. Class lessons are usually too generic to be applied to real world problems anyway. Find a project and sink your teeth in it - ask around learn from others, explore, and become a resident of the Stackexchange network - it's a vault of amazing knowledge. And if you have a colleague or friend interested in exploring the same areas - even better! Best of luck
Bruno Skvorc
Get the degree and pick up some fundamentals that will really help you with learning new languages/frameworks, problem solving and programming decisions later on. If you even think you will want a degree, I would suggest doing it earlier rather than later. Most folks with substantial development backgrounds, i.e. I was programming for at least 8 yrs before college, develop some pretty unhealthy habits and biases that they will have to unlearn going back to school. I am a big fan of CS programs starting with functional languages like Haskell/Scheme to throw long time developers for a loop in that their long held beliefs of how to approach programming is just one of many. The better that you understand the many paradigms of problem solving, the easier time you will have of really embracing new languages, platforms, and patterns. What the heck is a one year Masters?
Ronald S Woan
Computer science degree will help you in understanding concepts and theories, but that's about it. In computer science degree, we do not really emphasize on practicality. Even in my programming class, I only built simple programs such as Tetris. The objective is never to hone your practical skill, but to understand the concept and theories. To master programming takes a lot of self learning process. In the end, you will benefit from practical experience if your objective is to improve your portfolio. But, if you need help to understand concepts and theories, CS degree is an option.
Bintang Pamungkas
I tried to learn programming on my own, but quickly realized that I ran the risk of learning bad habits. Plus, I was in a very fortunate position of being able to afford school and take some time away from working. So, I went into CS. It's been awesome, to say the least. There is certainly nothing wrong with learning on your own, but school is a very efficient way to learn the fundamentals and proper techniques in a fast paced setting. Plus, having a CS degree is worth a lot these days... Of course, as all of my programmer friends will say, the best way to learn is to DO (i.e. not sit around and theorize all day), so be prepared to do a lot of out-of-class learning and work. But if you're passionate enough to want to learn on your own, then you're already way ahead of most people.
Joe Reis
Related Q & A:
- What kinds of jobs can you get with a computer science degree?Best solution by Quora
- Would I be better off with an IT degree or a computer science degree?Best solution by Game Development
- Career in programming without a computer science degree?Best solution by techrepublic.com
- What kind of jobs can I get with a computer science degree?Best solution by Yahoo! Answers
- What type of jobs can I get with a computer science degree?Best solution by Quora
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.