

Attention Comp Sci Majors: - connorlee

To all of you Comp Sci majors out there: How well has the major prepared you for programming modern frameworks and languages? Will the work pay off for someone who wants to learn frameworks like RoR or languages like HTML5, CSS3? I'm asking this because with comp sci, you usually need to take heavy math courses. Would a programmer be better off going into design so he/she has more time to teach themselves?
======
rickdale
No, eventually the math will catch up with you and limit your programming
ability. You don't need a comp sci degree to do web design, but if you are
designing the infrastructure of a web application a computer science degree is
nice to have.

I graduated in 2009 with a degree in comp sci from a decent college. I am
working now programming a web application for non profit companies. When I
first started my duties were slim, but nowadays I do a good range of tasks
competently, and I credit that to my degree.

The other bonus to a computer science degree is the hours it takes to achieve
the major. Those hours of practice are vital to becoming a good programmer, be
it for the web or otherwise. It teaches you good work ethic and focus and
gives you the ability to solve tough problems.

Get a comp sci major.

------
clyfe
True innovation requires hard math and CS.

Take Shazaam for example, who built an empire on audio data indexing/search,
sound recognition = numerical analysis + probabilities + statistics + search
algorithms + a lot of knowledge about systems architecture, distributed
systems, databases etc.

Of course you can build products a la 37signals but is a lot more to software
than that (and also note that 37 guys are not code monkeys/script kiddies/you-
name-it, they actually know lots about CS - sample here:
<https://github.com/rails/acts_as_nested_set/blob/master>
/lib/active_record/acts/nested_set.rb )

At some point in your career you'll want to: write a parser, search a graph,
optimize some storage thingie ...

Epilogue:

[http://steve-yegge.blogspot.com/2007/06/rich-programmer-
food...](http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html)

~~~
connorlee
yeah, I probably wouldn't call "the 37signals guys" script kiddies, David
Hannson created Ruby on Rails. I agree with your take on innovation, Pandora
would be in the same boat.

~~~
clyfe
I said the exact opposite: 37signals __are not __script kiddies, they are
really smart, educated people, that make use of CS knowledge in building their
products.

------
bigethan
Two answers, sorta:

You should play to your strengths/interests.

Staying up to date in the tech world requires a bit of passion, so choose a
path that you'll enjoy over one that makes the most sense. If you have a
design eye and prefer building interfaces a CS degree might not help you much.
If you like hard core problem solving that requires heavy analysis, CS might
be more suitable.

Secondly, I don't think that a CS degree will 'pay off' in HTML5 and CSS3
skills as much as it will pay off with language and knowledge around how the
nuts and bolts of programming works. My experience as a non CS major is that a
CS degree isn't really required for a lot of things in the tech world. There
will be some problems that will be terribly difficult and confusing if you
don't have the depth of education that a CS degree would provide. I accept
that as a weakness and try to work around it and to keep learning.

------
serge2k
Take comp sci. You will (should) get exposed to at least a few languages (in
my case java, scheme, prolog, lisp, c, c++ to varying degrees, mostly java)
but more importantly you will learn about other stuff like various data
structures, logic, etc...

Once you start to learn a few languages and how to build with them it becomes
easier to transition. It still takes time, but you spend less time trying to
figure what you want to do and more time trying to figure out how to do it in
a specific language.

That said, I honestly believe that if you just want to be a programmer you
should try to find an alternative to a full 4 year program. A couple of years
at a school that focuses on teaching you to be a programmer might be a better
fit than a more theory heavy comp sci program.

------
kbolino
If all you want to do is program, then you don't need a Computer Science
degree; in fact, you don't need a degree at all. A reasonably intelligent
person can read all the free tutorials on the web and develop a decent sense
for programming.

If what you want to do is think critically, write better programs, and
possibly even tackle problems that have never before been solved or even
addressed, then you need a Computer Science education.

------
ekm2
As a double major in Math and CS,i usually concentrate on coursework Monday to
Friday,then switch to a free spirit mode over the weekends in order to learn
modern frameworks and languages.

