Hacker News new | past | comments | ask | show | jobs | submit login
I'm a junior developer thinking about getting my masters in Computer Science
3 points by captainjeff on July 26, 2015 | hide | past | favorite | 12 comments
I'm a junior developer that went to a tech bootcamp and have been working as a frontend developer for a year and a half. I didn't study computer science in undergrad and now I'm thinking about getting my masters in Computer Science. Do you think its worth it?



> Do you think its worth it?

It depends on what your goal is and the type of Masters program you select.

Generally, there are two types of Masters programs: course based and research based. In the former, you take several graduate level courses in a variety of CS disciplines (programming languages, distributed systems, AI, graphics). With the latter, you generally take courses in your first year and your second year is spent doing research on a single project (with the goal to publish at least once). These courses involve reading the seminal papers and a scattering of modern papers and working on a small project (typically implementing something from one of the papers you’ve read).

If you’re considering a career in academia, do a Masters. If you want to understand the theoretical underpinnings of an area of CS, do a Masters. If you want to take time off to experiment with different aspects of CS, do a Masters.

If you want to become a better developer, a Masters may not help you.

The code you write in your Masters is generally done solitarily. You’ll work with other grad students on discussing papers and problems, but it’s rare to have two grad students working on the same codebase (the eternal fight for primary authorship). As a result, there isn’t much opportunity for you to improve your coding craft by having other developers off a code review. As well, a lot of the process and tooling employed by software companies (“Joel test” things like source control and continuous integration) are generally not applied because of limited capacity.

All of this said, in grad school I met students who were amazing developers despite having limited industry experience. In industry, I met amazing research minded people, abreast of the state of the art in research, who’d never gone to graduate school.

Coming back full circle, what is it you hope to accomplish with a Masters degree? Fuller and deeper understanding of CS? Better development and tooling practices? Answering these questions will help you determine if a Masters is right for you.


I think my biggest problem is that my scope of what is happening when I write programs is very limited. I understand best practices because my teachers and bosses have told me that how we do things but I don't understand why. I might be mistaken, but I'm hoping that understanding how things work conceptually will change how I in turn write programs. Its too bad that CS degrees aren't more focused on tangible software and skills though.

I'm looking at a Masters program right now at Pace University for Software Development and engineering. Here is a list of the courses I would take. http://support.csis.pace.edu/CSISWeb/docs/worksheets/GradWor...

Does that seem like it would be better than Computer Science?

In the end: I want to be a better programmer. I would do it concurrently with working. Does a program like the one I pasted above seem worth the student loans and time spent?


Absolutely not. Learning more about how things work is a fine idea, but this is 2015, not 1515; there are plenty of resources you can study in your own time without paying extortionate fees.


I did a CS degree and then moved onto masters in systems development which is kinda similar. Do I think it was worth it 1) Experience out weighs everything when finding good work. I cannot stress this enough. My masters has not helped much at all in getting better work, experience and confidence has. 2) You will be tired doing it. I did it part time for two years while working. I drank way too much coffee and didn't sleep. My body has taken a bit of time to adjust back to normal 3) My development passion increased dramatically doing it. I had gotten stuck in a rutt before doing it and had no passion for code, i been coding for too long the same old ways. 4) Paradigms, one of the downfalls of getting more educated is they can sometimes lock you into a way of thinking. Don't become that person, You need to stay open minded. 5) Money, it was expensive doing masters 6) Bragging rights, it is sometimes nice to blab on about a masters degree.

Would I do it again, hells yes but would I do it when I was a bit younger (I did mine late 20's) hells no. Go out and learn as much as you can working on your own projects or better yet step away from the computer and have fun. There is more to life than trying to be the best at computing. Masters won't go anywhere, you can pick it up when the time is right.

Peace


I was JUST going through this debate and decided no. I was in the same boat as you, didnt study cs -> did a bootcamp -> working on frontend now and realize just how little I know. I thought of doing a masters but decided that it wouldn't be appropriate for now. So to bridge my knowledge gap I:

1) Keep working, dig deeper into topics along the way 2) Build side projects. One is a site that has open courseware organized the way a CS degree is. I feel like people need structure to learn effectively, but with so many resources available it can be hard. 3) Use the resources on the web and learn what you want to. There is a TON of info out there. Just pic a topic or two and dive into them.

So


Same boat. Although I never finished my undergrad so masters would be out of the question. However just before checking out HN I just wrote up a blog post about this exact thing. It's something that's been bothering me for a while now and holding me back in advancing my career.

