Follow Slashdot stories on Twitter


Forgot your password?
Businesses Education

Ask Slashdot: Best Alternative To the Canonical Computer Science Degree? 347

connorblack writes "I want to be a web developer, and everyday I ask myself the same question: why am I wasting my time getting a computer science degree? I feel like I'm trapped- most of the courses I spend all my time on are far removed from the skills I need to succeed as a web developer. But on the other hand, I can't imagine another degree that would allow me to stay in a programming mindset. The fact is that web development has taken huge bounds in the last few years, and sadly most universities haven't caught up. Computer science is a field that overlaps with web development, but getting a computer science degree to become a web developer is like getting a zoology degree to become a veterinarian. Close, but no cigar. So here's the deal: I'm in my second year of a computer science degree, and the thought of wasting two more years, getting left in the dust, and becoming irrelevant has me horrified. I want to start my web development career now. Or at least as soon as possible. I can drop out and devote 6 months to teaching myself, but I want something more structured. Something that has the benefits of a classroom and an authority figure, but which teaches me exactly what I need to know to do what I want to do. Any suggestions?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Best Alternative To the Canonical Computer Science Degree?

Comments Filter:
  • Canonical? (Score:5, Funny)

    by serviscope_minor ( 664417 ) on Monday February 11, 2013 @01:02PM (#42860585) Journal

    Try the Mint or Arch computer science degree. Much better than the Canonical one.

  • Work (Score:4, Informative)

    by schneidafunk ( 795759 ) on Monday February 11, 2013 @01:03PM (#42860603)
    Make your own website, get a job working for a firm as an intern. I went to school for computer science and learned a hell of a lot more 'in the field'.
    • by wytcld ( 179112 ) on Monday February 11, 2013 @01:18PM (#42860861) Homepage

      The valuable web developers are those who are inventing what's next — or riding that wave as others are inventing it — creating the trend or solidifying it. Then there are all the people a few years behind using standard content management systems and standard design sensibilities.

      So you've either got to get yourself to someplace where the trends are alive, and get to the front of that. Or if your aspirations are more modest and you just want to follow a few years behind the vanguard, learn some other business entirely while studing one of the content management systems and taking a few design courses, or at least hanging out in museums to absorb some design sensibility. Anyone can use a CMS to create a good-enough site. It's knowing some other business that will allow you to communicate with people in that business, to build sites for them. It's not web skills that are in shortage. It's people with decent web skills who can understand the needs and vocabularies of particular niches.

      Unless you're brilliant enough to invent something better than the current standard CMS platforms, for some particular niche. But it's still knowing the niche that's important. If it's a brand-new niche, all the better. No course can teach you to create that, though. If you need to follow authority, get a degree in something totally remote from computers. Then code up the web advances that particular area needs, using standard tools that, frankly in themselves don't require much in the way of education or intelligence.

    • Re:Work (Score:5, Insightful)

      by fermion ( 181285 ) on Monday February 11, 2013 @01:26PM (#42861059) Homepage Journal
      Absolutely. Start making websites. If you can't find a job, then find a non-profit and volunteer. This is what I did. I was other there coding for production sites when I was 17. It was simple stuff, but it got me in the games. My degree is in science, so most of the computer stuff I learned I learned in high school, with just a few college courses. By the way, I wish I had more computer science courses because it would have taught me the jargon of computer development. Such shorthand is used quite a bit in communications for large projects, and my lack of it is an impediment.

      Let me add one more thing, which you college professors may have already told you. College is not there to prepare you for your first job, but for your last job. To put it more starkly, a college graduate may be more likely to have a well paying job into retirement than someone without. This is because you are trained to learn and so can a number of different jobs.

      Here is an example. In the late 70's if you have an a math degree and a knowledge fo Frotran and the IMSL library, you could get a high paying job immediately. That was because Fortran was really hard to write and debug(error messages had little to do with the actual error). However, 15 years later if you still expected to make money writing Fortran, you were not so lucky. Flash forward to 2000 and much of the code we need to run the world had already been written, and there was not a lot of money to be made just reimplementing old code. If one is not versatile, one did not have a job.

      Today with the web and major sharing of code, there is not an opportunity to rewrite a product from scratch as there was 20 years ago. We do not have 10 different word processors. Most of the web browsers run on one of four engines. Very little web development is done hand coding HTML like I did many years ago. Five years ago there was no App market and coding for tiny screens did not exists. Just imagine what they world is going to be like when you are mid carrer?

      So apply the skills you have now. Many of us made a pretty penny in college not by waiting tables or working at a shop. but doing what we loved. The advantage was that we learned a skill and got paid to do it. However remember it is easy for a young person to get a job, not so easy for an older person with responsibilities.

    • Re: Work (Score:4, Interesting)

      by um... Lucas ( 13147 ) on Monday February 11, 2013 @02:03PM (#42861655) Journal

      I tend to think that unless the degree is required for a certification or license you're going for, it's most likely an overrated piece of paper that's extremely expensive and time consuming to obtain.

      I have zero college under my belt, entered the workforce straight from high school and by the time my friends started graduating, I was getting hired over them And earning more to boot, as I actually had 4 years of experience and a portfolio of real world work. Fast forward 20 years later (where I am now) and I wouldn't have done it any differently. Not once in my life have I been turned down for lack of degree or lack of diploma. Nor did I have college debt to pay off.

      The flip side is you need to be self motivated. I can't even start to list off how many books and manuals I've read. I was probably 17 and wanted to get my feet wet video editing, so I read the manual for adobe premiere 4.0 (or maybe 4.2) cover to cover. And even today, I'm awaiting my delivery from amazon of a book about solr and another about Hadoop.

      If you're motivated you can do it. Getting started is the hardest - with no education or experience it'll be had to break in. I offered my services free originally, and once I was hired spent countless hours at the office after hours fiddling around and learning. And now, again, no complaints

    • I went to the top CS program in my country (U of Waterloo), dropped out after 2 years in '99 to join some friends at a startup (originally doing Java dev but quickly switched to web work), and have never looked back. The startup didn't pan out, but it gave me the experience to get a "real" job. (I was also largely self-taught from hobbyist programming from before university). And you can still put "University of XXXXX, Computer Science" on your resume without lying, which will get you past certain gatekee

      • I just wanted to add, I do consider my time at university very valuable, and likely would've considered switching to something like Software Engineering if it'd been offered at the time, and still think about completing a degree at some point.

        That being said, I've always found this adage to be true: "Education is what companies settle for, when they can't find experience".

    • by Quirkz ( 1206400 )
      I agree, doing the work is key, especially if you can't get it from classes. I'd place a high emphasis on paid freelance work if you can get it, unpaid interning next, and personal projects at the end, though all are good experience.

      That said, some kind of degree is still handy, because a lot of places require a Bachelor's to get past the HR application screening. You may want to consider some options:
      * see if you can fine-tune your degree to focus on the things you like, such as programming and web de
    • Re:Work (Score:5, Insightful)

      by Anonymous Coward on Monday February 11, 2013 @02:51PM (#42862513)

      I went to school for computer science and learned a hell of a lot more 'in the field'

      Either you werent paying attention or your classes were bad. From the few CS classes I took, I know that there is a lot more to programming than just belting out code; theres a whole lot of theory behind coding decision that transcend the particulars of the language you are using.

      I mean, if you dont care about code speed (O(N^2) vs O(2^N)? Whats the difference!) or maintainability ( Structure? Variable naming? Who cares!), or of understanding the difference between C++ and what your compiler actually spits out, sure go for it. Your code will actually solve some problems-- just perhaps not terribly well, and woe betide the next person to inherit your code.

      There are a lot of people in the IT field as well who cram for their CCNA and A+ and Net+, and can do some basic Cisco router config. Everything is well until something breaks, and then actually understanding network theory is really really important. Dont downplay the degree / theory side of things; experience is much more valuable once it is backed up by solid theory.

    • Doesn't matter where you learn the skills, but you will still need a college degree. Skipping that will hurt a career long term. Even if your degree is in Russian Literature it will help you.

      Now think about what happens in 20 to 40 years from now. Is being a "web developer" still going to be the dream at that time and will it work the same way? What about all the people 30 years ago that thought being a COBOL programmer was the important thing? Times change and the need to learn new things and adapt is

  • More like... (Score:4, Insightful)

    by Anonymous Coward on Monday February 11, 2013 @01:04PM (#42860625)

    More like going to veterinary school to work at a pet food store...

    • Re:More like... (Score:5, Insightful)

      by Dr. Tom ( 23206 ) <> on Monday February 11, 2013 @01:06PM (#42860665) Homepage


      if you drop out because you think a good education is standing in the way of you making money, then I'd like to tell you, yes, I'd like fries with that

      • Re: (Score:3, Funny)

        by h4rr4r ( 612664 )


        A million fake mod points to you sir.

      • Re:More like... (Score:5, Insightful)

        by Intrepid imaginaut ( 1970940 ) on Monday February 11, 2013 @01:38PM (#42861289)

        I think web development has a bit of a bad rap these days in terms of complexity. Things have moved on a lot from the 90s when anyone could hack together a bit of HTML and your biggest worry was making it work in internet exploder.

        Nowadays a web dev needs a firm grasp on SQL databases and what you can and can't do on them, ever more complex stylesheets, a scripting language like PHP, Javascript plus interpretations like JQuery or AJAX, HTML, XML, the graphics packages used to produce the look of the websites, plus a whole host of subsidiary technologies including networks and Linux if you want to set up your own server as well as email, flash development and actionscripting, and on and on. And things are only going to get more involved now that we're getting into decentralised networks via WebRTC and mobile integration. And you do need artistic chops.

        Yes the depth mightn't be as focused as C or whatever, but the breadth is impressive and growing more so. If a C++ dev was sat down and told to make a fully dynamic website from scratch, aestheticalIy pleasing and with all the bells and whistles, they might be surprised at how much is happening behind the scenes. I agree with the subby that traditional schools aren't going to cut it anymore, you do not need high end maths for web development, maybe something vocational to get a good grounding and understanding of the concepts before just doing it yourself.

        • Re:More like... (Score:5, Informative)

          by arendjr ( 673589 ) on Monday February 11, 2013 @02:25PM (#42862035) Homepage

          It's getting a stupid meme, but again: this.

          I got a job as a web developer (though the job title is actually Senior Software Engineer). I did a Bachelor's in Computer Science and a Master's in Software Engineering, and it sure paid off. Of course going to college didn't teach me how to do PHP or HTML or CSS, but it did teach me about time complexity, algorithms, data structures, and all the stuff needed to solve scalability problems. It taught me database design, which you better firmly grasp before even thinking about using a NoSQL solution. It taught me about testability, software processes and design patterns, all stuff which any developer should know, web or not.

          I remember when I was young and just about to start going to college. I was a self-taught programmer, was working as a programmer part-time already, and I still had the arrogance to even doubt if college could still teach me anything useful. Boy, am I glad I finished my studies anyway.

        • Re:More like... (Score:5, Insightful)

          by tooyoung ( 853621 ) on Monday February 11, 2013 @02:33PM (#42862183)
          Agreed. If the submitter is looking only to do very basic web pages and not more complex web applications, then, yeah, they probably don't need any further education. Just create a portfolio of content and shop it around.

          However, if the submitter is looking to do advanced web applications, possibly for a large company, and get paid over $75K, I would suggest a CS degree. As the parent states, web development goes well beyond HTML and CSS. An understanding of CS concepts is very important for creating a large interactive web application.

          Also, are you willing to bank that web development will stay as it is for your entire career? Having a background in a wide range of CS concepts can be very helpful as the sands shift in the future.

          Lastly, I'll comment that 80% of people who label themselves as web developers and proficient with JS and CSS only have the most basic understandings of the capabilities. Often, I see people who have taken courses in Java, and then saw that JS looks syntacticly similar on the surface. They code JS as if it is Java, resulting in extremely bloated and error prone code. My favorite statement from one such developer was "If only JavaScript had the concept of a hashtable, this would be so much easier to do".
      • Hey, some people just wanna be a monkey. Career myopia is astoundingly prevalent in youth culture. Then again, maybe some people want to spend the rest of their lives slurping Mt. Dew, munching down on a bag of Cheetos, while waddling between their 5'x4' cube--where they sling their sh*t around--and gaming console equipped break room every now and then. I mean hey, when your folks die, maybe you'll get to move up out of the basement and take over the rest of the house.
    • Re:More like... (Score:5, Insightful)

      by bsDaemon ( 87307 ) on Monday February 11, 2013 @01:11PM (#42860747)

      Or, to bring out a car analogy, it's like studying automotive and mechanical engineering, but then rather than applying to work at BMW or Porsche, you then go and sign up to work at Jiffy Lube. But some day, you might get to be assistant manager!

    • by AK Marc ( 707885 )
      The pet food stores around here also sell the pets, which requires taking care of the pets some. In fact, the two pet stores I go to most have vets attached to them.

      If all programmers were required to examine the CPU gates and be capable of logically building a CPU, as well as build an OS to run on that hypothetical CPU, and a compiler to run on that OS, then that increases the likelihood that the programmer will have a good idea of the impact of data constructs on memory and CPU, to help optimize code.
  • I think a lot of colleges offer degrees where you do "Computer Science with an Emphasis on X" but looking at one of my alma maters I see that it's moved to a kind of "flavor of the month" thing (game environments?). This usually leaves room for you to pick other courses. Another thing is that sometimes they offer interdisciplinary courses but you really have to be worth your salt to cut it in these areas (I guess they're close to a double major) so for example I can pull up MIT's page and see "Bachelor of Science in Computer Science and Molecular Biology".

    Honestly if I could go back I would seriously consider dumping the "Emphasis on Artificial Intelligence" and switch from Computer Science to Computer Engineering. However, I also heard that your whole schedule is often picked for you in that degree so I never would have been able to take the two semesters of music theory or extra calc and physics courses ... so you know, there's something to be said about breadth and figuring out what you want to do.

    Now to directly address your questions:

    I want to be a web developer, and everyday I ask myself the same question: why am I wasting my time getting a computer science degree?

    Because someday when your server is hacked and you're doing a post-morten on a Linux machine you'll be glad your professor beat it into your head how that operating system works? Because JavaScript is really easy to write but for some reason it's killing mobile batteries when people visit your site and you need to understand what O(n^3) means on the client side? Because at the end of the day it's just math and logic that you're coding and that's the basis for a computer science degree? Because if you can't communicate clearly, your coding skills won't mean shit in a team environment? Etc.

    I want to start my web development career now. Or at least as soon as possible. I can drop out and devote 6 months to teaching myself, but I want something more structured. Something that has the benefits of a classroom and an authority figure, but which teaches me exactly what I need to know to do what I want to do. Any suggestions?

    This is kind of like a Catch-22, yeah? You don't want to stagnate yet you want to be taught in a form that naturally stagnates? Dude, the libraries like node.js and backbone.js are moving too fast to solidify into a course. You just got to suck it up and absorb an autodidactic methodology from college and move forward with that, ready for anything that gets thrown at you.

    Also, not to be a dick but if you're bursting at the seams with talent, get on github, rip open an account on Heroku or buy a cheap VPS for $50/year and show us what's up. We're waiting to be blinded by your brilliance :-) That can all go on your resume, you know.

    • by martok ( 7123 ) on Monday February 11, 2013 @01:14PM (#42860805)

      Agree with parent here. I would add that as you are finished your first two years, you have jumped through the hoops which cause most people to drop. First year maths, stats etc. In years 3 and 4, things get much more interesting. Stick it out and you'll be a better programmer as a result. Yes, web developer == programmer.

      • by talexb ( 223672 ) on Monday February 11, 2013 @01:21PM (#42860931) Homepage Journal


        Find a college in your area that offers something more practical, if what you're going to be doing is web development.

        Then again, if you are interested in dealing with more complex issues such as schema design, business intelligence, user experience, and operational issues like proxying, high availability, replication, then staying in computer science might be a better call.

        • by Wovel ( 964431 ) on Monday February 11, 2013 @01:27PM (#42861079) Homepage

          You hit the nail on the head. If he wants training to use current tools and concepts he needs a trade school. The university program is design to provide the theoretical framework you need to do more advanced work in the field. If the OP sees himself only being a web programmer than maybe the trade school route is the way to go. However, technology and tools change, a solid base in theory will be more valuable in 10 years than the current FOTM in web development.

        • I know people who've gotten good stuff out of informatics. Though I've also seen a lot of really lightweight informatics courses - I'd take a few electives over there, asking around a lot about class and instructor quality first. And that only if your school has a good program.

          (I turned down an informatics fellowship because I'd already spent years in industry and I wanted biology that really went squish instead of simulations and a goddamned database to follow me around for the rest of my days. And now I w

    • by AwesomeMcgee ( 2437070 ) on Monday February 11, 2013 @01:32PM (#42861169)
      I am so torn on this issue. We all know every fresh CS grad that walks into a junior role on our team knows basically nothing and needs significant mentoring to really have any useful skills. Yet there are so many important things they teach in the schools around data structures, computational analysis, and how to generally apply formal math to programming to achieve correctness as well as efficiency.

      I just don't understand it I guess, how does one go from studying such important concepts to being completely incapable of applying them in the real world. I think the study of them is ever important so he should complete his CS degree, but he's not wrong in that he will still be useless when he walks out of the door with his diploma in hand and will need to be trained up from scratch all over again in the first 2 years in the real world.

      My suggestion though: Finish your degree and create a portfolio of random crap and do everything you can to get recruited by MS/Apple/Google as you will get guaranteed training in proper skills at any of them (yes even MS, I did a 1 year contract stent there and half the people I worked with had CS Phds and were smart as can be, I learned a lot from that gig, there's plenty of notables who worked up through MS as well even if you don't like their products)
  • Web development can be found in the art & interactive design programs, not computer science program.

    • "Web development" is a rather vague job description. If it's about graphics design, web page layout, UI look & feel etc, then yes it's more "art". Tacking a CS degree onto that seems waste of time.

      If it's about programming PHP, JavaScript (or whatever the popular web programming language is this month), database backends etc, then a CS degree doesn't seem out of place. But perhaps original poster could do better by taking targeted courses in the direction / languages he wants to a

    • by vlm ( 69642 ) on Monday February 11, 2013 @01:31PM (#42861143)

      Web development can be found in the art & interactive design programs, not computer science program.

      Not just "web development", but "women" also.

      Not trying to make a value judgement or insinuate anything, that's just the facts.

  • by Anonymous Coward on Monday February 11, 2013 @01:07PM (#42860683)

    *Degree == Paper(employers want to know you can stick it out)
    *Comp Sci teaches you fundamentals
    *The first two years usually don't focus too finely on the specific area of the degree(you'll learn the more pertinent info towards the end)

  • Stay in school (Score:4, Insightful)

    by jones_supa ( 887896 ) on Monday February 11, 2013 @01:08PM (#42860699)
    If you are doing fine in school (passing courses etc.) why not just complete it? Two years will go really fast and a degree is always a nice addition to your experience. At the same time you can prepare your web development career.
  • Wrong (Score:5, Insightful)

    by YodasEvilTwin ( 2014446 ) on Monday February 11, 2013 @01:08PM (#42860711) Homepage
    Technologies and tools are easy to pick up. You do not need to be taught them in a formal setting. What you do need is knowledge of core software engineering and computer science basics and principles so that you can create quality shit what whatever tools or technologies you end up using. Algorithms and data structures, software architecture, optimization, concurrency, etc. are generally much easier to learn and learn well in a formal setting and will set you up to be a good developer, not another interchangeable hack that never makes anything worthwhile.
    • Re:Wrong (Score:5, Informative)

      by dmiller1984 ( 705720 ) on Monday February 11, 2013 @01:24PM (#42861019)
      I can't agree with this any more. I had some similar thoughts when I was getting my CS degree, but I now consider the things I learned in college invaluable. Most online tutorials don't teach you about reliability and efficiency and it's good to have the theory you learned in college to back up the programming you'll do as a web developer.
    • by homb ( 82455 )

      I agree that "technologies and tools are easy to pick up". With one caveat: the lack of classes on system architecture (not just CPU architecture) but complete system architecture and design is unacceptable in today's age.
      Yes it's good to learn about CPU pipelining (if taught), but then one also needs to learn about macro stuff such as interactions between system components (DBs, servers, memory stacks, NAS, etc...).
      After all, even ridiculous economics is taught at micro and macro level (I did major in econ

    • OTOH, some courses in industrial design might be useful. Personally, I struggle with looking things look nice, even when the internal algorithms are easy enough (for my skill set, anyway).
    • As a college dropout* who works as a Web Developer: couldn't agree more. I had to catch up on *a lot* of stuff I could've learned in formal setting of the university. Don't underestimate the fundamentals!

      * I got degree eventually, but not in CS field.

    • Re:Wrong (Score:5, Informative)

      by GodfatherofSoul ( 174979 ) on Monday February 11, 2013 @02:03PM (#42861653)

      I second this comment. The "college is a waste of time" mindset seems to be popular on Slashdot and couldn't be further from the truth. If you can't understand how some of the formal learning you're getting in college doesn't help you as a developer, you're not thinking hard enough about what you're being taught. College isn't about teaching you to write a web page for a specific job. Formal education is teaching the best way to tackle fundamental problems the most efficiently.

      I just completed a degree after about 14 years in the field and I took A LOT from my curriculum (and I mean in EVERY class).

      • by Quirkz ( 1206400 ) <`ross' `at' `'> on Monday February 11, 2013 @02:41PM (#42862327) Homepage
        One of the more useful for programming classes I took in college was a Symbolic Logic class offered by the philosophy department. Helped me become a master of complicated, nested if statements and other conditionals.
      • by Nemyst ( 1383049 )

        College isn't about any specific subject. It's about learning how to learn, and how to solve.

        There's a reason why, for instance, physics undergrad degrees often lead to economics graduate degrees: because physics, like all STEM disciplines, force you to think, to reason, to model a problem and then solve it. This kind of understanding is priceless.

    • Exactly. Web development is kind of the big thing right now, but next might be quantum computing or who knows what. With a CS degree, you'll be ready to handle it. You don't want to be one of the guys who jumped into COBOL and got stuck there. (or dropped out to do HTML during the .com era then realized after a few years HTML alone isn't a marketable skill).
    • ^^^ This.

      What you're not realizing is that the web is founded on the ideas and principles that you're wanting to avoid (which is pretty typical for wise fools []). It's not like zoology and veterinary medicine; it's like a carpenter's apprentice who says he wants to get into the business of applying veneers without having to waste time on all that other stuff. Web technologies are a veneer on top of the principles that guide everything in this field. If you have a solid foundation in those principles, you can

  • by coastrman ( 1669092 ) on Monday February 11, 2013 @01:09PM (#42860729)
    As a Professor at a top ranked Engineering University, I thought I could give you a little bit of perspective. If you find CS not challenging enough or not on target enough, you might want to get a degree in another engineering discipline like Electrical Engineering or Mechanical Engineering. Countless superb programmers come from another engineering discipline such as Electrical Engineering, Mechanical, Aerospace, etc. The reasoning for this is that if you find that you don't like programming 60 hours a week, you will have in demand skills in another sub-field to fall back on. Also, typically with majors such as Electrical Engineering, you can take courses that cross over into CS liberally, but also understand how computers work down to the Silicon. So my advice is stick it out and finish a degree as that is something that will never go away.
    • Countless superb programmers come from another engineering discipline such as Electrical Engineering, Mechanical, Aerospace, etc

      As do countless shitty ones, because they don't teach programming much or at all.

      We once hired an electrical engineer, and it didn't take very long to discover it was a really bad choice. He'd never written any code, and knew nothing about it -- he kind of expected we were going to teach him to write code. I've also known loads of engineers who are self taught coders, and who abs

    • "As a Professor at a top ranked Engineering University, I thought I could give you a little bit of perspective."

      You left out the most important part! What made you realize you were mistaken?

  • Simple (Score:5, Insightful)

    by angryfirelord ( 1082111 ) on Monday February 11, 2013 @01:11PM (#42860749)
    You don't go to college to learn a trade. You go to college to learn the fundamentals and become a well-rounded individual. There's certainly an argument that college is overpriced, but it will certainly help you in the long run. As someone once said, an employer may not care that you have a degree, but they will care if you don't have one.

    Plus, the web development field is rather saturated as everyone else thinks they can make web pages. If you want to be a freelancer, you'd better be a good salesman (or woman) too.
  • by Anonymous Coward on Monday February 11, 2013 @01:11PM (#42860753)

    Translation : I'm a retarded web monkey "programmer" (actually just a glorified scripter) and am too dumb to see the benefits of learning CS since it's hard and stuff. Halp me!

  • Not entirely (Score:2, Insightful)

    by Murdoch5 ( 1563847 )
    Well I don't have a solution but I can tell you that you should stop your computer science degree asap. Computer Science doesn't really teach anything, you get a little bit of a lot of subjects with no structure, use or even good information. All the really bad programmers I know took Computer Science in school and I want to strangle them 3/4 of the time. They don't understand good code structure, they have no concept of a useful comment and they think managed languages run the world. If you want to lea
    • by jevvim ( 826181 )
      I agree with this, but mostly because not all Computer Science programs are the same. I've interviewed a lot of people for development jobs (embedded systems and device drivers), and have been appalled by what passes as a Computer Science education from some schools. If anyone is in a program that makes them question it's value, then you might want to transfer to a school with a better Computer Science program!

      Also, take advantage of internship and cooperative education opportunities while you're getting yo

      • embedded systems and device drivers

        Your right! If you call yourself a "Computer Scientist" then you should have no issue sitting down and programming me a simple RTOS so a micro controller that supports standard ANSI C. After that, my second question would be, write a good multiplatform ( Windows + Linux ) supervisor for it. Then the final stage of the pre-interview test, Make it work dynamically on the web with full database support such as MySQL. If you can perform those tasks then I'll give you a sit down interview for a job, if

      • by vlm ( 69642 )

        and have been appalled by what passes as a Computer Science education from some schools

        Check your job requirements. If HR carefully and methodically filters out everyone who's honest on their resume, leaving nothing but the liars and cheats, you're not gonna be very happy with your interviews. There's not enough jobs out there for everybody, but I hear constant complaining on /. that once you filter out everyone who's honest, and everyone over the age of 25, and everyone who has kids, and everyone who has a spouse, and everyone demanding more than $30K/yr, you get nothing but whack jobs. W

    • CS - not CIS (Score:3, Insightful)

      by Anonymous Coward

      I think you got confused with the X-IS degrees out there (MIS, CIS etc). Computer Science is a S-C-I-E-N-C-E covering the nuts and bolts of how computing works both in abstract and MULTIPLE-applied environments. It is HARD CORE SCIENCE. You don't learn one language. You learn lots. You don't learn one OS. You learn many. And how all of these are built.

      The "I love a managed language" people you are referring to, are the one's taking a "Java class". Some colleges mix and match CS with CIS and don't differenti

      • by Ed Bugg ( 2024 )

        CS courses are things like: Finite State Automata, Algorithms and Data Structures, Relatational-Database Engine design, Compiler design and optimization, Operating systems design, Discrete Math, Graphics Architecture and Mathematical Transformations, OOD/OOP, Structured Programming, Software Engineering. (Notice there is no "language" course listed).

        For me, the reason there wasn't a language course was because each one of those classes used a different language. By the end of the degree program the people will have forgotten more languages than most others will ever know.

        But the upside is that I can, with a straight face, say I am a programmer and not a coder. The language is no longer important, it's just an implementation of the program. I can move (and have moved) from projects that use Ada to C to C++, Assembly, Snowball, COBAL, etc... with litt

  • by CptPicard ( 680154 ) on Monday February 11, 2013 @01:12PM (#42860777)

    I've got a very classical kind of algorithmics and math-heavy CS degree and work as a web-based business application developer. My academic education has nothing to do with what I do daily, except perhaps has served as some kind of a demonstration that I am capable of critical thought, which is quite important in my every day job, making sure that customers' systems don't totally screw up their businesses.

  • Hang in there (Score:4, Insightful)

    by jamessnell ( 857336 ) on Monday February 11, 2013 @01:14PM (#42860815) Homepage
    I have CS degree and develop web apps. I've worked on web apps since before starting university too, so it's something I do because I enjoy it. I suggest you stick it out. I was fairly jaded many times in the content of my CS program, as I expected a lot more. Since graduating a few years ago, I'm realizing that there was more value than I thought in those courses. Often it wasn't entirely captured in the technical details of the course, but rather the process of getting stuff done in that field. Web apps are continuing to gain traction and unless you want to work on "brosure" websites, you'll probably end up using fairly extensive CS concepts to make your web apps awesome. That said, if you love something, a formal education isn't always necessary. However, if you want to get WORK in that subject, you may find customers/employers bizarrely more receptive to the degree. It's stupid. It's reality. Take care friend!
  • by SlashDread ( 38969 ) on Monday February 11, 2013 @01:15PM (#42860823)

    Look, I have seen people who know how to drag and drop in Dreamweaver call themselves "web developer".
    But really, if you are on CS level development its just the same as regular development. Sure your choice of core languages will be somewhat more limited, but make no mistake. Webdevelopment for large sites is very complex, CS level complex. Most apps today require a good level of networking, and most websites are more and more just regular apps.
    I work for one of the largest websites where you can buy stuff (yeah that one) and most our developers are just that, CS majors, with an occasional math and or fysics major.
    You are in the right school, just do some extra curriculum interwebby stuff if you want too.

  • if you just want to be a web-monkey. Go start consulting on your own or something.

    Later, if you decide you need to do something that requires a 4-year degree, go get one.

    • And that's great, if you think you make a go of it as a consultant. When that doesn't work out and you start applying for jobs, you'll find that HR departments really like to see some alphabet soup after your name. You get a job with your skills, you get an interview with your credentials.

      I will agree that most CS degrees are perpetually 5 years behind the times. Many CS graduates can't code at all (a surprisingly large number). Many more have no concept of how to write a secure program, or how to deal

  • I want to be a web developer, and everyday I ask myself the same question: why am I wasting my time getting a computer science degree?

    If your goal in life is to edit HTML files, then don't go get a degree at all. Like the (only 2 at the time of my writing this) other posters have said, build and run a website or 3, get a job as an intern at a company that does technology stuff, do things on your own and build a portfolio.

    That being said, a career as a web designer is good for about 1 or 2 steps up, and t

    • by vlm ( 69642 )

      If you want a career in technology that might eventually lead to ... get a degree.

      In my extensive personal and observational experience a CS degree does not lead into flexibility WRT job titles or opportunity to advance as you state, it just pigeonholes into a different set of jobs, mostly developer-type roles.

      If you really wanna "eventually lead to" management or production or sales, don't get a CS degree and try to transfer and compete with people who actually got degrees in that specific field. For example, if you wanna be an accountant then get a degree in accounting, don't argue if

  • by CaptainNerdCave ( 982411 ) on Monday February 11, 2013 @01:18PM (#42860863)

    Seriously, HR doesn't care that you dropped out of college to get better with your web developing, all they see is "incomplete". The purpose of a degree (for capable people) isn't to teach you anything, it's to get past the incapable HR drones.

    Get the degree AND teach yourself; it's the only way to both be on top of the game, and get a job.

  • You have lots of free time in uni. Make use of it. Build your website. Contribute to dozens of open source projects. Learn about them, install them, use them, provide patches and improvements. Go through the whole stack:
    - learn to install and manage an OS (say Debian Linux)
    - learn to install and manage the web server (e.g. Apache)
    - learn to install and manage the DB server (e.g. MySQL)
    - learn to install and program the scripting language of your choice (perl, python, php, ruby...)
    - learn HTML, CSS, JavaScri

  • In many ways the degr is not about leading but signaling prospective employers or clients that you can learn and stick it out through time. If you wind up competing with people who have degrees you may find yourself at a disadvantage no matter how good you are. In addition, as others have pointed about the degree is about learning theory and concepts that you can broadly apply; not building a specific but perishable skill set.
  • I also agree that you should just hang in there and get some kind of degree. It is a "MacGuffin" and a stupid system but you really do need a degree to open certain opportunities. You will not be left behind by waiting until the end. Also you will never have so much free time as you have now to pursue side interests, so make the most of it.

    BTW, at University, you also you have the greatest selection of potential life partners you will ever be exposed to, dive in while you can. Afterwards you might find slim

  • The point of Computer Science isn't to teach you how to a particular job.
    But how solve these problems yourself.

    If college just taught you HTML5 and JavaScipt and PHP. You may be able to get a job, but what will happen after those technologies go out of style.

    When I was in College leading edge Web Development was writing CGI application. While Javascript and CSS were available they were recommended not to be used because it was all too common that their browsers wouldn't support it. If we had to save data

  • If you can only learn in a classroom format, you're doomed in a fast moving profession. Switch to something slower moving or you'll be back to school in 5 years or less.

    If you merely need knowledge from a classroom format and don't care what corporate HR thinks (aka you're ok with never being hired and being a contract worker, because HR gives zero respect to associates degrees) then my local tech school offers:

    Web and media digital design aka online graphics artist.
    Web and software developer from the scho

  • A degree matters only insofar as you try to meet people who are interesting and interested in what you want to do. Research your professors. Join the CS club. Join the math club. Join the Fine Arts faculty for whatever social events they hold, because some of those people can do your site design, or your art, or help you understand how visual thinking works. Meet people. You need to behave as if you are interested in what you are doing. If you are interested, and if you apply yourself to those intere

  • most of the courses I spend all my time on are far removed from the skills I need to succeed as a web developer. But on the other hand, I can't imagine another degree that would allow me to stay in a programming mindset. The fact is that web development has taken huge bounds in the last few years, and sadly most universities haven't caught up. Computer science is a field that overlaps with web development, but getting a computer science degree to become a web developer is like getting a zoology degree to be
  • Wrong degree (Score:4, Insightful)

    by ClayDowling ( 629804 ) on Monday February 11, 2013 @01:26PM (#42861049) Homepage

    There is nothing about designing a pretty website that requires a computer science degree. For that, you want a design degree.

    On the other hand, designing a good user interface is not about making a pretty web site. It's serious science, highly technical, and you'll need to understand not only computer science, to make the guts of it work, but other disciplines to understand how humans and computers interact.

    Web design technology has changed a lot in the last decade. The fundamentals of computer science and logic have not. Learning the latest in web technology will help you get an entry level job, and as long as you race to learn the next new technology six months from now, you'll be well stocked on entry level jobs for the rest of your life. Or at least as long as you can keep up with that particular rat race.

    If you learn computer science, and the fundamentals of why things work and how to get things done, you'll be in a good position to have a career. That doesn't guarantee you a job. But it does mean you'll have a lot easier time translating an entry level job to a sustainable career. Maybe that doesn't seem important right now, but once you get things like a mortgage and a family, that is way more important than being perfectly equipped for the sort of job posting that is just a list of the tools they're using right now.

  • Most colleges are not vocational colleges - that is, they do not focus specifically on work skills that you'll use in a job. They are not specifically training you for a career, rather, they're providing you with the theoretical foundation and building blocks to understand, appreciate, and contribute to a specific discipline. That some of these provide job skills is at best a secondary concern.

    If you want to have a specific job, or follow a specific career, then focus on that job or career. We're startin

  • by sirwired ( 27582 ) on Monday February 11, 2013 @01:29PM (#42861103)

    Just because you are in a CS program, (which has never been a "vocational" degree program), does not prevent you from picking up whatever other skills you desire. As you pointed out, the CS program puts you in the "programmer mindset"; you've keyed on to the actual purpose of a CS program, which is NOT teaching you the "language of the month." They are trying to give you the skills you need to be able to pick up the language of the month on your own far more rapidly than you might be able to otherwise.

    Just like a vet would be well served by obtaining a zoology degree prior to entering veterinary school, many people find that a CS degree well-serves their educational goals in addition to the constant "self-education" that is a fundamental part of any computer career.

    • When I was in school (the latter '90's) my Programming Languages professor deliberately chose a textbook that was issued in 1985. He did this not because it was his book and he wanted the money (it wasn't his book, and only used copies were available), or because he had some particular fondness for the languages presented therein. (Pseudo Machine Language/Assembler, FORTRAN, COBOL, Ada, Smalltalk, and PROLOG, IIRC.) He used an outdated textbook because he wanted us concentrating on the actual point of th

    • Just like a vet would be well served by obtaining a zoology degree prior to entering veterinary school.

      FYI, I don’t think you would be well served by that Zoology degree. From the hundreds of vets that I have meet, the preferred degrees are Biology, Chemistry, and English. Zoology might help if you wanted to get into exotics – but every vet that I know who got into exotics by a very individualistic unique path. Animal husbandry might be slightly better choice, but still

  • Talk to your advisor. Unless your school has a crummy program with limited options there is probably a lot you can learn in a CS degree. To put it bluntly, if you don't understand how a CS degree applies to web development, then you probably need a CS degree.

    If all you are focusing on is which technologies they teach, you are wasting an opportunity and may run in to problems further down your career when ad-hoc design with no fundamentals just isn't good enough.
  • You could always look into a digital design or graphics design curriculum. Some of the better art schools are lightyears ahead of the computer sci schools in teaching ways to really use the web and digital media.

    Good luck,

  • Dear Slashdot,

    I know exactly what I need, better than my teachers do. They're all old fuddy duddies stuck in the past. I'd drop out and teach myself, but I want someone to rubber stamp my degree. Can you help?

    Have you considered DeVry or the University of Phoenix?

  • DON'T go through with HR. My biggest problem has been avoiding the trained monkeys in HR who seem to bias towards genial, friendly, sociable expensive fuck-ups. What I like is 5+ years *working* experience, some working code I can look at, and a one-on-one conversation where I can ask difficult questions. This will tell me more of what I need to know than any degree. Write something useful. Make it work. Show me your work. Look presentable and sane. Speak English well enough to communicate with the other En

  • Don't drop out. The CS degree will (or should) give you a good understanding of the foundations, and these don't change very much over time. This understanding will make it much easier to be a GOOD developer, rather than a one trick pony or somebody whose code appears on The Daily WTF. A sound understanding of the foundations will make you a *much* better developer for *much* longer, and able to progress further. How do you know that in 10 years time you still want to be a web developer?

  • It really doesn't matter what it is in. A CS degree will help a lot when you are first starting out but once you have 2-3 years experience it doesn't make much difference. This is coming from a software engineer with a history degree... I was an intern at a company that built computers, changed degrees to history after I started working there, later graduated and was hired on fulltime as an associate engineer. After 3 years I left. Now, after 5 more years in tech, it doesn't even come up in interviews. The
  • by Fubari ( 196373 ) on Monday February 11, 2013 @01:38PM (#42861287)

    1) "Web Developer" can cover a rather broad spectrum.
    If you want to do architecture for large sites then stay where you are; you will want the theory.
    OTOH, the multidisciplinary thing could make sense. Maybe you want to get an Arts major (web design / graphic layout) or a Psych major (Human Factors / Ergonomics / User Interface design) and a computer minor?

    Then again, don't overrate college. One of the smartest programmers I ever worked with never went to college. One of the best object oriented developers I worked with was an English Major. I guess I would ask if you want a degree to get you resume past Human Resources or whether you actually want to learn?

    I have two questions about what you said here:

    The fact is that web development has taken huge bounds in the last few years, and sadly most universities haven't caught up.

    1) What giant leaps in state of the art are you talking about here?
    2) Is it possible you're new to this and are mistaking the normal fast-paced evolution of computers, tools, and ecosystems as a one-time isolated event? (If so, give it another 5 years; things will be moving just as fast (if not faster) in 2018.)

  • by medcalf ( 68293 ) on Monday February 11, 2013 @01:46PM (#42861413) Homepage

    First, what is the purpose of your degree, to you? If it's to enable getting a job, then you should know that the order in which résumés are generally evaluated, all other factors being equal, is people with an advanced degree, then people with a bachelor's degree in the field (in the case of IT, that could be IT, MIS, computer engineering or any given engineering), then people with a bachelor's degree relevant to the core business of the company, then people without a degree but with a lot of relevant experience, then anyone else. Generally, the last category is never even looked at, except in the most desparate job markets, or where you know someone. So, again with all things being equal, the closer you are to the front of that queue, the more likely you are to not be overlooked before getting an interview. Some jobs will become unavailable to you with each step further to the right. Those that disappear are not always the best quality jobs, but remember that this point is predicated on your intent being to use your degree to get a job.

    If on the other hand, your purpose in getting a degree is to learn as much as possible about your chosen field, then you don't need to worry much about the degree. Take a bunch of classes that interest you, and I do not mean just in computers (Steve Jobs famously attributed his design sense to a calligraphy class he audited), and then when you have nearly the requisite number of hours for a degree, go see a counselor about how to get a degree (any degree) with what you've done. Most likely, you'll have to take a few filler classes (math and economics are likely, because you should end up pretty close to a math or business degree, depending on your interests) to make up the difference and get the degree at that point.

    If, instead, your purpose is to get a good education, switch to liberal arts (if necessary, switch colleges) with an emphasis on classical learning, languages and literature. Avoid schools whose idea of liberal arts is grievance studies, and whose idea of Western culture is an unbroken trail of oppression, and look for one that really grounds you in Western culture. The most salient benefit of such a course of study is that you will learn how to learn on your own, as well as how to express yourself well, how to set and obtain goals, how to lead and how to maintain a balanced and well-lived life. Unless your goal is a profession (by which I mean the real ones: law, medicine, engineering), this will give you the basis to do anything at all you are good at with the rest of your life, and do it well. And if your goal is one of the professions, this is an excellent basis for a graduate degree in said profession.

    Second, assuming that you've decided you do want a degree, for any of the above reasons, I fail to see how that should stand in your way. Whether or not you are getting a degree, it is useful to have a job. It's experience for after college, money for now. So why not build up a website on a topic of interest to you, and make it the best you can? (I have a colleague who built a website about touring motorcycles to learn how to administer databases, for example.) Being interesting to you will keep you focused and improve the quality of what you produce. Once you've got the site the way you want it, use it plus your being enrolled in college to get either an internship or part-time web job (if you want to work in corporate settings) or small contracts (if you want to do contracting). This will build up your ésumé as you study, and will give you something to stay interested in while you're taking courses that you don't yet see a use for. (Who knew that taking linear algebra or structures and properties of materials would help me be a better system architect? Which is not to say every course will prove useful for every person, but you'd be surprised at what comes up decades after college.)

    Finally, having decided on a degree path and having gotten a job that you want to do, the best advice I can offer is

  • So here's the deal: I'm in my second year of a computer science degree, and the thought of wasting two more years, getting left in the dust, and becoming irrelevant has me horrified.

    No one with this mentality is worth a damn. Specific technology, like programming languages and tools, are trivia. They are fashion. You're chasing the red queen if you think you'll get ahead by always having the latest fad on your resume.

    Don't be the web monkey who can use node.js. Be the programmer who can write something lik

  • One of the degrees we offer here at Penn State is "Information Sciences and Technology". While there are many CS aspects to it, which are taught (Databases, Programming, Mobile and Web Development, etc.), there are more aspects of humanities and "big data" involved - learning how to interpret and visualize quantitative measures, and learning to process large-scale data (e.g., CiteSEER was created here), and some aspects of software development, project management, business management. We also have a strong
  • If you have connections, legitimate skills, and can sell yourself college is optional. Go out and convince someone that you are worth hiring. Bypass HR and recruiters if possible, in many cases they will simply toss your resume for lack of "traditional" accomplishments. Your goal is to talk to the people who make the final decision on whether or not to hire you, not those who make the initial decision.
    For everyone else, a degree is important (well, legitimate skills are important regardless). I work for a
  • Computer science is a field that overlaps with web development, but getting a computer science degree to become a web developer is like getting a zoology degree to become a veterinarian. Close, but no cigar.

    Becoming a veterinarian requires graduate education; zoology is a pretty reasonable undergraduate degree to get before going to Vet school. So unless you are saying that getting a CS degree is one of many very good options for completing a necessary first step on the way to becoming a web developer (w

  • First of all, "web developer" covers a lot of ground. You seriously need to narrow your focus. Maybe by technology. Maybe by target market. Whatever, but you need to be a lot more specific about where you want to be and what you want to be doing, if for now other reason than the fact that there are thousands of "web developers" who live and work off-shore and will be your competition when you enter the job market. The best thing you can do for yourself is to distinguish yourself from nameless, faceless off-
  • A Computer Science degree is not the same as Programmer. If all you want is to be a "web developer" then perhaps a technical college or diploma is what you really want.
  • There's more to being a web dev than coding. You have to know now to get along with coworkers. You have to work as a team. You have to learn HOW to build complex projects. A computer science degree will hopefully tell you how to engineer something, not just build something. There is a HUGE difference. I get that school is expensive, and it may do nothing more than prepare you to work for The Man for 30 years... If you want to go the entrepreneur route, then go for it. You'll fail, just expect that a few t
  • by tknd ( 979052 ) on Monday February 11, 2013 @03:06PM (#42862741)

    First off, there's a lot of stupidly bad advice here. The OP states that his intention is to become a web developer and feels his current 2 years of CS is useless. Naturally everyone becomes polarized and offers their bad advice. On the same token, most bad programmers will do the exact same thing when a customer comes to them and asks for a solution to a problem. The correct advice should first identify the problem correctly, then offer the right insight to lead the OP to the correct solution for his unique situation.

    here's the deal: I'm in my second year of a computer science degree, and the thought of wasting two more years, getting left in the dust, and becoming irrelevant has me horrified. I want to start my web development career now. Or at least as soon as possible. I can drop out and devote 6 months to teaching myself, but I want something more structured.

    Why do you think you'll become irrelevant? Because the technology you learn today will be deprecated for next year's flavor of the month technology? And if that's the case, why do you think learning that particular technology will grant you anymore longevity?

    Consider this: technology will always become obsolete. If you accept that, then you will continuously be forced to learn new things regardless of how you learn it.

    Secondly, why do you want to start your career right now? Is it out of envy? A feeling of wasting time?

    I would be lying if I didn't say I wanted to graduate 4-5 years earlier. After my first year in college, the internet bubble burst. I was entering CS with older peers landing rock star programmer jobs with little effort. And that all quickly changed.

    At the same time, the core fundamentals of computer science are allowing me to stay relevant today. I started with the web, went on to complete my 4 year CS degree and now I've been able to learn the Android SDK on my own time without the aid of classes. What little I remember of my advanced game programming course (I didn't stay in it) and linear algebra has allowed me to work at the 2D level canvas without ripping my hair out.

    When you understand and correctly apply the theory, you are able to digest much more complicated things much more quickly. You know a bad algorithm when you see it. You know how to correctly optimize rather than wasting your time with trial and error. But if you sit through class thinking "I don't see the direct connection" well consider trying to do algebra without knowing how addition works. That's what you're up against.

    Now despite that, that doesn't mean that school is best for everyone. If you feel you are capable of learning things on your own, no matter how complex or how convoluted, then school may actually slow you down. But if you still feel you can't correctly teach yourself, then school is a good option.

    If you feel you can go faster, then do so. By that I don't just mean stopping school. You can actually accelerate your school if you have the desire. I had the option of actually graduating a quarter early, but I chose not to in order to explore other topics the school offered (one was the game programming course). Looking back, graduating in 3 years is actually do able with summer courses and maxing your units per semester/quarter.

    Finally don't discount the trade-offs. Starting work early is good for those that want to be entrepreneurs. Those that simply want a desk job for the rest of their lives, it is probably a really bad idea. Never again will you be surrounded by people of the exact same age and never again will you have culturally "approved" time to actually just sit down an learn whatever you want. That includes studying abroad on educational loans and studying seemingly useless topics. At my age, people around me find more interest in these sorts of topics than their own specialty simply because they're hired and forced to work on their specialty for at least 8 hours a day. As a student I thought I could sit in front of the computer all day, today I look for things to get me away from the computer.

Order and simplification are the first steps toward mastery of a subject -- the actual enemy is the unknown. -- Thomas Mann