views:

437

answers:

15

I am a self taught software engineer who is currently studying the MIT OpenCourseWare courses (currently Discrete Math and Multivariable Calculus). I have a passion to learn and the ability to teach myself.

What I am wondering is if I want to work in soft computing in 5-10 years will I need a degree for that? I know I'll need to study my ass off, but that is significantly easier than studying my ass off, plus paying for school, plus working school into my schedule.

If I keep learning and pushing myself like I have over the past few years will I have significantly fewer choices in soft computing? I'd love to hear back from some people already in this field if possible, degree or not, just to get a feeling for your POV.

Thanks!

+1  A: 

As an employee of regular computing, I don't know what soft computing is. Can we have some examples please?

Kevin Conner
http://en.wikipedia.org/wiki/Soft_computing has it better than I could ever explain.
millenomi
+2  A: 

IMHO, a degree is important only to get your first job. In all the following jobs, the most important is your experience and the quality of your work from the jobs before.

JRoppert
+1  A: 

Self-taught is better than school-taught. Not everyone agrees; it depends on what kind of job you want.

The answers to this related question will help too.

Jason Cohen
A: 

Contribute to some Open Source projects - it's the best learning experience you can get outside of employment. If you go to an interview and show your passion, plus, have the source code to back up your abilities.. then there is no reasonable employer who will complain at the lack of a degree. You might need to aim for smaller shops first rather than more institutionalised companies, but you'll get your foot on the ladder that way.

Richard Franks
+1  A: 

A lot of machine learning work gets done at universities, and there they will likely want you to hold not only a college degree but also post-graduate degrees if you want to advance. Because the field relies on a good background in data structures, algorithm design, etc. it is helpful to be able to demonstrate that you've learned the material, and for better or worse, degrees and graded coursework are markers for that.

That's not to say you can't find a job in academia or industry without a college degree, but I would expect it to be tougher to find a job and to move up beyond your initial job without one.

Randy
+1  A: 