I think it's important to set some clearly defined goals and avoid drifting through the ecosystem of JavaScript. It is too big, there is too much to do and learn in any reasonable amount of time. You(not you specifically) need to set some specific goals and etch away at them everyday. Approach it with a sense of urgency and be relentless at achieving those goals because it is much harder to learn difficult concepts on your own and without guidance so most people start then give up or get sidetracked.

I am very quickly approaching my first full year of front end development and although I have a solid github account full of projects, I've only recently realized how little time I've spent honing my skills at core JavaScript principles. This has worked wonderfully at getting me interviews and terribly at actually getting offers.


Very good point here. While self teaching you need to set specific goals with a fast paced schedule, otherwise you can get stuck in trying to get way too deep staying there too long, to the degree that your technology becomes obsolete or that your skills are no longer needed.

I am more of an amateur, so I don't mind. My only ambition would be to become more like this guy: https://www.youtube.com/user/Bisqwit

The abundance of online resoures is a mixed blessing - there is so much interesting stuff out there that it's enough to spend your entire life exploring all of it without realising your primary goals.

Think about it like this - if you are a doctor, it's not enought to say you want to be "a better doctor", or "a better sportswoman". Such goals are meaningless, because each and every one of us wants to simply be better. Does becoming a better programmer mean you understand the given technology better, that you code faster in a language of your choice, colaborate with others more efficiently?

You are talking about your career here so I'd approach the problem from the standpoint of the value you bring to the market. On a meta-level your general goal should be acquisition of such a skillset that would be valued and allow you gradually achieve such a high position that would secure your income for the years to come.

Going to a school certainly helps you limit the scope, time and effort you have to put into the task as well as it gives you a diploma that always could be of use. (The market is still unsaturated with coders of any level, but if the demand for manpower dropped a diploma could be important while competing for employment). Schools are also good about teaching more general problems such as math, algorithms and computability theory, these however have imho little use in front-end development.

Try asking people around you what things they think you should learn to perform better in the specyfic set of tasks you are dealing with on daily basis and focus on them. Your employer will be happy to hear you want to improve your skills.

Apart from that try learning something really challenging, something you really don't like doing (assembly? scala?), or something fundamental like TCP/IP or SSH. Personally my weakest point is math, so for me discrete mathematics would be best.

TL:DR Be specyfic in your goals whether you decide to go to school or not.


Getting a Masters helped me explore the areas of CS that I shied away from in undergrad or was too immature as a developer to learn. I started grad school after being in the industry for a couple years. I was working in an area that really cared about college and certs (Florida).

Merely changing my resume to say I started the degree generated more LI requests/cold calls. It definitely helped in that I would later apply and get accepted in the Google Summer of Code. People can go ga-ga over it if you have Google on your resume but YMMV. I finished my degree back in 2013 and I believe I now get more play from the connections I've made than my degree.

I would view a Master's as filling in the theory gaps that your bootcamp didn't have time to cover. It will probably make you a better developer but may or may not improve job chances but could be a good idea if you love to learn. I'd advise you to check out some of the Online Masters Degree courses from Udacity and see if you like them. You can decide later whether you want do a full program or just do them for free.

MIT's OpenCourseWare courses are an option. I used their material on Algorithms to study for my grad school algorithms class and got an A- so it's legit.

Disclaimer: I work for Udacity.


> Do you think its worth it?

My analysis -- when I pondered the same question in my late 20s: no.

At the time, I even worked for an employer that would shoulder a good chunk of the cost, and I still worked it out to be around 20-30K out of pocket (this is at a decent, but not Top 10 program.) I'd need to take the GRE, and the course load would be fairly time-consuming to graduate in 3 years. I don't know what level of drive you have, but after I crank through a 10 hour day coding in my day job, I doubt I'm going to have the energy to attend classes, do homework assignments, and study for tests.

After all that effort, what do I really get? I'm well-paid already, and I prefer small companies that wouldn't really care what my level of schooling was as long as I can get the job done. Quite frankly, I believe that I can, and do, learn far more by reading online and playing with side-projects.

That said, I thought my BS in CS was well worth it, and if money was no object, I would be a full-time student pursuing a PhD in CS.


Personally, no. Maybe in Silicon Valley it is more highly valued but outside.. for example at the company I work for (and hire for) in Pennsylvania, experience is far more highly valued. I didn't even graduate college with a bachelor's.


My Question is 'WHY ? '

And you should ask yourself too 'WHY?'


Worth it how?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: