I have about 8 years experience in the software industry with an electrical engineering degree.I am seriously considering pursuing an advanced degree in computer science to get more advanced knowledge in the field as well as more recognition for my skills. I am getting very diverse opinions about the idea , and it's starting to get confusing!! Any personal experiences or stories will be greatly appreciated.
If you want to get more advanced knowledge then independent study will be way more efficient use of your time. Masters degree isn't all that advanced (after 8 years of programming you should know much more than a masters degree can provide) and in addition to teaching stuff you might be interested in, there's also a lot of wasted time on things that are not very interesting (in general and/or to you). Not to mention massive cost (you not only have to pay the tuition but also are not being paid
for doing software work).<p>If you want more recognition, blog about technical topics and create useful open-source projects.<p>I can tell you that no company ever has contacted me after seeing that I have MS in CS. That's not indicative of anything and after few years of professional experience, you're judged on your past performance and not your degree.<p>Plenty of companies contacted me offering job interviews after seeing my open source work that I wrote about on my blog.
I did it in one go with the rest of the studies. But I did work at the same time - not sure if I'd do MComp otherwise.<p>From my experience:<p>1. With 8 years of experience you're unlikely to learn anything new and interesting. Unless you have only coding-to-a-spec experience with no research and learning involved.<p>2. With 8 years of experience, I don't think anyone will even look at education field anymore. I didn't when I was doing interviews.<p>3. You've got 2 very different goals listed: "more advanced knowledge in the field" and "more recognition for my skills". You can easily do the first at any point without the second. EDx, published MIT courses, published research papers, etc. are available to you right now. Are you using them already? The only thing that a degree will give you is someone to talk to in person about those things - this may be a great thing, or not. Depends how you like to learn and who is available at the university you're thinking of.<p>Personally I had a few years of work experience already by the time of starting MComp and looking back: It was rather boring to spend time on stuff I already knew. It was cool to get really advanced people give you specific papers to read. The final project was painful - I never want to write ~80 pages on anything ever again. I don't think it helped with my hiring either - it was more just the professional network.<p>These days I try to pick up one EDx course at a time, every once in a while, or do some Rosalind problems to learn new things.
For your stated goals: One, you can get advanced knowledge in the field while being in the industry. IMHO a Masters isn't needed, after 8years of programming. It's a different story for Mech/Elect etc. And two, you won't get any more recognition for your skills. Actually you might get a slight hit. Instead of being compared to 10 year experienced guys, you'll be compared to 8 year experienced guy.<p>Gates, Zuckerberg, Spiegel are college dropouts(ivy league of course!). Don't think the industry cares as much about degrees as you are assuming it to be.<p>However, you would find something else that you aren't looking for. You'll get back to univ life, breaking away from the monotony of regular work. That's fun. You'll have time to see things in new perspective, come up with new ideas. You might find some excellent peers with whom to team up for a potential startup. Also depends on the country/culture/school you're in.
Unless you are wanting to get into compiler development, get certain government positions or work in specific scientific fields of development 5-8 years of experience is worth more than the MSCS.<p>Unless someone has < 3 years of experience in the field I basically ignore the education section on their resume. I will look for relevant certifications, and any job/technical related training, but experience is worth so much more than a degree in my book.<p>As for getting recognition for your skills, you'd be better of doing any of the following:<p>1. contribute to open source projects
2. start a blog, write guest posts
3. contributing to conferences as a speaker.
4. publish white papers on work you have done/been a part of (with permission of course)<p>If you just want it for personal development though, go for it, I can't think of any reason it would hurt anyone.
Having been a hiring manager for a few years... I can say that degrees have only really mattered to me when the applicant hasn't any real experience to speak of in the industry.<p>Experience is king, plain and simple.<p>That said, the best post-experience education I've received is self study in algorithms... If you haven't had the exposure from your time achieving your EE degree, do yourself a favor and hit up Kahn Academy or Coursera (or others) for a course, you won't regret it.<p>Lastly, build yourself a strong LinkedIn profile if you haven't already, as my best leads have come from there almost exclusively.
No, but maybe something in another field (like applied Math or Science) and you might find yourself in a position to be doing something meaningful/valuable.