Fast Track to a CS Degree?
kyrex asks: "it's been 5
years since I've been working in the tech industry and I've make
great progress. My salary has grown by an annual rate of about 50%
and I'm currently working as a consultant in a leading consulting
firm. But not having received any formal education in Computer
Science, and therefore having no degree will be a problem for
further progress. I've considered many options but they all take
time: at least 3 years. I've been programming since I was 12
(I'm currently 24) and have read hundreds of CS books. I think that I
can easily complete a CS degree in 1 year. I want to know if there
are universities/institutions out there that offers computer
professionals like me a fast track to a CS degree that will be
recognised as such by other universities (so that I can continue
with a MSc afterwards)"
well for my cs degree i had to take the calculus sequence calc I, II & III. that's 1.5 yrs there, not to mention the other dependencies between classes; like post-calc stats i had to take after calc...
your best bet is to maybe CLEP your way out of some of the other classes if you're really bright and study hard. but doing it in 1 yr is un-reasonable.
it's still worth the effort i think...
I believe its called clept tests, where you can take a test on the course and if you pass it, you get credit for the course. Ask a university if you can clept tests and how many courses can you clept. Some schools have it where you have to go manditory for so many years or only allow you to clept so many classes, etc. Maybe you can find a school in your area that will let you clept most or maybe even just about every class and then you'd only need to go there for a couple of semesters to get your bachelors.
Does the name Pavlov ring a bell?
Its unfortunate that so many people value pieces of paper with writing on them.
There are many great people out there hindered by this belief.
I dont think all companies and organisations within the industry are that judgemental. Most companies have theyre own rating system internally.
Stick with them.
Make yourself valueable to them.
----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
There is definetly more to a CS degree than simply being able to program. Other courses in the arts, sciences and languages are usually required. The point of a CS degree is not to produce programmers; it is produce well rounded students who can apply their knowledge to more fields than just computer programming. If you want a quick and easy degree just go to some kind of trade school.
The problem probably won't be the CS classes, if you are a solid programmer already. However, the problem will be the assorted other classes you have to take.
A CS degree (or any degree, for that matter) is not like a certification: it doesn't simply show mastery of one thing, but it demonstrates formal education in several areas, including critical thinking, math, communications (written and verbal), etc., with a specialization in one area (in your case, Comp Sci). You may be a stud programmer, but you will still have to take English, Math, some other basic requirements and some electives. 1.5 years is unreasonable, unless you are going for an Associate's degree, which I wouldn't recommend - it will probably be worthless given your experience.
Having said that, go ahead and spend the time getting your degree. Ignore the people that are sure to be posting ignorant crap about how "I wouldn't want to work at a place that values degrees!! Its just a piece of paper!" Those are, in all likelihood, people that couldn't hack it in college due to a serious lack of social skills, motivation, work ethic, whatever. The basic fact is that in order to advance in the majority of the organizations out there, you have to have some sort of degree.
In all likelihood, you can get your firm to pay for you to get your degree at some local university. Why not take advantage of it and do it right instead of trying to find some way to rush through it?
I don't think you survived the dot-com boom unscathed because you spent six years in college, you were just in the right place at the right time. Don't you think it's a little arrogant to assume that everyone with a degree will get to keep their job and those without them won't? There are people without degrees who are far more talented than you may ever be, and I'm saying that without even knowing you, which is ballsy but justified. :)
"It's here, but no one wants it." - The Sugar Speaker
For CS in particular, any university worth the effort of attending will probably require you to complete the first-year courses in all other sciences - physics, chemistry, biology. Plus first year courses in mathematics. Plus the humanities - literature, humanities, etc. You aren't expected to become an expert in any of these fields, but you should learn enough to be able to recognize when someone is trying to sell you a pack of lies in an election, in a courtroom (as a juror), or as the next-of-kin when a loved one is seriously ill. That's the stuff that ultimately matters, not just knowing how to write LALR(a) grammars.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
Here is a real good example...
In the 70's, the DOE's Pantex Nuclear Weapons facility in the Texas Panhandle fired dozens of experienced scientists with proven track records... simply because they did not have degrees.
The next Slashdot story will be ready soon, but subscribers can beat the rush and slashdot the links early!
... did you know that getting a CS degree has very little to do with PROGRAMMING?
;-). Lots of calculus, and the hideous "discrete structures" courses. ::shudder::
I am in the same boat as you, and when I attended [a state school in Florida well known for computer science], I was surprised that the focus is entirely on the Science of Computing. Sure, some classes require you to know how to program in a certain language, but that is not the focus. The focus is on MATH. At least in the first years (that's as far as I got
In short, I don't see how a human could possibly get a CS degree in one year.
"And like that
of a CS degree, congratulations. As anyone will tell you though, a veneer needs a solid backing to stand on it own. What the backing consists of is the liberal arts (well roundedness), fundamental mathematics (Calculs, Matrix, Discrete, and stat), and exposure to the science and engineering side of the business (logic circuit design, followed by computer architecture).
Even if you have read through many of the senior level texts, you probably didn't fully absorb the subject material without the fundamentals. It is amazing to re address a subject when you have a better grasp of the fundamentals. The subject looks so much clearer.
Now that doesn't mean you can't have a rewarding career as a programmer. Many of your co workers will not have fully grasped the subject material on their degrees, thus putting you on a equal footing. When it comes time for promotions, or finding a new job though you will be much better off with the degree.
As others have said, there comes a point where experience counts more than bits of paper; I don't really see how relevant my degree is now, as my experience has more than surpassed it. Over 90% of what I do is stuff I've learned in the last 4 years, not stuff I did in class.
I don't know about other universities (though I expect they'd do the same), but Oxford in Britain allows you to get into a MSc compsci program solely on the basis of work experience instead of previous degrees. British schools also has the advantage that a MSc degree only takes 1 year to complete, tuition is far lower than at a US school (because all schools there are public), and there's no requirements for physics, math, or anything except compsci.
I can understand the desire to have a degree, there are institutions that really want you to have that piece of paper that says you're in debt to a student loan processing center. I personally am in a similar situation with only a two year degree (electronics) and 7 years of IT experience. Here's my question though? Why do you want a CS Degree? Really, most employers are looking for *A* degree, it doesn't usually have to be a CS degree perse, especially with your experience.
If you're looking to advance your current career I'd say an MIS Degree (Management of Information Systems) would look better on your resume than a CS Degree.
It's been my experience that CS programs teach people to be programmers. How many CIO's and IT Directors are there that have come from the programming pool? Less than 1/2? Yes, programming is one road into an IT Career, but it certainly isn't the only one, or even the road that is the quickest.
All that said... a Degree isn't like an MCSE, you have to put in some time to get that piece of paper, but it'll be worth the time. Take the three years and learn something that will stick with you, rather than the current flavor of the day programming language.
What if it is just turtles all the way down?
Why is this different from someone asking if there's a fast way to a medical degree for instance?
-fb Everything not expressly forbidden is now mandatory.
Well, in my ever so humble opinion...
You've probably already got a good enough track record that to continue doing what you're doing and continuing advancing won't really be a problem. BUT...
Don't just go for a fast-track degree - i.e. don't go for a degree 'cos you need a bit of paper. Do the three or four years. Don't just take classes on the narrow subject that your career is - use university as an opportunity to take a sabattical from the world of work and get a broader knowledge of more things.
Although I went to university after only working for one year, I decided not to take a course that narrowly focused on only technical subjects. I'm a software developer - yet I took a BA degree, not a BSc.
I really enjoyed university, and I'm glad I didn't just race through on a fast track.
Oolite: Elite-like game. For Mac, Linux and Windows
Here it is, what school really means:
- High school gets you into college based on grades/activities
- College gets you that piece of paper every good job needs
- The next five years depend on that piece of paper for each job
- The rest of your life is based on the experience you have since you left college
And if you get a masters, it'll help you in the first 7 years after school (so going back after 7 years on the job is pretty pointless).Sure, there are exceptions to each of these (ie - some jobs require a masters, but I think that's bubkis), and, yeah, school means more than that (like learning how to learn, etc...), but thats the "big picture". At least, in the 'big company' aspect. If you want to go into research or teaching, then its a different story.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
Well, how do I say this while remaining polite? Let me try: I don't buy it.
You're a consultant at a major consulting organization. Fine. However, I deal with people from major consulting organizations just about every day, and while they might have some very practical skills, most of them are pretty mediocre (speaking from a CS point of view) and come from a business background. There's nothing wrong with this in itself, but it's a very different thing than having a CS background. CS teaches you a ton of things which you'll never need in your daily job (especially not in the position you've described yourself as having) but which form the foundations of the Computer Science discipline.
Also, I'm a bit sceptical about your claim that you've read hundreds of CS books. I'm a bit older than you and do have a CS degree and I can not claim that I've read 100s of CS books (maybe 100, but that would probably be stretching it; I may have browsed 100s, but that's not quite the same as reading & understanding them). Things like advanced algorithms, design patterns, compiler design and other related stuff are not light reading and can't be read in a weekend (at least not if you really want to *understand* the stuff they cover). And once you start reading Knuth's books, well, then you should have some serious free time if you want to understand them (despite several tries, I've never actually managed to dig through the entire 1st volume of his AoCP).
I found that duing my CS studies, much of the grueling time spent in my compiler design classes (to name a paricularly 'fun' one), was time well spent. I doubt you could really get the most out of these types of classes without actually doing all the work & projects; this unfortunately takes time. In summary, real CS and the stuff you do at work are probably quite different. Having done Business Process Design (yuck!) or some high level project work is not the same.
Lastly (unrelated to you, since I don't know you), my favorite anecdote from a big-5 consulting organization was a Business Process Design person (native English speaker) who, when I commented on one of his questions "Yes, we have an API for that" replied (with a straight face): "What's an API?". To me this is equivalent of working for Ford, Crysler or BMW and not knowing what a steering wheel is. I'm sorry, but every since that episonde, I have a certain measure of contempt for these people and the major consulting organizations who employ people like that.
Bottom line: I think doing a (serious) CS degree in 1 year is impossible. On the other hand, you may be some sort of genius who can do it in a year, but if you're normal like the rest of us (whatever you consider to be 'normal') you'll need more time to do real CS. It seems like you like the technical field you're in in which case you'll probably find the time spent to get a CS degree well spent.
There is this great misconception that just because one is a great programmer he does not need real training as a computer scientist. This is due to the fact that most people think of a BS in CS as a formal education as a IT worker, so one who thinks he is a great programmer thinks that a BSCS wont really add anything usefull to him, except for the diploma.
The fact is that Computer Science is not only about becoming a IT worker. Its about using computers to solve problems, and about designing these computers to solve this problems. And about understanding and modeling the problems to begin with. There are actually great programmers who are mediocre computer scientists, great computer scientists who are mediocre programmers (usually of the thoretic cs kind), and great it workers who are great computer scientists (and really shitty programmers and Computer Scientists). And since these are different things, that is why it takes about 5 years to graduate a computer scientist.
Sometimes, a programmer who "learned CS" by his own, has acquired many bad habits that he would not have acquired if he had any formal training ("goto statement considered harmfull" comes to mind), and design rules, software engineering, etc. By the other side, self-learned IT professionals have a much more "getting the work done" attitude, and finding things out by himself, which is *extremely* usefull in industry.
So the idea is that one thing complements the other, and yes, it would be nice for anyone who works with technology without a formal training to really spend the time *learning* CS.
Just my 2c.
Eagle Scout, the highest rank in Boy Scouts, has to be achieved by the age of 18. To get there, you need to accomplish every other rank before it, some twenty-one merit badges in various subjects, and a self-designed project to benefit the community and demonstrate leadership. Only 2% of American Scouts achieve it, and colleges and jobs actually recognize it -- not because they like Scouting (note: this isn't nearly as impressive after age 25) but because it shows you possess initiative, leadership, and determination, and that you can finish a difficult task set before you.
College degrees have a similar effect. Besides showing that a major university considers you qualified and educated in your field, it proves that you're willing and able to achieve a difficult and long-term goal set before you by yourself. The goal isn't to prove you know your stuff, but to prove you can prove it, and hang in there long enough to impress someone much bigger than your corporate boss.
Welcome to the REAL world. Most companies can't afford
to give you 50% raises every year. 15% is a GREAT
raise! Look at other fields like teaching where they
go 6 years before they see a 6% raise!
The only nominal way you will see beyond a "percentage"
raise is by jumping ship. If you like your job and
like the people you work with -- think about that prospect long
and hard right now. Jobs are NOT secure right now ANYWHERE in
the technical trades - so if you feel secure, that in itself
has some value right now.
Have you compiled your kernel today??
It's been about 6 years now, and I'm starting to get the itch to finish my last year of school, but due to still needing/wanting to work, it's not possible for me to go back to the original school. ( I went to RPI in New York, and currently work in Chicago area, so the commute would be hell ).
I started looking into local schools that I could attend to finish up. Most wanted me to attend them for at least 4 semesters before they'd grant a degree, and then there's the problem of transferring credits from one school to another, etc. I finally found a school that would let me finish the way I wanted. DePaul University ( a respected institution ) has a School for New Learning. That allows adults who previously skipped or ( like me ) never completed college to apply whatever previous college credit they have, along with taking into account your work experience, towards a BA degree. You can also continue on in the same manner towards an MA as well.
DePaul is located in the Chicago area, but it is quite possible that similar programs exist near you. If you haven't finished a degree yet, but have several years of experience in your industry, this type of program definitely seems the way to go.
---
Segmentation Fault ( core dumped )
This is absolutely correct. Your BS or Bachelor of Science indicates that you have completed a certain set of requirements relatively common across all types of degrees that indicate they are of this type. For me, this included a few Chemistry classes, a few Physics classes, a good many Mathematics classes, various humanities and social science classes (various psychology classes, a literature class on Sci-Fi, and quite a few foreign language courses in my case) as well as classes in other disciplines such as Computer Engineering, Electrical Engineering (logic gates, anyone?) to name but a few.
As was mentioned above, you may be a crack programmer, but that's not all that's required for a degree, which is why you need a degree to continue to progress on your career ladder. The tasks that most probably await you will require certain degrees of critical thinking that are enhanced with the variety of non-CS classes that are required for the BS degree.
Another thought: do you have any degree? I assume you do not, but if you *did* many CS Masters programs (for example that at Chicago's DePaul University) will allow you to either take or test through a variety of core classes that essentially determine if you have what it takes for the Masters courses, if so - you're home free and on your way to your Masters. If not, you simply take the classes you need (shouldn't take more than a couple semesters) and then you're on your way. Again, I believe this only works if you have an undergraduate degree of some sort already.
and it has definitely had an impact on my career. Let me explain:
I'm 44 and am currently where I've been for the past 5 years, IT manager for a small manufacturing company. I took some of the first computer classes US high schools offered, way back in 1974-76 when programming projects got sent out to the local bank's mainframe for compilation and execution. My first IT job was as programmer trainee for a small service bureau too cheap to pay a living wage (thus no one with any training or experience would touch them) where I stayed for a year and a half, working on IBM S/34 minicomputers. Did my first microcomputer work on CP/M systems (Exidy Sorcerer! Woo-hoo!) and IBM Datamasters in '77 or '78. From there to another S/34 shop, then to a larger one that was both bleeding edge in PCs and networking as well as moving to the (then new) IBM S/38. Worked on S/34, S/38, Apple II & III, CP/M, and IBM PC systems there for 8 years, then moved to a larger company using IBM AS/400 and more PCs with networking, in a mixed mainframe/mini/PC environment over an international WAN. Consulted for a while, now here. I have extensive mainframe, minicomputer and PC experience, program in a bundle of languages (including C, Java, a variety of aassemblers, etc.), and my networking goes back to Banyan Vines and Lantastic days, not to mention early X.25, etc. I'm no computer god by any means, but I've been around and always got excellent or outstanding reviews.
I never noticed lacking a degree until I turned 35 or so -- and why should I have? Most companies discourage the sharing of salaries. I was happy to be making a good wage and didn't know until later that my peers were getting 20% more than I was, even with half my experience. For a variety of reasons I'm not terribly thrilled where I am but I believe I'm pretty well stuck here: in two years of searching I've found very few companies interested in my skills and experience. When I go for a job in competition with someone a few years out of college, just married or no family, I lose every time, long before anyone gets to talking about salaries. At my age, lack of a degree is almost a poison pill in my career -- so much so that I'm currently attending college to get one, something I should have done long ago (if I could have afforded to.) When I was just out of high school, college aid was a lot harder to get than it is today and I couldn't afford college on my own (and stepfather was blunt: don't even ask me to cosign a tuition loan, kid. Oh, and when are you moving out? Saturday good for you?) Now, take advantage of what's out there and get a degree. Any degree: CS is obviously best if that's the career you want but any degree is better than none.
I faced an almost identical problem recently but managed to work around going back for (another) BS. Assuming you have a bachelors (which you imply through ommission, making a point of having "no formal CS education"), getting into and finishing a Master's program is probably your ideal path.
This is, in fact, not terribly difficult. Most programs don't exactly leep for joy over people with primarily work experioence, but if you are willing to take 4-6 undergrad level classes, or demonstrate competence in them by test) and can do reasonably well on the GRE Computer Science Subject Test (brush up on your theory!), you can get into mid-range schools without a lot of difficulty.
There are quite a few benefits of going straight to a master's degree as well: an MSCS is *very* respected on a resume, managers generally give more credit to a Master's than it warrants (unless they have one, and MBA's don't count), it is generally a much shorter program (9-12 classes compared to 24-32 for a BS) and doesn't force you to take the assorted crap you are not interested in (disclaimer: I hold an undergrad degree in English, and believe in a LA education, if done right it is the best thing for you - most people use the flexibility to avoid challenge though, and they discredit it), and finally, the MS classes tend to be a whole lot more interesting than undergrad classes, and the students and profs are a lot more interested in learning/teaching than the typical undergrad.
I wish you luck.
-Frums
You presume that because you have are good at computer programming, you can easily finish a CS degree in one year - in essence, you propose that you know pretty much all that a CS major knows. But what is taught in a CS degree is FAR DIFFERENT than what you know having programmed for however many years. This also is precisely the reason why your advancement potential MAY be limited because you DON'T have a CS degree - the business world recognizes the difference.
The American Institute for the Computer and Information Sciences is a correspondence based school. The curriculm in my experience is well thought out and the quality of the education is top notch. It is a completely rounded degree (meaning it is more than a simple programming school) and I have found that businesses tend to treat it like any other degree. I highly reccomend it in your case. It will grant credit based on "life experience" to recognize the value of the experience you have already gained.
http://www.accis.edu
Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
At Windsor, it is not focused on programming. I have ONLY had 3 REAL programming classes. And even though you may be able to easily get credit / pass these classes, it is the others that will set you back a few years.
These classes include topics that I am sure you are knowledgeable: data types; induction and recursion and some that you may not: algebraic characterization; syntax; semantics; formal logic; soundness, completeness, and decidability; specification, implementation, and determinism; complexity
And that is the first class. A quick list of other non-programming topics:
Computer Languages, Grammars, and Translators
Including: both pragmatic and theoretical aspects of grammars, recognizers, and translators for computer languages. Regular languages: regular expressions, regular grammars, finite-state machines (automata), regular language recognizers, automatic regular-language-recognizer generator: lex. Context-free languages: context-free grammars and pushdown automata (stack machine), LL grammars and top-down recognition and parsing: LL(1) and recursive-descent parsers, LR grammars and bottom-up recognition and parsing: LR(0), SLR(1), LR(1), and LALR(1) parsers. Automatic context-free-language parser generator: YACC. Attribute grammars, syntaz-directed translation, computer-language processors: interpreters and compilers.
Theoretical Foundations of Computer Science
Including: propositional logic, first order logic, proof techniques, mathematical induction, sets, operations on sets, relations, operations on relations, functions, countable and uncountable sets, basic definitions in graph theory, connectivity, isomorphism of graphs, trees, Euler graphs, Hamilton graphs, planar graphs, graph colouring
File Structures
Including: performance differences between primary and secondary storage; secondary storage devices; fundamental file structures; sequential files; indexing; B trees; B+ trees; index sequential files; hashing; sorting and searching techniques on secondary storage devices.
Computer System Organisation
Including: Examination of the fundamentals of modern computer organization and architecture. Historical development. The computer system in terms of interconnection structures, memory, I/O and operating system software. CPU structure and function, including numeric representations, instruction sets, addressing modes and formats. Control unit. Alternate architectures and performance enhancement.
Those are just the basic classes that you need to know before you can take the challenging stuff. This is on Top of the "other" classes you must take, The Maths (Calc, Alg, Stats, Fundamentals of Math) your Social Sciences, etc.
But don't worry about all of that, you will have those 3 programming classes out of the way!
I completely agree.. I did not complete my engineering degree, but the time I spent working on it was very valuable nonetheless. Any Joe Coder can read CS books and gain the necessary intelligence to do a job, but a good university program also teaches you the wisdom to know how and when to apply what you've learned. Some of this can be learned by practical on-the-job application, but I tend to find that people with an engineering/science degree tend to find their niche in a new position faster than someone self-taught. A self-taught coder tends to learn how to do things well "their way" and has difficulty adapting to the requirements of a client or maintaining focus on a project not directly in their line of focus. Of course, these are enormous generalizations and will vary widely depending on the nature of the person, but this is my experience.
In addition, the engineering classes I took weren't really valuable for the formulae and math. I found them valuable for the problem-solving skills they taught. I don't believe even science degrees approach this sort of problem solving, and I find that those with some sort of engineering background (or a "hard" science like Physics) generally make for better programmers, administrators and architects of IT shops.
I've recently graduated from CMU with a CS degree. My senior year we wrote a kernel, a filesystem and a shell (or about 90% of an operatiing system).
That class alone killed about 40 hours a week, so while you might be able to learn Pascal at your local community college in a year, don't expect to get a world class education like you would at MIT or CMU in 1 year, no matter how many books you've read.
Most of my classes involved minimal programming, and a lot of theory (OS being the exception). Have you read a lot of books on probability, set theory and matrix algebra? Have you read any books on modern math? Algorithms (which involved no programming, all proofs)? NFA's and DFA's? Context Free Grammers?
I had a Java reference book and a C reference book while I was at CMU, every other book was theoretical.
Then there are distribution courses. For CS you need about 80 credits of other stuff, compared to around 40 for your concentration. It breaks down like this: 7 credits each of social science, humanities, natural science, plus 3 more credits in three of these categories: natural science, humanities, social science, math, creative expressing. You must have 4th semester proficiency in a foreign language. You have to take two writing classes, one involving several substantial papers. And there are several other requirements.
Point is, I think it is tough. You don't seem to have much respect for degrees since you're doing well without one, so this kind of program probably isn't a good option. I would just look for a really shitty school that will do anything to get students. It may be worthless, but a degree from a crappy school doesn't matter once you've proved yourself with experience.
Not having a degree will become a big problem though, so maybe you should just take a few years off and enjoy yourself in college. At my internship this summer the company had a guy who didn't have a degree who had been working as a contract employee for 14 years. He was making substantially less in salary and had much much worse benefits. It is nearly impossible to hire non-degree tech people at many companies, and you may want to apply to one of those companies someday. So just think this: Drinking and girls. Take 4 years off and do it right (can do three years if you go for 2 summer sessions, maybe less 2.5 if you take heavy courseloads).
I make the following recommendations based on how I achieved my degree after being in a situation such as the one described.
;)
Select an accredited university. Do NOT get a degree by mail. You will get called on it by any reputable employer.
Find a university that will provide "work experience" credits. I went through Wayland University (based in Texas). They allowed up to 20 some credits based on real-world work experience. This eliminates the need for some boring electives.
Select a BS program that is quickest to achieve. I obtained a degree in Business Administration because I knew and could document my technical experience. With the Bus. Admin degree I would prove to employers I can also understand business and management allowing me to progress up the corporate ladder.
Next, CLEP or DANTES test out of every class you can. At around $50 a pop, they are worth taking even if you are unsure of passing. I took ACCOUNTING I class and CLEP'd out of ACCOUNTING II. I also CLEP'd numerous math, physics, and astronomy classes simply because I knew the material reasonably well. Depending on the university you select, you may only need around a 50% passing score on CLEP or DANTES tests to be given credit. Since they are multiple choice, your almost guaranteed 25% correct by guessing.
Once you have cleaned out all the elective classes through CLEPs and work experience, you need to focus on core classes. Universities require you to take a minimum number of required courses from them in order to obtain a degree, usually 11 classes or so. You will not be able to get around this. Select the classes you believe will be important to give you a good background in the degree field you've choosen. They will actually be beneficial to you in the long run.
Final thoughts. I completed my degree in just under 2 years by completly immersing myself into the program (while continuing to work full time and run my own ISP and security consulting business). I had ZERO social life for those 2 years but it was well worth the effort. As a side note, once you have the credits (through CLEP, DANTES, or actually taking classes) and complete you degree you always have the option to leverage those in a second degree at another university. Get the quickest degree (Business admin, forestry, or whatever) then go back later and take a few additional classes to get the CS if you desired.
Most important, although you might think a CS degree is critical, employers first look to see if you have ANY degree, which provides them documented evidence of ability to learn and desire to grow in knowledge. Get a degree!
Hope this helps.
Although I agree with you completely, just check around among all your associates with the humanities/liberal arts degress, and find out just how much science/math/engineering they have taken. What gets me with the current state of the academic world is that it's unconscionable to allow a scientist or engineer to graduate without an appropriate number of humanities courses to "balance" his or her education, but it's perfectly OK to let a humanities major graduate with essentially no math or science or engineering courses whatever. In fact, they're lucky if they have taken a high-school-level algebra or "pre" calculus course for the entire math requirement and/or an astronomy-for-poets course as their science requirement. These same people then complain that their degrees have not prepared them for life in the technology-heavy modern business world. It's a joke.
Guns don't kill people -- people kill people.
But the guns seem to help a bit. (apologies to Eddie Izzard)
>I've been programming since I was 12 (I'm
>currently 24) and have read hundreds of CS
>books. I think that I can easily complete a CS
>degree in 1 year.
"I've been using microwave ovens since I was 12 and have read hundreds of books on using microwave ovens. I think I can easily complete a degree in high-energy physics in one year."
Okay, thats pushing the analogy a little far, but you get the point. Programming is a trade skill, period. Computer science is NOT about programming. I'm sorry I'm reacting so violently to this, but you've hit a *very* sore spot for me.
I do computer science for a living and I am a mathematician by trade and training. Yes, I can program and enjoy doing so, but this is not what makes me a "Computer Scientist". I also enjoy tinkering with old sports cars and have a decent grasp of mechanics. I certainly don't consider myself a qualified automotive engineer though.
You claim to have read "hundreds of CS" books; but have you really? Is there a chance they were programming and technology books? If you want a taste of what real "computer science" looks like, I happily recommend reading the following:
- Computational Complexity by Papidimitriou
- Automata Theory and Languages by Hopcroft and Ullman
- Compilers... I can't remember the whole name but its got a big picture of a dragon on the front. If you ask anyone in the business about 'the dragon book' they'll know what you mean... by Aho, Sethi and Ullman (I think).
- The Russell and Norvig AI book
- Any book on lambda-calculus and recursive function theory (I can't think of a good introductory-level text at the moment). Even better if it introduces semantics too.
Those will give you a feel for some of the areas that are considered "Computer Science". The ability to program will get you through first year; after that, its more about math and.. gasp... thinking, than it is about whipping up code.
Again, sorry for the rant, but I think Edsgar Dykstra (a famous Computer Scientist) summed it up best when he said:
"Computer Science is as much about computers as Astronomy is about telescopes".
Truer words were never spoken.
Thanks for jumping to conclusions, and helping to re-inforce negative stereotypes.
Note that I'm *not* an Anonymous Coward, so feel free to reply to that. I'm willing to put my name behind my views. Glad to see that you're able to keep thinking independantly yourself. Way to keep an open mind.
---
Segmentation Fault ( core dumped )
I have a problem with the presumption that someone who has acheived the CS skills required to compete successfully in the market has not or cannot have also educated themselves in math, business, the arts , other sciences etc...
Anyone who has educated themselves in these areas has far more focus, persistence, passion and discipline than most who do so with the aid of an educational institution. While tremendous resources are available at these facilities, anyone with the personal quialities to go it alone will continue educating themseleves at a much higher rate then most for whom education was something that you got in school.
Education is not something that other people do to you.
Calculus, chemistry, music....all can be learned to any degree on your own. I, and many others, are examples of those who do so out of pure curiosity about the world in which we live and passion for things that we love. I don't have a degree, never went to college, and have never been asked if I did. I, and many others, am a successful SW Engineering consultatnt who has been judged on my track record and ability to perform. To move into management...no problem. The MBA curriculum is available in books and is easy to master.....for the self educating individual.
"everyone's different....I am the same"
I went to work at 24 without finishing my IT degree. When I was 26 I was a lead developer with a lot of responsibility and one day my boss was rambling about the state of the industry and said, "...for example, if you had a degree, I'd have to pay you twice what you're making now." I resigned within the week and enrolled that semester. I graduated at 27 and have not looked back since. Now at 34 my degree is hardly an issue, but it's there. If it weren't opportunities I've had may not have been available. Whatever...
-- @rjamestaylor on Ello
Ok, here's some of the experience I've had, and the conclusions I've drawn from them:
./'ers are not taking into account that you don't just need a degree to move into management. You might also need it for the leg up on your competition. Take this economic heap of steaming s___ that we're in. If you're laid off, then you are most likely competing with several other people who have the same qualifications and who were also laid off. Given the pick, who would most managers choose? You got it, the guy with the degree. Why? Chances are, he'll catch less hell from his management.
The degree isn't always required to get a good job. And you can live a good life without ever getting one. However, for good and bad, there are people who are unwilling/unable to hire non-degreed people. It's just a fact. Most
I personally have fought this battle my entire career. I've spent time on the degree on the side because I will eventually need it some day. For all of you out there who are still having a problem with the idea of getting a degree just to satisfy some suits, look at it using this analogy: neighborhood hockey. Lemme explain:
You might just be the best damn player in the neighborhood. All the other kids know it, and you're THE first to be picked. The only problem is, on Saturday, you can't play with them because you didn't pay the municipal fee to play in a city league. Therefore, when you go to the rink, the Ref is going to have to keep you from playing. Does it mean you are any less qualified? Absolutly not. It just means to some suits in your city government, you haven't paid the fee, and can't play in the official league for whatever reason they've come up with. Possibly an issue of liability for the city, or maybe something else unseen to you. It doesn't matter what reason they use though. You still can't play, because they say so.
You see, you will always be able to get a job without the degree, but it's going to be harder. You will end up fighting more for those positions.The degree is a key to open several doors that you can't open on merit alone.
Now, in respect to the experience you get with a degree, here are a few comments:
a degree does not an engineer make.
experience does not an engineer make.
It's the combo of the degree (theory) with the experience (practical knowledge) that makes the best engineers. The theory tells us how something
is supposed to work, and the practice tells us where the theory is wrong so that the theory can be refined. You can operate exclusively in either domain, but you will get the best results in the area where they overlap.
As for the BullS*** arts classes that they make you take? Well, believe it or not, they're very useful too. History enables you to see patterns
of behavior in human culture. So does poly-sci and psycology. English ensures that you will be able to communicate your ideas clearer. Foriegn language expands your view of "those" other people in other areas of the world, as well as helps you communicate with them in an ever increasingly global market. Business and economics gives you the ability to identify trends your future employers will be following, and will give you a set of tools to judge how well they are doing in whatever market they're in.
Besides, let's remember who our customer's are: the non-techies. Yep, you'll be dealing with them some day. And you'll do much better if you have a way to talk with them. That's where the Liberal Arts classes come in.
Just some thoughts and conclusions.
PacketKing
Ignorance is lacking knowledge, stupidity is a choice of ignoring knowledge.
I've been in the IT industry for 16 years now, the last 6 in management. I almost finished a degree in 1985, but the fact is I do not have one. My story is similar to yours -- get started, work your way up, do not accept unnecessary limitations. It's always encouraging to see that others occasionally follow this path.
I have hired people ranging from non-degree up to MSCS. Looking at the performance of the entire group, the degree people fit the "normal curve". Some good, some bad, most were at least adequate. The non-degree people were hired only when they could demonstrate superior skills. As it happens, those skills made them top performers when it was time to actually do the job. Of all the non-degree people I have hired, I have yet to be disappointed.
In my opinion, the degree is part of the selection criteria ONLY when ALL of the applicants are light on experience.
Some of the other posts are correct in that certain industries are militant about the degree requirement. Around here the common examples are government, insurance, defense, banking, and pharmaceuticals.
Case study #1: I once hired a guy whose only work experience was as a VCR repair technician. He was an engineering/computer hobbyist, whom I had known for years. He was an incredibly sharp guy, just a little unfocused. He was part of my staff for a few years, and then left to become a system manager for one of the largest banks in New England.
Case study #2: Same story, except this guy was an electrician who was doing mostly Cat.5 network wiring. He was on my staff for a few years, and is now the network manager for an state government agency with a very sophisticated WAN and LAN environment that includes numerous remote sites and thousands of PCs.
Case study #3: I knew another guy who earned an ASEE. He looked for a job and found nothing. He goes back for an AS in Data Processing. New job search, same result. He goes to another college and earns a BSCS. Still no job. Finally, he goes to college #3 and gets an MSCS, and EVENTUALLY, a job installing PCs and LANs in Georgia. We would still be driving a van full of PCs from Georgia to Alabama if I didn't hire him. Since then, he worked his way up through operations and became an Oracle DBA. He now works for a major pharmaceutical company, so things worked well for him too. Then again, if he never graduated from anywhere, I don't see how his life would be any different today, aside from possibly earning an additional 6 years of salary.
Let's face it, when the IT job market is cold, MOST applicants are going to get excuses instead of job offers. In such a tough market, you have to outwit, outplay, and outlast your competition, degree or not. In a hot IT market, the offers are out there, and exceptions are being made by employers, beyond what most people can possibly imagine.
Does the lack of a degree reduce my theoretical number of potential employers? YES, it does. However, I don't expect to get an offer from every interview. No one ever does. In my career, I have interviewed about 12 times and received 5 offers, for a hit rate of about 42%. Did I get "screened out" of several opportunities? Sure, but who cares? I only accepted 2 of the 5 offers, and I've been promoted 6 times by two employers during 16 years of uninterrupted employement. I don't let the degree become an obstacle, and every so often I find employers who agree with me. After all, I can only DO one job at a time, right? If I apply for ten jobs and I'm ranked #1 once and dead last for the other nine, that's a hell of a lot better than being ranked #2 all ten times, as described in case study #3 above.
In my opinion, things that don't make you a #1 choice are not all that useful. To me, the degree is what helps you reduce the number of reasons why an employer might NOT hire you, but it's not as valuble as adding a reason why they WOULD hire you. Think of yourself as a hiring manager. Can you imagine telling your boss something like "I hired Joe Smith because he has a degree." On the other hand, would you rather say "I hired Joe Smith because he has great experience." To me, one of those statements sounds much better than the other.