As far as raw skills go, very little is going to beat self-taught (including reading other peoples' code via Open Source, etc). That being said, any degree program will likely expose you to more topics and more ways of doing something than you're likely to discover on your own and will likely give you a broader background in the fundamentals. I'd also agree with those who state that a degree is invaluable in getting your first job. Often, employers aren't so concerned with what degree you have or what GPA you finished with, rather, they just want to know that you have shown the ability to pursue and complete a degree.

Dave
+1  A: 

Self-taught tells people that you've got a true passion for it, that, I think, is the only benefit.

There's a lot of value in education, because it gives you several years to improve your craft. You get out of your studies what you put into them, if you are self-taught, then you truly need to be dedicated to learning your craft. In college you'd be focused on learning 20-30 hours a week (depending on where you go, some schools 60). Are you ready to spend that kind of time outside of a college environment?

Dan Williams
A: 

That title was a bit unclear... But from my experience having actual experience is much more important than a degree. When we interview people, it becomes apparent that having a software-related degree has very little correlation to how good of a programmer the person is.

Mike Comstock
A: 

Without a degree, you may miss out on some jobs in academia and in big corporations. Academia loves degrees (after all, they grant 'em), and HR departments tend to be a bit clueless and credential-driven.

But to most employers, all a degree says is, "This person could buckle down for 4 years and get something done." Basically, you need to find another way to prove you work hard and know your stuff. There's a lot of ways to do this.

For example, you could begin by writing an open source project that used "soft computing" techniques to solve a particular class of real-world problems. If your project was interesting to business users or startups, you'd have very little trouble getting hired.

emk
+7  A: 

I am a developer with 8+ years of professional experience, no college degree, and I have done a little work with machine learning. Maybe my experience will help!

Frankly, it's very difficult to find people who understand these types of solutions. I have one customer who is an actual scientist (horticulture) and he gets excited when I talk about ways machine learning can benefit him, but he doesn't really understand the ideas.

So! I started as sort of an apprentice for a freelancer and together we grew the business into a small development firm where I'm very happy working on wide variety of projects - something you don't always get in larger companies.

I actually dropped out of college for this opportunity when I was 20. My education is mostly from mentoring and my own initiative (which is intense), and I've done very well.

I actually have a pretty good understanding of some machine learning concepts and I have applied them a few times - mainly evolutionary algorithms for market analysis and retail replenishment. You can definitely learn that and more from perusing books in your free time, because that's what I did. There are game development books that make the ideas easy to understand. Really, the ideas aren't that complex, but they are usually cloaked in a smokescreen of calculus that makes them unecessarily inaccessible.

So I'm saying that If I had more math background it would be a lot easier, and that usually means school. And of course my knowledge has tremendous holes in it - I know more about this than anyone else I know, but I don't know half as much as I would like to. And I'm too busy keeping the lights on at this point to really devote myself to a niche.

Opportunities to apply these concepts and actually get paid are probably rare outside of academia, elite development positions and highly specialized software companies, so that's something to think about. Also, there's the fact that the longer you wait the harder it will be to switch fields. If you want to do high-end computer science stuff, I would think that academia is your best bet for getting started.

Brian MacKay
+2  A: 

If all you learn at university is about your degree subject then you are doing it wrong!

Aidan
I agree with this: most of my skillset I learned on the job, and not in school. But, the experience of learning with a wide variety of people around me, and the depth of learning history, science, philosophy, Shakespeare, provided me with a toolbox of knowledge to solve many problems. Which, is really what you are after, isn't it?As noted above, the degree itself isn't worth that much. Learning how to learn, however: that's priceless.
uotonyh
+1 for this answer... most people limits to the reduced projection of knowledge that a university offers.
lmsasu
+2  A: 

I'd throw one other thing in: A couple of years ago a friend of my wife's came here (to Seattle) to visit us saying she wanted to check out some schools while she was here. She's a professional student (for like 10 years) but as far as I knew she just had never really finished a degree.

One night over dinner, after she came back from UW, she mentioned that she wanted to apply for this masters program they have there. I was kind of shocked and asked how she could get into a masters program without a degree. She looked kind of puzzled and said simply, "if they accept you, you can do it. What's the harm in applying?" Later she ended up going somewhere else, but she did get into a masters program.

This kind of inspired me, so I ended up talking to the computational linguistics prof. at UW. They have a "professional masters" program for people that are working and not planning on becoming academics. She encouraged me to take the GRE and take some linguistics pre-reqs., and assured me that it was quite possible for someone without a degree, like myself, to get into the program.

I think one of the keys is finding a program that's not super competitive to get into. I've heard that the UW Comp Sci masters program is harder to get into because they get so many applicants, but I'd check that out too. It's one of the best programs in the country and you can do it while working! Do what you're passionate about.

Chris Bilson
Wow. I will be looking into that. Thanks so much man.
Justin Bozonier
+3  A: 

I think the answer depends on what you mean by wanting to work in soft computing. Do you want to apply existing techniques to problems or do you want to develop new ones? Put another way, do you want to be a tool-maker or a tool-user?

I can offer a little perspective on both. I currently work as a research academic in statistical machine learning. I have a PhD in the area and an undergraduate in mathematics and computer science. I have also worked in industry applying machine learning techniques to solve engineering problems.

If you just want to use machine learning (or other soft computing) tools, you can probably learn what you need "on the job". I saw many smart developers not formally trained in machine learning pick up and apply basic techniques very quickly. These basics were things like support vector machines and other kernel methods, Bayesian inference, evolutionary algorithms, manifold learning, clustering, etc.

If you want to be at the cutting edge of your area and inventing new techniques you will almost definitely require a research degree. The closer you are to the edge of human knowledge in any area, the harder things are because the ideas are only partially understood and usually expressed in a very technical way. It's only when these ideas are looked at by many people and taught in courses that they are polished and expressed in such a way that a smart, hard-working lay person can understand and put them to use.

Mark Reid
This was a very good comment. Thanks Mark. I guess I'm looking more towards applying the techniques than actually inventing new ones. Having said that I think I'd like to be on the cutting edge on the development side. It seems like a degree would be very helpful in that regard (if not required).
Justin Bozonier
A: 

People outside CS area often have significant results in the soft computing are. Look at some fundamental books on Neural networks and Pattern recognition, both of them written by Christopher Bishop:

Chris Bishop has a BA degree in Physics [...], and a PhD in Theoretical Physics [...]

Nowadays:

Chris Bishop is a Distinguished Scientist at Microsoft Research Cambridge, and Professor of Computer Science at the University of Edinburgh. He is also a Fellow of the Royal Academy of Engineering, a Fellow of the Royal Society of Edinburgh, and a Fellow of Darwin College Cambridge. His research interests include machine learning and its applications.

This is just one of the few examples.

lmsasu
A: 

I like Brian's answer. It reveals an authentic experience.

have a look at How-do-I-become-a-data-scientist - this is a good similar post. A lot of prerequisites are presented. Some of them are thought in a university, but not all of them. Hence, self-learning ability is strongly demanded.

lmsasu