A Question of DegreePublished 12 years, 4 months past
I recently found myself asked for advice, which feels odd even at the best of times, and this was (it seemed to me) of a particularly serious nature. I’m curious to know what you think is the proper answer.
A few days back, I got e-mail with the following questions:
…in your opinion, how useful is a computer science degree for a career in web development? I’m a second year CS major, and considering dropping out because I don’t see the value in it anymore. It’s just taking away my time from learning and doing what I love most–developing web apps. Will dropping out hurt me later on?
I chewed on it for a day or so and then ended up writing the following in response:
I wish I could give you a definitive answer, but the honest truth is that I’m conflicted. I’m not the only one, either: a recent survey of 26,000+ web professionals indicated that just over half felt their education had some relevance to what they do (http://aneventapart.com/alasurvey2009/#roe).
To use myself as an example, I got my degree (in History, as it happens), but that was before there was such a thing as a career in web development. The same is true for a lot of the people I think of as contemporary to me; that is, people about my age. Almost none of them have CS degrees, and many don’t have degrees at all. I got my job as webmaster of a respected research school because I worked there already and nobody else had ever heard of the web. I doubt very much that, were I just now exiting school and entering the market, I could do anything like that.
On the other hand, I will say that in the computer field in general, and web in particular, very few people seem to care what degree you do or don’t have. But here’s the rub: these days, it might be that having a CS degree is what gets you that first job or two.
On the other other hand, if you build some killer web apps, nobody will care about your schooling. They’ll care about your portfolio. I don’t know if that lies in front of you, of course. Maybe it does. Or maybe it’s a good idea to finish schooling so that you’ll be paper qualified for jobs that say “Requires CS degree or equivalent” if you need to seek them out.
So, to get back to your original question, “It is unless it isn’t” is about the best I can do. As someone who values education very highly and knows a degree can be an asset in job-seeking, my instinct is to tell you to finish your degree. As someone who has a lot of contact with successful people who didn’t do that, my intellect requires me to say it’s not critical.
A day past when I sent it, I still don’t feel any less torn. (And in re-reading what I wrote, I can see my indecision in the writing: scattered, whipping from one side to the other. Man, did that one ever need an editor!) I don’t really need to know what people think of what I said, but I’m really curious to know what you would advise this young person. Leave your thoughts in the comments, if you please, and I’ll make sure word of your input gets passed along to the student who wrote me. Thanks!
Addendum 12 Nov 10: please see “Degree of Influence” to see how things turned out.
I got the same email and fired off a quick/short response on my phone. I wrote.
I guess I should have qualified valuable to the employers that I know and mix with. For them (and me) enthusiasm and a willingness to keep learning are what matter.
Precisely: It matters if your target career requires it. Some jobs do – if you want to work in computer science at a national laboratory, you need a CS degree, and preferably a Ph.D. If you want to work as a web designer, maybe the computer science degree is overkill. (But it probably wouldn’t hurt.)
FWIW that seems like good advice to me. There are few fields in which an impressive “portfolio” (or equivalent) doesn’t trump a degree, but especially when you’re starting out, there are times and places when a degree might help.
One of the most difficult parts of this remains that there are people who don’t understand the difference between someone who can use FrontPage and a real web designer/developer.
I think a computer science degree is still useful and relevant to web applications, you may not actually be learning web development but you’ll learn a lot of foundations that will serve you well in that field. Many more advanced web engineering jobs still require a CS degree. But perhaps a degree in cognitive sciences or human computer interaction (HCI) would be more marketable these days, and more appealing to someone interested in building web apps.
Never pass up an opportunity to get an education — that’s why I read your blog.
If nothing else, get a degree in Liberal Arts. Seriously, BS in Liberal Arts. Read and take reading seriously. Study a little art and take it seriously. Study a little music, a little math a little science, ad infititum. Take some courses in business, management, art, design, architecture, ….. Take a freshman level engineering course and a geology course. Get as broad a spectrum of education as you can pack into a BS of Liberal Arts.
I have a degree in Chemical Engineering. The things listed above are the things I didn’t learn while I was in college. Everything can be applied to web development.
I don’t really think what degree you get matters so much, so long as you get a degree. Getting an undergraduate degree is more a qualification of your ability to focus on a specific topic in a directed course of study and communicate your learning to others (lest you think education is all about what goes into your brain, and not what comes out).
My Bachelor is in Physics. What I thought I was going to learn (the math and the formulas) doesn’t apply all that strictly to my work on the web, but what I actually learned — what I still remember a decade later — is how to educate myself on a technical subject and get other people excited about that technology.
My advice would be to stick with it, because it doesn’t matter what the degree is (as an undergrad, that is). What matters, in my opinion, is that you stick with it.
Eric, I couldn’t agree with you more.
Pretty much all of the CS degrees I see have very little to do with the web. There might be one or two courses in there that cover web-related topics, but that’s about it. I currently teach at a community college (we chatted at AEA Boston) and we have an associate degree in Internet Professional (a slightly silly way of say AA in Web). The problem some students face is what to do next — there is no place to transfer to, at least not a web program. Their choices are to transfer into a CS program, or simply look for work. Most of them just look for work (beginning with freelance, intern, etc.). Building up a portfolio of real-world work seems to be the key for them.
And, like you, I have a humanities degree. An opportunity opened up at the company I was at and I became a web guy.
So, no, I don’t think a CS degree is necessary. However, I think a degree is good, then couple it with real world experience. As you said, maybe a CS degree gets you that first job and opens those doors.
I did a software engineering degree, it was utterly pointless in all by one aspect.
It was a sandwich course, and my 1 year placement got me a job at a education studio doing their websites and interactive media.
Once I had a years experience in the industry I decided to stay on at the company for another year and ditch the degree, unpaid, using my student load to fun this.
After 2 years experience, I had the equivalent qualification as a degree. (In the UK they generally ask for 2 years experience, or a degree).
This then allowed me to interview against people in a similar boat to me, except i already had 2 years industry experience of real world design, the actual experience was more valuable to a company than an actual degree, and it got me another job quite quickly.
My advice would be, if you are thinking of ditching the degree, make sure you have some actual work experience, even volunteering at a local web studio for free. You enthusiasm wont go unnoticed and should help you get a job sooner rather than later!
Many of us are undecided on the value of the degree. But when I’m hiring, I look for designers from design school, and developers with degrees. Why do I do that, if the degree doesn’t teach much? Because smart people go to university. I know university doesn’t make them smart, but smart people go. It helps me cut 2000 resumés down to 100 – and it works.
On the other hand, if you’re struggling with the CS major, and want to quit, then you probably need it. Getting the hang of the hardest bits can be surprisingly useful later on. Architecture patterns, advanced mathematics, and logic are invaluable background principles, even if you don’t think so at the time.
My answer? Stick with it. You’re not wasting time – we’ll all still be here in two years. Enjoy it.
It seems this person feels sufficiently prepared to start working so the need to go on to get a degree in order to learn is diminished. With the right skills I’m sure getting a job would not be impossible but I’d agree a degree may set him above the rest and make him more employable in the short term.
My issue if I was the employer is to his decision to leave his degree, does doing so indicate certain personality traits such as an unwilling to complete a task, laziness, lack of comittment. Is he unlikely to stay in the company long term; instead always looking for the next opportunity?
A Computer Science degree will never hurt you. If that person enjoys it, keep doing it.
There is a certain rigor that comes with studying CS in an academic setting and it will serve him/her well in the future. Is it different now then it was in the late 80s/early90s when things were new? Sure. Is it still good brain practice, yes!!!
My advice…Keep building the web apps and keep going to school.
I graduated with an Economics degree and I’m about the same age as you, Eric. I did take many many CS classes though — enough to have an unofficial minor — and they helped me SO much. I truly UNDERSTAND how this stuff works. That’s helped me get out of a jam many times, makes me a better developer, consultant AND designer, and yes, it helped me to get my first job in this field. I had to beg for this first job, and it was also because I could write and edit, however, the CS background allowed me to figure things out on my own pretty easily. This job was programming CD-ROMs, which let to becoming the webmaster, and yes, I taught myself. Yes, that CS education came in real handy.
I graduated college in 1996 with a degree in music and promptly got a job as a “webmaster” (as we were called in those days) because I’d been dabbling with HTML and Photoshop in my spare time for the final 2 years of college. Back then, of course, a degree in web development was impossible, but at the time it was clear to me that the material being taught in CS, at least at my college, had little practical value.
I’ll reiterate what others have said: a portfolio is far more important than a CS degree in this field, and you can build one in college even if your degree is in another field… I did! I got some media attention for, of all things, a Saturday Night Fever fan site I built in 1995, and that was the key.
I still think a degree is valuable though… but a liberal arts degree. The trait most lacking in a lot of web developers is the ability to relate with clients/non-techies and a non-technical degree is a great way to counter that.
This is something that comes up quite a bit lately. Much like yourself, I’m torn and often straddle the fence. I have no college degree whatsoever, but I’ve been building websites and web apps since the early days. I even landed a long-term contracting position with the US Dept. of State back in the early ’00’s and built websites and web applications for them that are still being used today.
For me the necessity of a degree in CS for building websites and applications is debatable, although it certainly wouldn’t hurt. However, I will not debate the value of a degree in helping you rise to the top of that résumé stack on some HR person’s desk. This seems to be especially true for more development- or programming-oriented positions.
The simple answer is that there is no “simple answer.” Only you can make the choice of what you want to do with your education. But, given today’s job market, it would be advisable to stick it out or consider changing your major to something more suitable to your interests.
I went into college in the late 90s knowing that I wanted to work on the web. The available courses at the time were still pretty scattered across the spectrum, and there was no single school or major at my university that really met all of my educational desires. But education as a goal in itself is still definitely worthwhile. I use things I learned across a number of different fields in my work every day:
– normalizing databases and object-oriented programming from computer science
– interface and interaction design from both print design and graphic design courses
– writing and editing from creative and journalism writing courses
– history, math, logic, politics and critical thinking from general education courses
There’s a small part of me that regrets being in school during that first bubble instead of experiencing the highs and lows of that first rush of Internet euphoria in the late 90s and early 2000s. (Especially when I had to work at a bookstore for the first year after graduating because web jobs had dried up after the bubble burst.) But the things I learned come in handy even though my degree doesn’t say a thing about the web. I started out in computer science, but ended up with a BS in media arts and design with minors in computer science and technical writing.
My advice to the student would be to learn as much as possible in a number of different fields (writing, design, programming) because on the web, it all comes in handy at some point. The specific degree doesn’t matter nearly as much as the experience and knowledge you gain along the way. (And anything he or she builds extracurricularly is leaps and bounds better than anything learned straight from a book.)
I’m a little bit younger. When I was in highschool there was a world wide web. I started learning it then, before the Dot-Com Bubble burst.
Once I graduated I started looking into a CS degree as well. I went to the local community college taking classes toward one. I think it lasted about two terms before I realized I would rather be doing websites and this wasn’t going to help me any. So I quit college and began to freelance more (I had been doing the odd freelance job since a junior in high school).
I was raised to be self-taught so striking out on my own wasn’t really difficult. Starting early enough allowed me to build up a bit of clientele while still living at home and not worrying about bills. In addition, at the time, there were no great web courses around. Though I wish I’d taken some art/graphic design classes.
I’ve never really been enthralled with working for another company as their web grunt. I love freelancing.
All of this goes to say, I think it’s very subjective from person to person. Especially: where do you want to work? If you’re looking to be hired by a non-industry entity, I bet they want you to have a degree. My local university is hiring for a few web related positions and they favor that. But the web company I did a one-year stint for couldn’t care less.
If you want to be self-employed or work with like-minded people or companies, I don’t think a degree will help you in getting a job. It may in other companies.
It definitely won’t hurt to have one, aside from time “lost”. I’m the first to say a piece of paper degree isn’t always necessary out here in the world, but I would be very slow to advise a stranger, not knowing their situation, to drop out of school.
From what I’ve heard there’s a lot more to college than just the diploma. I missed not only the “college experience,” but also the wide array of knowledge that comes from all the other classes.
That’s what I have, off the cuff.
I don’t believe the degree itself is of lasting value, but I certainly received a lot of valuable education while working for my CS degree. Being able to dive into the backend code of a web app has served me well in my web design work too many times to count.
I’m certain that I’ve never been selected for a job based on my degree though. If you’re very good at self-directed learning, you’ll get a better return on your time investment going that route. However, most people are not very good at self-directed learning, particularly at 20 or so. I generally recommend to young people to stay in school, but a driven person in their late twenties should probably just visit Amazon.
This is a tough one. I always have to sit and think a while when filling out the AEA survey question about whether my degree was relevant to my work. It was and it wasn’t.
My degree was in Biology, and I went on and got a Master’s in Biology before the web took off and I switched fields. I absolutely wouldn’t be where I am today without those degrees. I also learned nothing about the web from them. What I learned was how to learn, how to think critically and creatively, and how to evaluate the work of others. Also how to write, and how to love the little technical details.
At my institution, we never consider hiring anyone without a degree. The subject of the degree doesn’t matter, but the attainment does. (Granted, I work for a university so education is highly valued.) But I would say that a degree is highly worthwhile, just don’t look at it as a training program for your future job, which may not even exist yet. Look at it as learning the fundamentals that you will need to have a good grasp of in order to succeed in any future endeavor you decide to take on.
It comes down to what type of web apps you’re going to be developing.
If you’re building anything of reasonable complexity, such as a new search engine with it’s own search algorithm, then a CS degree is certainly necessary. Also if you’re building a large scale enterprise class system, a CS degree would help in terms of knowing which architectural/design patterns to use, which will be more scalable, how to make the system efficient etc.
If you’re just building blogs, then no. Anything in between, well that’s for you to decide.
I would still say a CS degree is useful in either context, because of the general fundamental knowledge and understanding of computers and programming it gives you, helps you to make the right decisions. You’ll probably never need to write your own Heap sorting algorithm when developing a Ruby on Rails application, but that understanding of sorting algorithms will come in handy for when you need to find the best way of handling large sets of data efficiently.
I see it this way: no, you don’t need a CS degree to be a web designer or developer.
But if you look at the people who make the tools (e.g. TextMate, Cappucino, Atlas… ) or the people who pick up a new language quickly (Objective-C for iOS development as a recent example); they are probably the ones who have a broad background — a common way to achieve this background is a CS degree, but it’s not the only way.
So maybe having a degree is a big advantage later on… because of your education (not because of the piece of paper to land you a job, you can land a job without).
4 years in your career without a degree you’ll have a lot of experience [depending on your job]. 4 years in CS you’ll have a lot of experience [depending on your course, school, motivation]. But it will be a different kind of experience.
A lot of people in our industry — including me — have a unrelated or no degree at all so we tend to UNDERvalue a degree.
I’m a self-tought web developer who got a job as a dev after being made redundant from my job in science (chemistry based). My degree doesn’t really help in my actual role now, but the fact that I have one (and other work experience) helped me get my interview.
A degree might not get you a job anymore, but it will help you get through the door in the first place.
I’ve been a web developer for about 6 years, and often wish that I’d got a CS degree along the way. For front-end stuff I don’t think it’s all that important, although a degree helps with job hunting if you lack proven experience, but it’s in the depths of application development that I think ‘maybe I could be doing this better’. Being self-taught is very rewarding, but I think I would accept things like design patterns a lot easier if it had been drummed into me in an educational environment.
I’m not sure a CS degree matters but there are more and more ‘web offerings’ appearing that will teach specific skills such as PHP development.
A degree is a useful thing to have when looking for in-house jobs where as being self taught and showing what you can do will help freelance or setting your own business up.
I think one of the main problems is there is not real link between students doing CS or Web Design/Development degrees and the industry.
Not all conferences provide affordable student tickets which means that an entire network opportunity will go missing as events slowly turn in to gatherings of friends instead of meeting new ones and learning new things.
…I would also add to my previous post that a lack of understanding of CS fundamentals can lead to obvious mistakes and bugs when developing web apps.
Recent example, I had to explain to another web developer how static variables worked, his lack of understanding meant he had used them in a way that led to bugs in the system. He thought they were static per user, instead of static for the entire app domain, meaning data that was suppose to be unique for each user was being shared for all users. I’ve seen “web” developers send objects into methods which would modify those objects, and not understanding how they could be modified outside the method, so I had to explain Value vs. Reference types and the Stack vs. the Heap.
So I guess my position has changed slightly, I think a good CS degree IS important for web developers, if you’re going to be developing anything reasonably complex (anything more than a simple blog).
While having a degree may or may not be of consequence as a career progresses, I would consider the thought of potentially having to explain at early interviews why I didn’t finish my degree.
I believe that whatever the prospective worth of the subject matter, the achievement of a qualification in higher education shows aptitude and commitment to following a project through to completion.
After all, the vast amount of projects that we work on can be effectively likened to a dissertation or final project.
This past weekend, I attended the Iowa Code Camp and participated in a session that discussed the topic of how to build more relevant degrees for computer major in general. The participants included designers, developers, educators, and students. The general consensus was that degrees are valuable; however, the value lies in the non-computer related areas.
We all know people who are successful that do not have degrees (or unrelated degrees). The differentiator always is the skills that don’t directly target the field of study. Interpersonal, communication, writing, research, math, logic, etc. have very large benefits in almost every field. These areas seems to always be where a good developer shines more than a very skilled developer.
I graduated in the summer of 2009 from a degree in Internet Computing, from the University of Hull, UK. I feel that I didn’t really learn anything technical that I wasn’t already discovering on my own. I’m primarily a self-taught web designer and developer. I like to learn and keep up to date with all of the latest technologies in the web world, and I don’t think that my university course was up to the challenge of keeping pace.
Was it a worthwhile experience? Definately. I launched my career in to the web world through contacts from within the university and have had the odd project crop up from it. Everyone is different, but for me, the course helped me grow up as an individual. When creating arguments for or against a subject in the web world, I will take a better approach as I am now a more rounded individual.
On paper, a degree looks pretty sweet. A lot of job opportunities specified the need for a degree. Without this, a lot of recruitment agents wouldn’t even consider you, no matter how good your portfolio is; because they need to tick off a set of criterea.
I think can somewhat be regarded as a bit of a status symbol. Distinguishing yourself from “just another kid with photoshop”.
I seem to be looking at this from the opposite side to the other posters. I don’t have a degree but have been working for a web development company for four and a bit years now.
I think that although I’ve learned a lot I do sort of wish I’d got a degree before starting work here because sometimes I think that if I ever do decide to move to a different company I’d find it difficult because I don’t have a degree to put on my CV. Hopefully a good portfolio and quite a lot of experience would make me more employable even without a degree, but looking at most of the development job ads I see, people ask for a degree (I’m based in the UK, the US could be different).
I don’t think I could go back to being a student now so the only option would be to do a degree part time whilst working full time which would be very difficult and when I enquired about it in the past, costly.
I have a BA in MIS and work as a web developer. If I had to do it again, I would get a degree in anything and along the way learn every language I could cram into my head. With that, I could do anything I wanted.
It all boils down to communication. How effective at it are we and how well can we do it in a flat world? Nail that, and the world is at your feet.
Getting a degree matters. Added value matters more. What makes you stand out?
As someone who has to make decisions on hiring and firing, I can wholeheartedly agree with Michael A. Smith’s comment. It’s not really about the program you choose and if it’s relevant to your chosen career, it’s more about being able to finish something. Your degree is proof that you can make a commitment and stick to it. Honestly if I were back in school going into CS, I would pursue a Philosophy degree with a minor in either History or Business, and code like a madman in my spare time.
Even if you’re a gifted programmer, don’t assume you’re special and that the rules don’t apply to you. You’ll have to spend quite a bit of time backing that up in the real world. There is also the frustration later in life if you choose not to get a degree. Believe me, it will haunt you.
10 years ago I graduated with a degree in Telecommunications Management and a minor in Computer Science. I started at Ithaca College to pursue Audio Production in the Television & Radio major, and took the option to switch into Telecom Mgmt Sophomore year (splitting the academic parts of TV-R with Business Management from the Business School) having worked a summer and part-time at an ISP.
The minor in Computer Science was absolutely useful while being totally impractical. I’d dabbled in Microsoft’s ASP and coded web sites in part time jobs –practical– and in CS I learned C++ and Oracle and made little console/terminal output programs or games –impractical. (I actually had to learn Python for a Programming Languages overview, but this was before it was cool.) But I also learned database theory & relational database design and object-oriented programming. I worked alongside classmates on projects.
Being a CS minor, I didn’t need the math requirements, which is something to consider. There’s a lot of academic material for a CS major that isn’t so practical.
Prior to graduation, I had landed a job as a Software Engineer in an Interactive Agency. I think my coursework helped, but I probably had less opportunity to get involved in projects outside of school back then.
I’d say: Stick to pursuing a degree in something. Minor in CS. You’ll learn plenty without spending all your time and money on it. Switch your major to Communications, or Marketing, or Management. English, History, anything. You’ll be faced with the same things to evaluate: Is this really practical? But you’ll have exposure to a lot of topics that will help you, and you’ll have a degree.
You might not spend your whole career as a programmer.
I would say if you plan on working for Corporate IT then get the degree. It is required for most large IT shops before they can even consider hiring you. As knowledgeable as the student already appears to be, he probably won’t get much from it. The better choice for someone like him in this situation would have been to get a ‘fast track’ degree of some sorts for half the price/time just to fill the requirement of having a degree for corporations to hire him. He probably knows more than most his professors.
On the other hand, if the student has no desire to ever work for a large IT company and plans to work for himself, then I would suggest changing majors and getting a degree in something other than IT (like business, marketing, etc.). THEN at least you might learn something useful you can apply along with your technical skills as well as have the creditability a degree provides.
(Note: Since the original question suggested he wanted to build web apps, I’m approaching this from a backend developer viewpoint. My answer might be different if he wanted to do frontend dev.) Assuming he still plans to get an undergrad degree of some sort, is there something that interests him more? If so, he should do that. If not, stick with the CS degree. In my opinion, my CS degree has served me very well. Did I learn web development? No (though I did get into web development because the CS dept was attached to the Internet Services dept). Maybe I’m a purist, but I don’t really expect a CS degree to teach someone about web development; it should teach the foundations – algorithms, languages, data structures, logic, discrete math, etc. With that foundation, one should be able to move handily between languages because the foundation is the same. One should be able to algorithmically solve difficult problems. Knowing data structures helps break down an app into the appropriate digestible objects/units.
Another thing to keep in mind: I see a lot of job postings for web developers that require a “B.S in Computer Science, IS, or similar field.” This, of course, doesn’t happen often in the startup world, but is more prevalent in the world of academic, science, and corporate entities.
I’m an entirely self-taught developer, and I feel that I would have benefited greatly from a formal education in computer science. As it is, I’m having to pick up and teach myself best practices along the way.
I’m a 32 year old Senior Developer. I have a graphic design degree that I use, WHEN DESIGNING, and it gives me a clear advantage in many ways. Design is extremely subjective, and everyone (talented or not, formal training or not) will have their opinions. Yeah, there are wrong ways to do things, but there are more ways to do the RIGHT thing. Having a degree validates the words that come out of my mouth when it comes time to argue Marketing or Advertising “opinions”. Oh yeah, and it’s made me a better designer.
Depends on your target industry. In federal government contracting, it is required for most jobs (CS or equivalent, that is). You can get entry level stuff with less, but then it’s just entry level. It is also important once you start talking money. Undergrad has value and grad school has more value. And that difference in value can be significant.
I say you are limiting your career options without a degree (especially in THIS economy, as some like to throw around). If you are a rock-star and can build the next Facebook, then I say more power to you. If not, get your butt back to school and do your time, or lose out on jobs to those who did.
Better yet, get an entry level job while still in school and get an employer to pay for (at least some of) your school.
I think the folks responsible for hiring, you know… “business people,” still value a degree very highly, despite its relevance to the job. I think erring on the side of paper-qualified is the right idea.
Now whether or not CS is the right degree for web development.. that’s a different question.
I’d say “get it.” If you’re already in your second your, just tough it out and have that piece of paper. As a self-taught web developer, there have been a couple of pivotal moments in my career where that degree would have been helpful (getting a visa to the States for example.) And believe me, when you’re ten years into your career, with a family and other obligations, going back to school to get that degree is a whole heck of a lot harder, if not impossible.
Yeah people are constantly asking me this question and I usually tell them about the same thing. I have a psych degree, and taught myself web dev, and although my degree is completely unimportant next to my portfolio, I don’t think I could have really gotten started properly without those 4 years of (now meaningless) education. We keep our “buns in the oven” longer these days, undergrad is basically what high school was 40 years ago…
And yes you hit the nail on the head with it probably being important for your first job…I sort of stumbled into it with a lot of luck.
I am just now finishing my CS degree (part time student) after being in web development for more than 8 years. Sure it’s an added strain but even if you do not need it right away for your first job, you never know when having that degree might come in handy.
I wouldn’t recommend dropping out of an almost finished course… that way all the hard work that already went in it is wasted. And never pass up an opportunity to be educated!
I have a BS in Computer Information Systems with a concentration in Web Design. Honestly, I learned more about web development from my first job than I did in my college years. Some schools don’t have up-to-date information when it comes to web development/design. They show you the very, very basics of only certain topics. I wish that more schools incorporated things like Information Architecture, Web Standards, Content Strategy, Usability, User Experience, User Interfaces, etc.
But I guess to answer the question, if you have enough experience and a really badass portfolio that can get you by without a degree, then go for it. Otherwise, a degree wouldn’t hurt. Just realize that you’ll have to do your own research either during or after you graduate to get you more current.
In a nut shell the answer is its useful but not optimal, you would use some of what you’d learnt on a vanilla computer science degree but would never need 70% of it.
In the modern day there are specialised courses and degrees focused on Web Development in its own right. They should give you the same basic principles of programming/development or “computer science” but would then focus those on how they are relevant to developing for websites and webapps, etc.
My major was Instructional Technology and Telecommunications, in which I did an emphasis on web design, but really didn’t learn anything that I use today. They didn’t even teach CSS!
If the student is going into web development (not design), I would say to complete it.
Every language I’ve been presented with has had its own challenges. Every language does things differently. However, I’ve never had a problem developing in a new environment, because my CS degree taught me how to think like a developer. It taught me about data structures, and so I can understand that a PHP associative array is similar to a Perl hash and kind of (but not quite) like a simple JS object. I can discuss the efficiency in nested looping or searching algorithms. I recognize patterns and can think abstractly about development issues.
While I may not necessarily use some of the finer details of the degree all the time, it taught me invaluable analysis skills, even if I don’t realize it on a day-to-day basis.
When all you have is a hammer, everything looks like a nail. When all you have is self-taught knowledge in one programming language, all you have is a hammer. The degree is worth it. :)
CS helps web development when html5 and css3 become the main stream of the web: multimedia, networking and os help – without cs study, I won’t pick up web socket, web worker, canvas, css3 transformation in a short period of time.
Things are usually connected in a form that you are not expected and Knowledge is important, and the time of university is the best time to learn.
that’s the whole problem, and not only in the US, i’m living in Belgium and the education for webdesigner is non-existent, graphic designer, yes, and web-developer, i have the feeling the’ye allways a year behind, that’s a long time in webdevelopment.
I got my degree as carpenter (!) and interior-architect, i started webdesign in 2005 when i bought my first pc, allmost everything i know is not-taught in school and courses, but by the time they gonna ask for a degree in this, i have a problem for my degree isnt ‘big’ enough. i should say, go for a degree in multimedia or marketing, that could come in handy.
I currently work at a university and come from a family of academics. Here’s the deal: an undergraduate degree is about completion, not content. In many fields, people don’t care what you received your degree in, only that you complete a degree. My advice? Finish your degree as quickly as possibly while doing as much freelance work as you can on the side. You will wind up with a degree, a portfolio and a whole host of options.
Also, Computer Science, Computer Information Technology, Software Engineering, Computer Information Systems and others are all completely different things. Find a program that concentrates on what you want. Don’t be mad when your database admin heavy curriculum doesn’t help you build a CMS from scratch. The days days of my grandmother saying “He’s in computers” are over. Specific is terrific.
James Eggers, Jen, Mark, and Nicole hit on the right idea of walking away with something other than a CS degree at least, in anything if they really know that a degree in CS is likely to be useless. Talk to a counselor at your school about how you can get a degree in general studies at least. If you’re good at math or English or whatever will be easiest; go with those. If you are money motivated; business or economics might be a good choice. The US government is broken, so I would suggest that you consider your sense of civic duty.
I don’t know for sure, but I would say CS more than any other field advances at a faster constant rate, so you will always be needing to learn CS after you won’t be getting any college accreditation.
For me the best Web Developers come from diverse backgrounds and usually not from Computer Science. I spent 20 years as a Studio Craftsman before I started building Websites 12 years ago and much of what I do now still refers to those many years defining user experience with handmade objects.
I would say that much of what you would learn in a traditional CS degree program would be useless to a career in Web Development. That said with the current trajectory going more and more towards Mobile there is stuff that you would learn in a CS program that would be useful to developing mobile apps. (think objective C and iOS).
The problem i think with Universities is not adjusting their curriculum to match what the industry requires from developers. I have learnt more about Web Development after University than i did in my 3 years. It helps though when you have a degree to get a job but a portfolio is still necessary.
I do hire developers on occasion, and a CS degree is a plus point for me, for certain roles.
A really good portfolio will generally trump a qualification. However, if you have the CS degree, it shows me two important things.
The degree shows that you can learn, and persevere. In the last year you also tend to be able to focus on things that interest you, so it’s a really good time to start on the portfolio!
The second positive is that it shows you have a good grounding of CS principles. I’ve had bad experiences with ‘cowboy’ developers when it came to robust and scalable code. That doesn’t mean someone with a CS degree won’t be a cowboy, but those experiences tended to be with people who picked up coding independently. (I’m thinking of programming jobs here, it doesn’t apply to front-end code.)
Of course, it does depend on what sort of role you want later, if it is more analytics (e.g. Business Analyst), or front-end, a CS degree probably won’t help that much. But in general, I’d stick with it.
The beautiful thing about the web industry is that is doesn’t matter where you go to school, unlike the legal and medical professions. It’s entirely possible to build your web development career by doing good work. That being said, most companies want to see that you had the tenacity to finish your degree. If you want to work at a company like Microsoft or Google you’ll need a degree. If you’re focusing on being a developer, you’ll be better off getting the Computer Science degree. Even the best web developers could use a little more Computer Science rigor. While you’re in school, take the opportunity to learn about design topics like typography, color theory, gestalt. You’ll be a better web professional for it.
It’s my experience and observation that degrees alone are not predictors of success. Most web job postings I come across, even those with degrees listed, say “or equivalent experience.” Experience and a portfolio, in this industry, really seems to trump university education.
That is in part because the degrees rarely do well at preparing students for the jobs. It’s rare to find a good curriculum for web design or web development. Rarer still for front end web development, user experience design, user interface design, web application programming, or some other variation of job title. I say “rare,” but I’ve never come across one I’d be willing to invest in, period. (I only have my A.A.!)
I’ve long felt that this is due to a high level gap in university structure. There is the Science & Technology department, where you can learn about computers and programming. Then there is the Art & Design (sometimes “Humanities”) department, where you can learn about art and design . These departments are on different sides of the campus–usually the complete opposite side–because they have traditionally been considered unrelated.
Enter the web. In my opinion, the web is an industry where art and logic merge and cannot be effectively separated. You can learn about art and design. You can learn about programming. Separately. And you can successfully bring these things to the web — if you are willing to understand the web as the unique medium it is. It’s possible.
However, the curriculum itself doesn’t do that. It feels irrelevant. Computer science hasn’t changed in over 10 years. You want your career to be in web applications development. But I bet you can tick off the things you’ll learn in a CS program that are directly related to web apps without needing your toes.
That sucks. The programs are outdated. And if your aspirations lie in the web, I would go so far as to say they are ineffectual and unfocused.
The pros are that it is education. It gives you a foundation. It gives you practice. It trains your mind to concepts. It’s like exercise for the brain. University degrees aren’t really supposed to be direct education in a specific trade anyway! When I keep that in mind I can see points of value in a degree.
For me, however, the most compelling value isn’t education per se, it’s PR. If you are going into web development CS or IT is a good choice. Same with Art or Graphic Design for web design. Business or Advertising for online marketing or social media. They are not exactly great foundations for your first web job, no. But I suspect you will find it easier to deal with future bosses and coworkers.
I’m self taught and I stand right in the middle. I’ve always called myself a web designer. Evidence suggests, however, that programming folks tend to see me as a creative person while design folks tend to see me as a code person. It can be frustrating — because I love them both and want to bring both to table.
Another point to consider is that the jobs themselves are often split sort of like the University is split. Information Technology has certain web employees and Graphic Design has certain web employees (often under the PR director). The structure of many corporations is as outdated as the curriculum. If your aspirations are more likely to land you in the IT dept, your degree will help you present the right appearance.
Plus, “portfolios” can be tougher things than anticipated. Some prospective employers won’t even look at them. Once you start working full time you may find that little of what you do at work is portfolio-able and that you have little energy to work on your portfolio when you’re running errands, cleaning, and having a life in your few off-work-and-awake hours. (My first couple of jobs haven’t been quite in the right niche and it feels to me that it has become more difficult for me to get a job in my niche, not less.)
There are plenty of cases where what I’ve said doesn’t apply. There are companies that value education over a portfolio. There are schools where you can get a decent education that does match your career aspirations. There are web companies that established themselves in the new industry and don’t have an archaic department/job role structure.
But it is so often the case that we don’t have the whole spectrum to choose from — only the bits in our reach. Like the schools in our state where we can get in-state tuition and scholarships. Or the businesses in our area (near our families and friends) which have entry level job openings that are sort of close to what we want.
Anything you can do to make it clear that you’re qualified and you have the passion is a good thing.
That said, I skipped it. Though I feel more inclined every day to go back for Graphic Design…
So what I think it comes down to is getting the initial interview for your first ‘real’ job. Honestly, I personally don’t even look at what a person’s degree is until I have already decided if I want to call them to interview or not. It is much more about what you have done previously and what apps/wireframes/widgets/whatever you can show us.
Doing it all over, I would take a couple of theory classes and spend those years building web apps and going to a few conferences. Yeah, it will take you a couple of years to get to where I would want to hire you, but you’re already looking at 4 years in school. Spend those 4 years doing the work you want and by the end you will have something to show a hiring manager that will get you in the door. I will hire a portfolio of web apps over a degree every single time.
Caveat: This all assumes you are looking to do developer work. If you want to design, add in some art classes. If you want to write java that drives a web app, go get a CS.
Maybe the degree is of debatable value, but the education is not. You can learn Dreamweaver and call yourself a web developer, or you can really learn the fundamentals of programming languages, networking, and operating systems and apply all of this to web development. The is the way to go if you’re in it for the long haul.
Back in the dot.com boom we had a bunch of students that learned PHP and then dropped out to take a good paying job. Within a few years they were all unemployed. The lucky ones were back at school finishing their degree. Don’t sell yourself out for the quick buck. Invest in your future and complete your degree.
I’m currently studying Systems Engineering (which, at least in my country, is a career that is closely related to almost anything technology-wise [programming, optimization, IT, etc.]) and I’m a freelance web designer and developer. I have to say that I relate closely to this post because for me it’s really hard to chose what to really do.
My career hasn’t been a total waste – I learned basic programming skills and database theory with it, but that’s it. It’s been 3 years and the only thing I’ve learnt was database relationships, use of variables and looping, because everything else that I needed, I’ve learnt it myself.
I constantly think that my academic studies get in my way because it’s increasingly difficult to keep up in this ever-changing world of web design, because I have to finish my career. Ironically, studying in my University gave me my first job as a web designer, and all of them branched from there. As a freelancer, someday I’m gonna look for a job that has nothing to do with development of design, and there’s where I’ll need my degree (since where I live, it’s extremely hard to find a job as a freelancer).
I’m Senior Interface Programmer/ web designer at Coeus Solutions and part time freelancer as well, I don’t have any degree yet, I’m working in this field since 7 years and what I experienced is degree is required to get you on job and your skills will help you to stay in the market, in short degree is a gateway. My current employer doesn’t care about my degree (same with my previous employer) he like my skills appreciate them and hire me, now I’m working as Team Lead but I can see in Pakistan’s market there are lot of other companies who they care about degree rather skills… I think this is not only with Pakistan’s market but with international as well.
Asking the following question is one thing .. “how useful is a computer science degree for a career in web development?” And stating this follow-up is another: “considering dropping out because I don’t see the value in it anymore”.
Starting with the latter, according to our “2nd year CS major” he considers himself to be wasting his precious time in learning what are considered to be the most fundamental science courses required to do the math and begin understanding the computer way of thinking, which, eventually, would help us
– laying down better algorithms,
– understanding problems, devising better plans,
– managing better semantics, higher readability,
– designing better structures, and in most cases,
– targeting the right goals..
Instead of picking up a collective experience through the institutional steps of a college, I wonder if our “young”, (and I mean it, very, very young!) WEBDEV candidate has other ideas in his mind, such as switching to Math or History department, if not entirely leaving the school and hitting on the streets “suicidally”, that would be very unlikely substitute for gaining such a valuable basis covering a broader range of topics, thus, far more greater opportunities to catch on in the long run.
If he is “badly” looking for beginning his app development career, he should already have plenty of spare time to start learning such skills, provided that he already has the fundamentals, then, he can accomplish this almost in no-time, or he can wait for a year or two to see what other things and opportunities to pop up (and they always do!) then, catch the train from right there, instead of choosing to make a BAD TRADE and become a Facebook Bar & Baz developer, or a CSS3 Foo painter, or soem WordPress plugin implementer only for the periods they are valid and apparently popular, but just that, and nothing more, and not forever. Kind regards..
I’m the opposite of Andy, I only hire engineers, not designers. When I interview front end engineers, I test them on basic computer science principles such as algorithm complexity and error handling. If you don’t know computer science, you’d have a hard time getting a job as a front end engineer (certainly true if I’m interviewing you).
I get this question often as well. My advice is usually to invest the time and money you would have spent towards a degree on language specific courses, 2D design fundamentals, and lots and lots of reverse engineering, and building from scratch. Take on all those little side projects, and constantly look for ways to redesign or restructure them. Look for the flaws in your work, and figure out how to fix them. Also, maintain a presence with others in your field, both for the constructive abuse, and the advice. I am one of those who does not have a degree (and this career path didn’t exist when I started on it). However, I do draw upon my art school training for design basics, and rely upon the countless workshops, online courses, and forums that continue to support my code knowledge and best practices.
Most of all, I tell them that this is a career path that will require you to always be a student, just not in a traditional setting. That challenge is exactly why I love it.
Most of the classes in my comp sci degree were bullshit. I had been programming for years, so they really didn’t help me. I think that my early classes weeded insufficiently, so a lot of the later classes were still having to cater down to people who didn’t really belong in CS.
But there were a few classes that were extremely valuable – those teaching you about algorithms and data structures. Having a good grounding in these is absolutely necessary for you to be a good programmer, and it’s difficult to get the proper grounding yourself.
If you feel the CS major as a whole isn’t giving you much, you’re probably right. But first, seek out those classes over algorithms, data structures, database theory, and similar. At the very least, take those before you drop out. You’ll be glad you did later.
Here’s my situation:
I’m a philosophy major at school, and a web designer/developer after school at the office. I didn’t feel like I needed a lot of operating system theory and low-level memory management skills, so I opted for a major that would really teach me how to think critically and analytically.
Because I’m a self-learner, I know what I know about coding from personal study and practice.
So I’ll come out of school with a paper degree, which *is* very important, but without having to have sludged through a lot of CS classes that don’t mean anything to me.
I have found, when looking for jobs in the past, that many of them won’t even look at you without a CS degree or something similar. I also found that many of these people ask for requirements that make them seem like they have no clue what they’re talking about. How many different programming languages did you say you needed for this 10 page website?”
There isn’t going to be a clear cut answer for this. Some will hire someone with a degree over someone who doesn’t have one, others not as much.
I received my Computer Science degree in the late 90s. I mucked around with a little bit of web design, but not development. It wasn’t until about 6 years ago that I started working with web sites and doing some web development. Familiarity with other programming languages helped me pick up PHP very easily. Having a wide variety of programming projects (some I liked, some I didn’t) exposed me to some programming fundamentals that I may not have come across on my own or been disciplined enough to learn on my own. I didn’t take a database class back then and wish I had – while I’ve been able to learn some on my own, I would have gained a much better understanding and been pushed to get a better depth of knowledge.
A lot will depend on your own style of learning. A lot will also depend on the university’s computer science program and what they teach. You may want to look for another computer science program out there that has more focus on web applications so at least you will have more of what you like to do.
I’d say do both. If you feel the itch to get real world experience, it’s probably wise not to ignore that. I’d say the degree (and keeping working at it) is still equally important. So, drop down to part-time schooling and look for some supplemental experience, like certifications, internships, or free lance.
I think you’ll find, like I did, that the degree and the work experience are both highly valuable, but even more so if you combine them. You can put real world context around the theory you learn in class, and you’ll also find opportunities for cross-over where you can take real world projects and work on them as part of your class projects. To me, this makes education far more interesting and rich and useful!
Yes, it makes school take longer, but I think it’s a case of the whole being greater than the sum of it’s parts. It was hard to finally finish, but I’m glad I did, and I’m glad I did it while getting real world experience.
Whether or not an education becomes relevant in any profession depends on your goals.
In the world of the web (and technology), goals are not as precisely defined, as in say, other career paths – such as medicine or law (which are professions that most definitely require an education). Most often educational goals in these industries are working toward certificates and/or understanding procedures.
As heart surgery, while not an easy task at first – once learned – is not a difficult task, it is just a procedure.
So even within a certain profession you have to further think about your goals:
Think about a heart surgeon: Is the goal to only do procedures, that seemingly can be done in sleep after a while – or is it to move the industry forward and become a more proficient surgeon by teaching innovative methods to others?
Why there is such a question of education in technology: It is a much more open-ended industry, because there is daily innovation.
In technology, there are far less regulatory standards, and organizations (such as preventative laws and bars) that you have in medicine and law.
So the issue of needing a computer science degree was hit spot on by Eric. I feel that there is not a need for a particular type of degree when you are interested in a career in web development. Partly, due to the lack of regulation on quality work. One technology solution can be better than the next, obviously – as certain websites can function better than others. I may use a Mac and you might have PC. You may take a college level web class and the professor only knows about table layout and Dreamweaver, and has no idea who Dan Cederholm is. Who is to say that your computer science professor is going to teach you the best possible way to do something? But, if it provides a foundation for your own innovation, that is all you need to be successful on the web, and in technology, in most cases.
Further: Web development as a whole is made up of smaller focused areas:
Which area do you want to focus on?
RDFa and metadata
….or do you want a basic understanding of all of these areas, or even one that I didn’t mention?
In many cases you have to distinguish between web design and web development if you want to focus on design, as Andy Clarke stated above, you should focus on art and design classes. Perhaps even take printmaking, or learn about print layout. You will find that the most innovative people in this industry all have an appreciation, or an understanding of art, and/or design. In most cases this understanding enhances their “development skills” as well. You will most certainly not receive any design training, such as understanding of typographic styles, spacing and layout, in a computer science class.
Do you want to freelance, do you want a full-time job?
Because self branding and promotion – selling your value to clients most definitely will not be taught in any computer science class. Or the business sense in selling what you are creating in general. Perhaps you make a fantastic web app, but how do you make a living off of it? Will you gain revenue in support, or licensing? Will you spend most of your time supporting the app even if its free?
Education is most certainly relevant, but not necessarily dealing with anything “computer related”
In my case: I got started dabbling in the web in 2003 because I took an online course on valid front-end html. I happened to have a simultaneous art class with Jared Fager and Dave Rau, who quickly showed me the right people to learn from – which ultimately brought me to following Cameron Moll’s blog, Zeldman, Andy Clarke, Veerle Pieters – amongst many others, and reading a list apart weekly.
Honestly, for me, the most valuable moment of my education was having the class with Dave. So if you recognize your sources of valuable information and continue to do research and improve, you will make fantastic web-apps. I never finished my degree, but am going to back this Spring to wrap it up. None of the art classes I have to finish for my BFA are going to be relevant to the web, but they will help me pay attention to color, type, spacing, and my surrounding world. All of which will help me innovate, and that is what being in this technology/web industry is all about.
Innovation is made up of many experiences, and technology is dynamic, so not only a computer science degree is going to make or break your success, but a clear understanding of your goals, and respect for the resources you have at your disposal, will.
In the course of your career, you will be self-taught on the next forty years of technology. Right now you have the chance to be professionally taught on the foundations of that yet-to-be-invented technology. It might not benefit you right now, but HTML is a passing phase, as is the Mobile Web, and whatever comes after that. A good foundation will help you learn The Next Big Thing.
What your 20-year-old self thinks you’ll want to do for the rest of your adult life might not be what the 30-, 40- or 50-year-old self will want. Sometimes life throws curveballs and it’s best to be prepared. Finish the degree, and season your CS studies with lots of design and psychology and literature and things you may never have another chance to study. Learn some good quotes to impress undergrads. Socialize yourself — the primary purpose of undergraduate school, imo. You don’t need to be limited to schoolwork – get a part-time design job, or do charitable stuff if no one’s paying, get summer work, see if there are co-op programs, look for a senior project in the “real world.” Do some freelance research and publish your results and give away your templates and you can graduate as an “authority in the field” with jobs to pick from. There’s lots to do while you’re still in school.
I dropped out at 20 to “find myself.” Ultimately, I wasn’t as impressed by what I found as by what I lost. I got the degree, eventually, but missed out on finishing what I started, and I regret it.
In my opinion you are asking the wrong question. It shouldn’t be a question of whether obtaining a degree is useful for web development. You can be very successful without one.
The question I would ask is if it is worth it to you. Obtaining a degree is about improving yourself. If you go to school with the goal of obtaining a piece of paper, you will not gain very much. But, if you go there with the intent to *learn* you will get much more out of it. You will realize the majority of learning does not take place in the classroom. Instead, you will take advantage of the large portion of free time you have in college to pursue extra curricular activities in your field, work with your peers on fun/interesting projects, take advantage of the fact that you probably have access to researchers at top of their field. If you really are looking for an opportunity to improve yourself in ways that you never thought possible, pursue a degree.
But you can go to college, get a degree, and miss out on all of that. It is really up to the person. So if you think you are the type of person that will have the motivation to take advantage of the opportunities available then go for it. Otherwise, don’t bother as you will see more success from just going straight into the professional field. Then again, you will probably never see the same level of success as the other type of person (and not because they went to college).
I’m similarly conflicted. I think it depends on the target job/employer, and in my experience that has been unpredictable. When I was looking for jobs, I didn’t think that I’d end up in a large corporate environment, but that is now the case. And both my current and my previous employers seemed to value the fact that I had taken courses and earned a certification (Master CIW Site Designer), even though my day-to-day responsibilities require knowledge that I’ve gained through direct experience and/or studying the work of my peers and heroes, and very little that I learned in the certification course. Some grounding in CS can obviously be helpful (for example, understanding and using regular expressions, as a means to accomplish all of the text wrangling that is part and parcel of so much web production). So I think it’s worth investing in.
My response centers mainly around the discipline that any type of work requires. If you are naturally disciplined and develop good planning and coding habits, then perhaps a CS degree isn’t as helpful. The best coders I’ve know combine talent with discipline to write well structured code that has the right balance between abstraction/extensibility and efficiency for the project. However you learn that is up to you, but seems solid CS graduates have been taken down a path that provides a jump start on that skill.
There are really two separate matters to address, here:
1. Do you need a degree to be a great web developer?
2. Do you need a degree to get a great job?
I think the answer to both is, “no, but it helps.”
On the first one: I know many great self-taught web developers. There is no doubt that you can be great without a formal education. There is also a valid argument to be made that most universities don’t teach the most relevant languages and technologies to today’s web development. However, the fundamental concepts of programming (data structures, variables, loops, arrays, conditionals, functions, objects, etc.) are the same no matter what your language of choice, and a University is as good a place as any (though definitely not the only place) to learn this stuff. Plus, a good University education is diverse and well-rounded, and often produces people who are better employees in general, regardless of their field.
On the second question: There are great jobs to be found that do not require a degree. There are also companies that will hire based on your body of work, rather than on your education. There are also paths, like many of us “elders” of web design/development took, wherein you luck into a job, the company asks you to help with their website, and you eventually get hired full time as a web designer/developer. So, there is no doubt: it’s possible to get a great web job without a degree. However, having a degree open up many, many more options. As has been mentioned, some of the greatest web companies in the world — Microsoft, Google, etc. — are unlikely to hire you, especially for a first job, without a CS degree. And even if they are willing, you’ll be competing with people who do have a degree, so they’ll be more likely to get an interview based on their resume alone. Besides large web companies, many other sorts of institutions that hire web developers — Health Care, Education, Government, etc. — place a strong emphasis on college education and may not hire without it. What’s more, having a college degree aids in getting work visas for folks who want to work in countries other than that in which they are a citizen. Bottom line? A degree means many, many more options.
And although everything I’ve said is true for both designers and developers, I do think it’s probably accurate to say that a degree helps developers even more than it does designers.
I don’t have a degree, and I’ve done okay for myself. But that’s because I got lucky, and because I happened to be trying to get my first job in web design/development in the mid-90s, when no one had any kind of education in it. Today, I believe a degree is not a requirement, but it certainly helps. Of course these things have to be evaluated on a case-by-case basis, but in general, my recommendation would be to stay in school. It can’t hurt you and may help you a lot.
OK here goes… choosing to not get a formal education in some field, not necessarily computer science, is a mistake. It’s a mistake made on the assumption that just because the young web of today doesn’t require you to have formal qualifications that you won’t need them at some point in your careers. What will the web be in 20 years? In 40 years? What role do you want to be playing?
So the web industry will profoundly change… it’s what… about 6000 days old? This, friends, is only a baby and whatever it turns out to be it will be nothing like we imagine it today. Not the web but faster, just like it wasn’t television but faster. We’re still in the sandbox at kindie.
There is a real danger in believing because a degree in this industry doesn’t matter today that it will never matter. The world is changing. Even if you look at demographic type information – in China (and India) there are more high percentile intelligent children being born every day than there are children being born every day in the United States. The world is upskilling and educating. Don’t base your career on the assumption you won’t be working for an Indian or a Chinese employer… or clients… or competing directly against them. And don’t base your assumption on the English speaking advantage (if anything that will be more of a disadvantage). Large corporations, especially any that get taken over by Chinese or Indians, will demand you are formally qualified. It’s how they see the world.
Yes a small percentage of people with vast uber-skills may be safe without qualification but the vast majority of you are vulnerable. Don’t buy into propaganda that you can sidestep a progression of world movement towards higher education just because you are American, European or Australian.
Also, my experience shows that when I left school in 1979 you only needed a high school (year 10) certificate. Now you’re looking at a basic undergrad or industry level diploma. In a five to ten years that will move up to a masters and then there will be an expecation in large areas of the professional world that educated people will have a PhD or equivalent. Everything gets harder, so don’t expect that life will throw an easy Walk by saying you can make “web pages” for the next 40 years. Things, society, people will change their expectations. Its your job in your career to manage that wave into the future… fall of the wave and getting back on will be difficult. There may be no second wave of new tech to surf out of unemployment on a new skillset… or there may… we just don’t know.
The real risk you run through education denialism is that if there is change and you have zero formal qualifications then you’re out of the labour market. A labour market that within 10 years won’t be US / EU centric.
A labour market FULL to the brim with people that have your skills. And it’s filling up faster every day with young talented uber-geeks.
We all stood in a similar situation in the early 1980s. We thought we knew exactly what the world was and how it was going to move forward. You’re all the legacy that tells us that we were wrong… and I for one paid a steep price for being wrong. But please don’t try to tell me that you can get by on talent alone (all of you, not the exceptions) because every year somebody younger and smarter and better educated and nearly as experienced (your only straw of superiority being experience) … and they want your job, your clients, your promotion.
You do want promotion, right?
OK you can all go into business for yourselves and that makes a lot of this redundant. If you’re the employer then it means less to have that education experience… but don’t think that successful business is just willed or provided without an element of luck either. The exposure to new ideas and other ways of looking at the world – as I’m discussing in this very comment after spending 2 yrs in an MBA program with Indians, Chinese, Pakistani and Middle Eastern students.
My advice… as someone with a Bachelor of Computing and just graduating from a Master of Business Administration (Journalism and Media Studies) … is that if you really want to manage your career risk and not wind up highly skilled but unemployed in your 40s (remember after 25 your risk of falling out of the labour market increases rapidly – CEOs of 30 yrs are unemployed & unemployable nowdays) then at least tick over a constant learning strategy.
That means invest in a degree over a decade… a unit at a time… or do a certificate in something… get those pieces of paper. They are at least a backstop for if and probably when you find the world changes, you need to step out of the labour market for a bit, and you can get back on again. It doesn’t matter what degree or diploma… just do something other than sit in a room reading only the things that agree with your current ideas of how the world and everybody in it works.
Yeh today you can get lots of work on the cherry of a few jobs you’ve done for free and then push a small living out of that. But the good money… the career security… relies on you investing in the things you aren’t interested in as much as those that you are obsessed by.
But then I find with this conversation that those without that investment are looking for self-validation. I guess that’s the biggest threat to the US in particular at the moment… that education is becoming downgraded. And please don’t tell me that a self-taught person covers the exact ground of a computer science student… because what a university produces isn’t a gun programmer, it’s a standardised product. It’s a base level software engineer.
Designers… same story. You can do this without a degree… in fact better than the devs can do it without one. But there are younger better more contemporary designers coming behind you and only the uber-designers will be secure. Most will fade into the corporate or unemployment lines picking up their baggage… lines where that degree or diploma mean a heck of a lot.
This fallacy that we can all live on skill and talent alone… come see me in about 2030 and tell me you’re the cutting edge contemporary success you might be today. Then I will be impressed.
So back to what I was writing… when that guy from china or india can do your job cheaper and their english skills are improved by living among you for another 5 – 10 yrs… how long do you think you’re unqualified arses will sit on that computer? Making money? Competing?
Just a few pennies of thought inspired from my MBA courses. The world, the web, everything changes. Don’t make the mistake of assuming it’s going to be like THIS forever (even 5 or 10 years).
Apologies for the long comment, I could almost write a book on this as I have spent the last two years looking at the world in just these terms. In the end you should be in the business of doing business.
Well stated. For larger companies (read that more formal, bureaucratic, entrenched, whatever) they will have policies requiring a degree for hiring. Unless someone champions you internally and you have a large body of work, you simply won’t be considered. And promotions may require specific formal education levels.
In my office we have some great software developers who have non-CS degrees. We used to be a small company and we hired good people. Now we are part of a very large and old company, so we could never hire these people no matter how good they are because they don’t have relevant degrees.
That all said, the most entrepreneurial people with real developer talent and internal drive don’t want to be bound to a big slow-moving company anyway, so the degree requirements will be less important to them. But then, those are the people who least need a degree for a basic “knowledge certification” because they will have a large body of work to show. The degree will get a first job for average people. It won’t help or hurt the top people.
A lot of jobs require a college degree whether it is relevant or not, so having one can be useful unless you’ve got awesome chops and the personality to take care of yourself job-wise in a tough market. If you want to hedge your bets, take the basic classes for your degree and skate through them. Use your electives and take extra non-CS courses to expand your knowledge. Those will be more useful in the long run.
Overall I would strongly suggest getting a degree. If it’s easy, you will have time to do meaningful stuff outside the classwork. And frankly, it carries social weight. As Steven said, it’s a good backstop if you find yourself struggling to find work, because it’s a minimum requirement for lots of things.
I certainly don’t feel that a college degree is necessary for modern web development. Of course programming can be self taught, but formalized training in programming concepts is usually a great help.
I personally have a degree, and I feel that the most use I get out of it came from the relationships and SOCIAL skills I learned. A lot of the technology I learned in school I do not work with at my job. However, that doesn’t mean learning it was a waste of time. You learn crucial skills such as time management, working in teams, project deadlines, group dynamics, leadership, all from attending formal classes.
Would I be in the same position if I didn’t have my degree? Maybe. But I think I’m a better co-worker because of my education.
College is an experience, not a sheet of paper.
The experiences of going to class, being evaluated, offering thoughtful commentary in critiques, growing and watching other students develop are invaluable things you’ll miss long after you’re out of school.
Relish in the structure and opportunity.
College exposes us to a wide variety of people, ideas, situations and intellectual challenges. These are invaluable experiences you often don’t get anywhere else. But learning about HTML or Photoshop in college is a waste of time; skip the technical stuff and learn about ideas, narrative and and big picture thinking.
A portfolio with perspective and curiosity gets my attention.
What about a different degree?
For web development, I don’t think a degree in CS is needed. However, I WOULD look into a different degree. It won’t hurt you to have a degree, and it can help you in the future. It gives you a leg up on other people trying to get the same jobs as you who may not have degrees. You may also get some projects out of it that can be put into your portfolio. The majority of my projects I have been doing for my degree are websites for real clients.
From the hiring side of the fence:
1. If you don’t get a degree (esp. if you drop out), some employers may view you as a quitter.
2. Having a degree means you’ll start at a higher pay grade, and probably earn more than your non-degreed peers throughout your career.
3. A CS degree will actually make you a better web developer. Yes, even in JS you have to care about data structures and computational complexity sometimes.
4. Are you going to be a web developer all your life? What if you decide you need a career change, and go into software development, or some other field? A degree will help you there.
It should be added that a degree in whatever isn’t a competency ticket to do job X. I did a paper as an undergrad that revealed most people don’t work in the field of their degree. That’s why there are things called the attributes of a graduating student.
It’s about exposure to new ideas, different people, broadening the world. And anybody who thinks a degree is like a certificate of competency would have somehow been misguided.
Your degree says you have the generic ability to learn, to “research”, to articulate those findings in high quality documentation. And so forth.
One of the hardest things to get over to someone who has only done College or TAFE is that it’s not just TAFE but harder. It’s just plain different. It’s not just about learning to read books and write reports and essays… it’s about pushing yourself on areas you find as boring as shit. Anyone can study up on their obsession until 3am… try that on economics or sociology. A degree says you have invested and believe in yourself and that you have the wherewithal to stick it out for the long haul.
The second worst problem in the conversation is always this – the use of exceptions as the rule. OK some entrepreneurs go great guns without an education… they’re exceptions. Most entrepreneurs fail, and only 6.82% of any society are even entrepreneurs anyway. Most of the people reading this would be IT geeks of verying capacity… not Bill Gates or Steve Jobs. Egos aside.
Anyway, the point is to stop looking behind for evidence… the world changes forward not backward. Think about your careers into the next 20+ years… and that your skills are losing scarcity in the labour market every single day. And don’t ignore the rest of the world in this paradigm.
But hey, if you’re an entrepreneur go for it. Don’t do the degree… I agree. But accept that manageable risk in the process.
BTW most web designers I know are working for peanuts and not even factoring in their costs. They charge bottom dollar to compete in a hypercompetitive highly skilled market and they compensate their losses by working to 3am… thus reducing their income per hour down to $10 or less when you work it out on paper.
Glory days… and why I don’t even do that work anymore. So the idea that “most people” can get by on their current skills in the current market is itself somehow skewed by the perception that everybody else is making it bigtime.
The first thing we need to admit is that the web industry has a vast long-tail of skilling up and even highly skilled individuals who really should be getting a formal education or training in order to compete.
Another point… if you have skills and no degree now AND person X gets a degree and then gets skills… at some point you will have a person in competition with you in the labour market who has both degree in hand AND an equivalent skillset.
They will not only be as skilled as the other person but also ‘qualified’ in a given area (don’t mix this up with competence) AND offer more value in the market. Even better if that wasn’t a CS degree… maybe psychology, sociolgy, anthropology, law, business, information management, etc.
The whole question is currently structured to be binary. That’s flawed. Currently we’re still on that wave where skills are enough but as time progresses there will be progressively more ‘qualified’ and skilled people coming into the market competing for those positions. Many of them a growing middle class from the International workforce (pls don’t stereotype all Indians as incompetent based on 1998 help desks… for one, they’re all uni graduates not dumbos).
The big picture painted by the real world’s economic and social movement over time is not as positive as the current rhetoric against improvement of education would lead us to expect. The current management thinking coming out of business school is one of “life-long” learning to stay relevant in the future workforce. Why is the web industry immune from that paradigm?
OK my last 2 cents. Honest.
A thorough education in Computer Science will get you a job, but it won’t be something you use daily. On the other hand, a good CS education will make you *way better* at what you do.
If you’re getting an education just because you think you need it to get a job, then you’re doing it for the wrong reason in the first place.
Here’s the thing, a degree will open a couple doors for you, but it’s not really essential. If you’re good, then you can get a job. If you’ve had a job or two, then they don’t care about the degree, they care about experience. So in that respect, no a CS degree is not required.
That doesn’t mean it’s a bad idea. It may actually be a very good idea. Depends on you, as a person.
The point of getting an education is to be educated. Like it or not, some things you just can’t learn from reading a book. The experience of going to college, of learning how to work with others and how to learn the material effectively, the material itself, these are not things you’re going to be able to learn in “the real world”. In the real world, you’re worried about money, about your job, about a whole bunch of other stuff that you can generally ignore in college.
If you go to college, do the following:
– Slack a bit. Talk to people. Find a girl/boy. Get laid. Drink beer. Go to parties.
– Get student loans and don’t worry about paying them off right away.
– Talk to professors, learn what they have to teach even if you don’t see how you can use it. Hell, you may never use it, but learning is good for its own sake. Things you learn often apply to other things you didn’t expect them to apply to.
And most importantly: Become a well-rounded person. Nobody is just one thing. You may think you only need to know programming, but you don’t. You need to learn a whole host of skills that, guess what, 18-20 year olds don’t have.
From the time you graduate high school until you’re about 24-25, you have the opportunity to do all sorts of things that you will never get the opportunity to do ever again. Do those things. You’ll be glad for it.
As for Computer Science specific advice: formal Computer Science education won’t make you into a programmer. But it will make you into a far better programmer than anybody else without that education, in the long run. You may think data structures and Big-O notation and all this other crap is stupid, but trust me, when you see code produced by bad programmers, you’ll know it’s wrong and you’ll know *why* it’s wrong. The first two years of CS is there to weed out those who can’t even learn the rudimentary skills. Forget about it, if you can write code, you can breeze through it. The really hard stuff comes in the last couple years.
Anybody can learn to write code. Educated people can write correct code.
Eric Meyer on a Question of Degree : StevenClark.com.au
[…] or irrelevance, of having a degree to the contemporary web professional in a recent post titled A Question of Degree. The comments are well worth investigating for a run-down of reasons you should think seriously […]
I qualified in graphic design which I have then added skill sets to, such as photography and web design from a need to complete client requests. When I get stuck on coding or need a process I just use Google and YouTube to find the solution. I also have experience as a teacher and would say that the key problem with education of computer science is that it is always one step behind, sure it can teach you the basics principles but it does not help you achieve business related results. It is down to the student to take the knowledge and CHOOSE to apply it. In the UK only a small fraction of people that study a subject actually go ahead to work in that field, this is primarily because of job opportunities vs competition so they settle in to unrelated positions that determine their future through fiscal necessity. Studying web programming for instance gives the student a foundation understanding of programming languages once qualified if the student does not develop design styles, business sales and marketing skills then they don’t have enough of a rounded knowledge to offer a client a full package. It is up to the individual to continually learn and develop but most importantly to set their own future and not be dictated to by accidental career paths.
I think my response would be it depends… I have a CS degree and have worked software-related jobs since the early 1980’s and in various aspects of Web site and Web application development since the early 1990’s. I currently work as a Web application developer for a .gov-related entity dealing with collecting and analyzing fairly large datasets (hundreds of thousands or millions of records). The backend logic is pure programming regardless of the underlying language (and the languages we’re using now for Web development largely didn’t even exist when I was in university). The basis of my degree and programming/software engineering puts me on a completely different foundation than my co-workers who do not have a CS degree when it comes to designing, implementing, and trouble-shooting solutions. There are other aspects of Web application development to which my CS degree is far less relevant: the visual design and UX design.
Some of the theory behind a CS degree (algorithmic efficiencies and their tradeoffs, data structures and how they can influence the selection of algorithms, different approaches to representing and managing data and relationships) is by far the most valuable in some of the stuff we wrestle with in trying to develop scalable applications with decent performance efficiency.
So it depends at least to some extent on the type of Web-related work the individual is initially interested in, the subject matter in which they envision themselves working, and who they are targeting as employers. If they are interested in that back-side logic at all, a CS degree or some sort of CS-based Web application development degree (if there is such a thing that provides some of the theoretical foundation) is likely the best fit.
Funny thing is I just had basically this same conversation — or at least parts of it — with my son who is in his first year of university.
Wow – 84 comments. I won’t pretend to have read them all, but I do have an opinion I’d like to share.
I don’t have a degree in CS (mine’s an arts degree) and I don’t think it has ever stopped me doing the things I’ve wanted to do in my career as a developer. Having said that, there have been many times when I wish I did have the degree,and I’ve spent plenty of time reading and studying course material from various well respected institutions because I realised that I didn’t have the same knowledge and background that my peers had.
That was particularly true as I took the back door (acquisition) to a lead engineer role at Microsoft. Normally I wouldn’t have had the CV to end up in that job, and I took that seriously and worked hard to give myself the confidence to be successful in it.
It really depends what you want to end up doing. But personally, I would say to be a well rounded web developer you would ideally have a degree in CS, or at least have done the knowledge (as it were) when it comes to the general principles of how software gets built, how processes flow on a computer, how complex systems come together, how they interact, etc.
That’s my opinion and most of the devs I’ve given jobs to over the years have had CS degrees. Not all, but most.
As a graphic design student, I’d say a computer science degree could help in more complex programing or if he changes his mind and decides to use his degree towards other fields in that area.
I would say your advice was pretty right on. I don’t think he should change majors, it would just be a waste of time and money.
Well, adding to the wonderful conversation
I believe its not only Web, this is true to any technology related field. As studying from one of the prestigious institutes in India, We have Biology as part of our course curriculum in 1st year.
Imagine what significance it has for a Web Developer / Networking Guy.
With a less choice of electives based on latest trends, It adds to the worry of a student.
All I’ll say is that there are many ways to learn how to be a web developer, and a formal qualification is one way.
And what you start to realise is that you can’t find the best way and the one way is enough, and that it exists is valuable.
The problem is the question, not the answers. A degree should not be posed as a pathway to a career or job. It should be posed more about self enlightenment rather than job training. I understand that it is a default job pathway these days, but a student should be aware that it isn’t exclusively a job training exercise.
How many times do you come to the realization that there is a subject or issue which you have no knowledge? (i.e., you don’t know, what you don’t know.) Education allows you to explore the unknown in many subjects at a time in your life when you can absorb it most efficiently. Of course, you can educate yourself through reading and other means, but you will have a lot of work to do. It is a rare person who is able to do that. Plus, most people do not have the self awareness to understand what to study.
I do believe that having a degree is better than not all other things being equal. If you have no support to get the degree and must work or be heavily in debt afterward, it may be better to take a job immediately. However, you will always need to work harder and study more to get the same perspective in problem solving (as is written in other comments.)
Thus, I can’t agree that “it depends” if that means you equate getting one to not getting one. I strongly feel a degree is the better option, but there are cases where it might not be the best path for an individual.
I think that, when you’re starting out, experience is more important than paper. But as you get more experienced (read: age past 27 or so), you’ll find that you’ve done one of two things. Either you’ve built a niche for yourself that you’re happy with and can see yourself staying in for a decade or three, through the downturns where the industry will be flooded by cheap labour. Or, you’ll be forever competing against that cheap (and generally younger) labour, and you’ll see that lazy and/or overworked and/or clueless HR departments will use a degree, and especially a “tech” degree, as a filter. No matter how good you are at that point, if you can’t make it through the filter run by people admittedly unqualified to see how good you are (or they wouldn’t need/want the filter), you’ll never get hired except by the wildest fluke.
Like any ritualistic society, the craft of software (and Web) development eventually severely punishes all those who stray from The Approved Path™. The Web of the late 1990s promised to turn that on its head and replace it with a truer meritocracy. The business-is-all-about-MBAs-and-bean-counters faction have, however, reasserted control.
Get a degree. It proves that you’re willing to take on massive debt and put your life on hold for four years to appease the gods of business “propriety.” Those who are making the hiring decisions, having followed the same path you are considering, see that as important.
It all depends on what path you want to take with working in the web. Do you see yourself being a web developer or web designer? A large number of web designers and front end developers have an arts based degree, where web developers usually have a more science or maths based degree. It’s good to do a degree on a similar theme to what you want to do as a job, but I’d be cautious about web specific degrees as it is hard for their content to keep up with the pace of progress in the web proper.
That said, a lot of people end up in a career that has no direct relevence to the degree they took but the mere fact that you have a degree shows you can stick with something for a set period of time (useful for your first job as you’ll look less likely to leave after a few weeks) and will have picked up useful life skills (and got others out of your system).
At the end of the day, as someone involved in the hiring process, it isn’t a simple degree or not question but what you’ve done with the equivelent three years if you haven’t gone for a degree. You need to be at the same level as recent graduates (or better) and, a potential plus, you’ll have a stronger real world portfolio of sites/designs/apps.
Your answer resonated with me in a personal way… I found it all-but-impossible to job-hunt with a university history/media studies degree. Something like 4,000 job applications resulted in about eight call-backs over three years.
Then I went to college and got a diploma in web development. Despite meeting my future wife, it was still the best move I ever made: Suddenly the degree complimented my diploma and seemed to be attracting the attention of employers for the first time. Once I had a certified skill (which took way less time and money, I might add), my degree was actually helping to set me apart from the pack of other job-hunters by making my background and skills look more well-rounded.
I just wish I hadn’t waited so long to go back to school!
A CS degree will hurt you if your goal is to work as a designer/front end developer at a small firm. Big firms like Google and Yahoo know what the degree is worth and can give you the tasks for which that degree is an absolute necessity. Small firms could give a rats @$$ as long as the job gets done, and it will consist of mostly mundane tasks like tweaking a wordpress theme, or writing HTML/CSS (sorry Eric). If you’d like to know what problems big company developers have, take a look at http://www.stackoverflow.com.
In short, it’s about the difference between a webmaster and a web application developer.
I have been a web developer for 3 years and i am self taught however sometimes i wish i had a CS desgree so that i can tackle advanced projects and develop code. This however has not limitted me in my scope of work as i continue to grow and learn as i go.
Having a CS degree is invaluable. It shows that you possess some intelligence and have the ability to solve problems. DMA, CIS, and MIS degree holders are a dime a dozen.