

I'm a junior developer thinking about getting my masters in Computer Science - captainjeff

I&#x27;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&#x27;t study computer science in undergrad and now I&#x27;m thinking about getting my masters in Computer Science. Do you think its worth it?
======
kenrose
> 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.

~~~
captainjeff
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...](http://support.csis.pace.edu/CSISWeb/docs/worksheets/GradWorksheets/worksheet_Grad_MSSDE_2011.pdf)

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?

~~~
rwallace
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.

------
HLJackson
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

------
cblock811
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

~~~
burger_moon
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.

~~~
dorfuss
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](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.

------
ecspike
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.

------
briHass
> 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.

------
mattkrea
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.

------
panjaro
My Question is 'WHY ? '

And you should ask yourself too 'WHY?'

------
brudgers
Worth it how?

