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?"
Canonical? (Score:5, Funny)
Try the Mint or Arch computer science degree. Much better than the Canonical one.
Work (Score:4, Informative)
Web development will always be far ahead of class (Score:5, Insightful)
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)
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:5, Insightful)
Re:Work (Score:5, Insightful)
This. This. A million times this. So many people do not see the value of the degree until after they are at least mostly done with it. Half of the 'drop-outs' and 'self-taught' people are just not patient enough to get the degree and start using cope out arguments. Don't get me wrong, some people can pull off self teaching and what not and be effective software developers, but there is a reason we have a massive shortage of GOOD software engineers in the US and elsewhere. Yes, you will sit through some boring and mostly useless classes, but most of them are not that. A CS degree is teaching the fundamentals and then gets into the advanced more specialized topics later.
The OP is only 2 years in and has not reached the advanced point yet. When I graduated my last year and a half was focused almost exclusively on the much more advanced and specialized classes that people want immediately but have no business in before they have the proper foundation. I took courses focusing on software development, high level security and cryptography, mobile development (the entire world of it, not just how to write applications), and I even took advanced programming languages (learned a lot about functional and logic programming, while I am not the best at it, the class gave me a start and great perspective on OO, imperative, and declarative languages I already knew). They even offered courses focusing on web development like what the OP is talking about(mostly PHP, we didn't mess a lot with .NET or anything else).
Sticking out for the degree is important because you WILL learn those high level concepts and be much better prepared for generally abstracting the concepts to move between things. I mean, basically the way the programs should (and usually do at good schools) is directly akin to proper programming in that you don't hard code and specialize things, you keep it general and abstract such that the individual instances (students) can apply that knowledge effectively in their chosen specialization.
What is important is to supplement your course work with your own more specialized interests. I did plenty of research on languages and programming styles much different than what the university taught me, and I even did a lot of IT and hardware work as just a general hobby (helped me grasp a lot of things later on and make me into a more well-rounded software engineer).
Re: (Score:3, Interesting)
This kid is 3 semesters in, which is exactly when the heat turns up to wash out the weakest students that aren't up to the challenge. He clearly has neither passion nor curiosity about code development. He wants to skip right to the "fun" part where gets to throw together badly engineered junk using whatever framework he's managed to figure out. If he wants to spend his career building things out of Legos, he should get out now. If he wants to be able to build ANYTHING, including things no one ever thought
Re: (Score:3)
Re: Work (Score:4, Interesting)
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
Re: (Score:3)
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
Re: (Score:2)
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".
Re: (Score:3)
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)
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.
Re: (Score:3)
By the way, why many people still have a mind set that Computer Science is all about programming?
Because of the stupid name "computer science". Over here we call it "information science" (informatica) and then it suddenly relates much better to Shannon's Information theory, things like the Holographic Universe hypothesis, and then we're all of a sudden discussing the nature of the universe as seen from the perspective of information: are we all just a 2D representation in discrete bits on a 3D or 4D manifold?
If you name your science "computer science" you get what you ask for: a lot of stuff placing th
Re: (Score:3)
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)
More like going to veterinary school to work at a pet food store...
Re:More like... (Score:5, Insightful)
this
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)
This.
A million fake mod points to you sir.
Re:More like... (Score:5, Insightful)
Re:More like... (Score:5, Insightful)
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.
Comment removed (Score:5, Informative)
Re:More like... (Score:5, Insightful)
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".
Re: (Score:3)
Re:More like... (Score:5, Insightful)
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!
Re: (Score:3)
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.
Pick an Emphasis On or Interdisciplinary Degree (Score:5, Insightful)
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
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.
:-) That can all go on your resume, you know.
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
Re:Pick an Emphasis On or Interdisciplinary Degree (Score:5, Insightful)
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.
Re:Pick an Emphasis On or Interdisciplinary Degree (Score:4, Insightful)
+1
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.
Re:Pick an Emphasis On or Interdisciplinary Degree (Score:4, Insightful)
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.
Re: (Score:2)
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
Re:Pick an Emphasis On or Interdisciplinary Degree (Score:4, Insightful)
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)
You want an art education (Score:2, Interesting)
Web development can be found in the art & interactive design programs, not computer science program.
Design or programming? (Score:2)
"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
Re:You want an art education (Score:5, Funny)
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.
A degree is worth about 30-50% of your paycheck (Score:4, Informative)
*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)
Comment removed (Score:5, Insightful)
Re:Wrong (Score:5, Informative)
Re: (Score:2)
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
Re: (Score:2)
Re: (Score:2)
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)
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).
Re:Wrong (Score:4)
Re: (Score:3)
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.
Re: (Score:2)
Re: (Score:2)
^^^ 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 [wikipedia.org]). 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
Get another Engineering Degree (Score:3, Informative)
Re: (Score:2)
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
Re: (Score:2)
You left out the most important part! What made you realize you were mistaken?
Simple (Score:5, Insightful)
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.
You're a retarded web monkey (Score:3, Informative)
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)
Re: (Score:2)
Also, take advantage of internship and cooperative education opportunities while you're getting yo
Re: (Score:2)
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
Re: (Score:2)
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)
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
Re: (Score:3)
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
Forget about it (Score:3)
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)
Webdevelopment is development (Score:4, Interesting)
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.
You shouldn't be in a 4-year university program.. (Score:2)
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.
Re: (Score:2)
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
Because a career isn't about editing HTML files. (Score:2)
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
Re: (Score:2)
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
Human Resources doesn't care what you know. (Score:4, Insightful)
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.
Free time (Score:2)
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
Signaling (Score:2)
Hang in there (Score:2)
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
School and Profession doesn't always match. (Score:2)
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
tech school (Score:2)
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
Meet people (Score:2)
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
Don't sell your interest short... (Score:2)
Wrong degree (Score:4, Insightful)
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.
Theory vs. Practical (Score:2)
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
It's not an either/or propisition (Score:4, Interesting)
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.
As a followup... (Score:3)
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
Re: (Score:2)
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
Independent Study? (Score:2)
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.
Digital Design (Score:2)
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 (Score:2)
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?
As someone who's done a bit of hiring... (Score:2)
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 (Score:2)
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?
Just get a bachelors degree... (Score:2)
Web Developer? (Score:3)
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.)
There are several answers (Score:4, Insightful)
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
You're already irrelevent (Score:2)
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
Information Sciences (Score:2)
Can you sell yourself? (Score:2)
For everyone else, a degree is important (well, legitimate skills are important regardless). I work for a
Do exactly what you want, but consider carefully (Score:2)
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
so you want to be a "web developer" (Score:2)
Perhaps you don't need a degree (Score:2)
More to being a web dev (Score:2)
A Lot of Bad Advice Here... (Score:3)
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.
Re: (Score:2)
Mod parent up.
I expanded your comment because I read the title and thought you were another one of those "i don't need no skool" morans!
But, that wasn't the case. This is exactly the answer people need.
Re: (Score:2)
Sounds to me like community college is the route for you.
Computer science is truly the understanding (and development) of the underpinnings of computers - algorithms, data structures, etc. Web development is pretty much the USE of what CS has conceived - asynchronous requests, threading, programming languages, etc. If you truly don't care to understand the why and how of what you are using, and only want to know how to use the web language and library de jour, then I agree with you that a CS degree is not for you.
Agreed, if all you want to do is be a web developer, a CS degree is not going to get you there any faster than if you did self-study or got an associates degree in programming from a community college. If you see your CS classes as a waste of time and not getting you closer to your goals, then you're in the wrong major.
CS is not meant to prepare you to be a web developer or business application developer any more than mechanical or structural engineering prepares you to be a carpenter. If you want to be a carpenter, don't get an engineering degree. If you just want to be a programmer (and there's nothing wrong with that - it can be a lucrative career), don't get a CS degree.
Re:I call troll (Score:5, Insightful)
Seriously the dude who wrote this question just needs to hear: You're wrong. Just wrong. So wrong. Keep on keeping on because you don't see what value it has to you, but it's significantly more than you clearly have any idea. You're wrong, the end.
I have no degree, I had to study so bloody hard to get these fundamentals over so many years that I wish to death I had just got the stupid loans and done the stupid CS degree. I screwed the pooch and made up for it the hard way, don't make the same mistakes.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I respectfully disagree. I think the career experiences you gain after university can take you in many different directions, and with CS especially you have options in many different fields (far more opportunity to move around from CS to something else than from Aero to CS). Straight out of college, the Aero or MechE degree isn't going to get you a job as a software engineer at Google or Facebook. It may get you a job "programming" somewhere obscure, but you're going to be hard pressed to find a top-tier em
Re: (Score:2)
He's doing the opposite of romanticizing education. He's reducing it to what it really is for most people "a rite of passage". It's a rite of passage necessary for geting a decent paying job with most companies. Your degree doesn't even have to necessarily have anything to do with your job.
If you wanted to "go lighter" with the CS degree, you could switch to the business college (depending on your institution) and diversify your education a bit. You could also focus more on fine arts or just plain switch to