Getting a top education in Computer Science from a non-top program

<p>

</p>

<p>Why does everyone seem to think that the same three or four (+ Facebook) companies should be the goal employment destinations of CS majors? It is not like they are the only computer companies around, and they are large enough now that lots of people work there, so seeing them as sort of a super-elite group of companies may be somewhat misplaced. It is not like they recruit only at elite universities either; back in 2007 or so, Google recruited at 70 campuses (and Google is larger now).</p>

<p>

</p>

<p>But how many recruits will you actually get from the small number of CS students, some of whom will be recruited by banking and consulting companies?</p>

<p>

</p>

<p>I like this website but folks put way too much emphasis on:</p>

<ul>
<li>AP credits</li>
<li>How many extra-curriculars do I need?</li>
<li>GPA</li>
<li>Name of school or Ivy League</li>
<li>Must work for Google, Microsoft, Facebook or Apple</li>
</ul>

<p>Sometimes it is like a herd of uninformed sheep. There are folks with ASSOCIATES DEGREES charging federal agencies $125 to $150/hour (multiply that times 2080 hours) for their technical expertise and who would absolutely LAUGH at this site and the posts that emphasize chasing AP credits, school name and the like.</p>

<p>Since many folks only look at those solo paths to mythical success, they become disappointed when that path get even so slightly derailed and then want to post “Is my life/career over?”</p>

<p>I am going to revisit the above topics that are talked about so much and put holes in all of them:</p>

<p>AP credits - Who gives a rat’s a**…They will still graduate no earlier than a semester before someone with absolutely ZERO AP credits.</p>

<p>How many extra-curriculars do I need - Not ONE employer even asked about my EC’s</p>

<p>GPA - Can matter for grad school but an employer voucher and 2.5 GPA will make almost any grad school forget about a 2.5.</p>

<p>Name of school/Ivy League/prestige - I talk to senior engineers, CTO’s, leaders within NSA/CIA/FBI, govies or contractors and have been their offices with degrees on their wall from U-Alaska, U-Alabama-Birmingham, New Mexico State…aww hell, any State-U.</p>

<p>Must work for Google, Microsoft, Facebook or Apple - There are contractors billing as a 1099 contractor and subcontracting through 100-person startup companies making $125-$150/hour. No management…just straight 40 hours.</p>

<p>Again, I like this site but damn…there are more ways to skin a cat folks!</p>

<p>I take issue with your skewering of AP credits. My CS major son is about to enter UMCP for his first year, but because of extensive AP credits, he is a few credits shy of being a junior. What that means is that he can get a double degree (B.S. and a B.A.), which requires 150 credits, in the 4 years that his Banneker-Key scholarship is covering his costs. That double degree (CS and Classics) makes him more marketable, and he doesn’t have to pay for an extra year to get a second degree.</p>

<p>There are many different kinds of jobs in CS, and some pay better, involve cooler technology, etc. than others, and certain schools have a more direct pipeline into some of these jobs than others. But these aren’t the only jobs worth having, any more than Harvard is the only university worth attending.</p>

<p>Also, compared to many other fields, CS is really very wide open–what you know how to do matters a lot more than where you learned it, and there are plenty of ways to learn things and demonstrate what you know outside of a formal degree program. </p>

<p>I’m a CS prof, my department hears from the companies who recruit our students is that it is easy for them to find students with good technical skills (grads from our program and others) but what they really want are the much rarer students with good communication skills, too.</p>

<p>I don’t understand this thread. Are we talking about money? If we are, any school will work–just supplement your coursework with open-source projects, and staying on the bleeding edge of web technologies, or distributed computing, or whatever else might interest you.</p>

<p>I would like to dispute the point that software engineering is CMU’s “bread and butter”. CMU does have expertise in this area, but it has expertise in most areas–robotics, algorithms, HCI, etc. It surprises some people that it is possible to get a CS degree here and never formally learn OOP. While there is some focus on learning how to write and structure software, the core curriculum emphasizes “computational thinking” - being able to think abstractly, algorithmically, inductively, and to think about issues like scale, trade-offs, and computability.</p>

<p>Yes jogo84 is correct. CMU is the home of the Software Engineering Institute, which is a very influential federally funded research center that among other things, published the CMM (capability maturity model) for software development.</p>

<p>That doesn’t mean that the undergrad CS program is all about software engineering, though, or that the typical undergrad would necessarily have any interaction with the SEI unless they wanted to.</p>

<p>

</p>

<p>I neglected to mention another factor in conjunction with that. It isn’t just the numbers of courses and types of requirements, but also the campus cultures and the types of students they respectively tend to attract. </p>

<p>UChicago is well known for the deep intellectual culture where students really want to delve into academic topics well-beyond what is perceived as needed for a job/career. This was confirmed by what I’ve heard/observed of UChicago grads among friends. It’s classically influenced core curriculum is one of their draws along with that intellectual campus culture. </p>

<p>On the other hand, one common complaint I kept hearing from several friends who graduated from MIT and from my observations on that campus is that the majority of students are extremely pre-professional and sometimes even openly disdainful of fields outside of their mostly STEM majors. In short, most would wonder why would someone “waste time” with the “liberal arts”(a.k.a. Humanities/Social Sciences). </p>

<p>From their accounts and my own firsthand observations, someone who wanted a classically influenced education won’t find too many likeminded students for support/mutual educational reinforcement in and out of class at MIT as opposed to UChicago.</p>

<p>Re Harvard grads: Those (Google, Apple etc.) are the ones, I remember, (it was six years ago now!), I’m not saying they are the be-all and end-all. Not at all - hey both my brothers head up companies that probably few people on this board have heard of. :)</p>

<p>

</p>

<p>No, it doesn’t. If I spend my time working on an open-source project or learning new technologies instead of spending my time taking Classics courses, that makes me more marketable than him. And then you will wonder, “…but my son had a double degree?”</p>

<p>jogo84 put it well.</p>

<p>There is a lot more to a Computer Science education than just teaching the latest programming language/tools.</p>

<p>

</p>

<p>That may not be true of all companies. </p>

<p>Having a Classics degree or anything outside of STEM/CS along with a STEM/CS degree could also signify someone who is intellectually open-minded, flexible, and most importantly for some companies I’ve worked with…above-average written communication skills.* </p>

<p>The last is especially important if the company is not a hardcore engineering/computer technology company and you’ll need to learn to work with colleagues, supervisors, and most importantly…clients whose techie skillset is average or worse, nonexistent. </p>

<ul>
<li>Compared with other STEM/CS graduates they’ve interviewed/employed.<br></li>
</ul>

<p>

</p>

<p>Ha! If anything, every CS graduate I know of who works in the computer technology field and supervises/hires others has told me that if that’s all/most of what a given college’s CS program does…don’t walk…RUN AWAY AS FAST AS YOU CAN.</p>

<p>Nah, maybe they wanna meet more girls than they would if they were doing straight CS lol.</p>

<p>S1 got quite a few comments from recruiters and profs on his ability to explain complex topics in a way that lay people can understand. Those communication skills (oral and written) can come in darned handy. There are also jobs at some of these places that are truly interesting and not cookie-cutter.</p>

<p>S never took a programming language course in college.</p>

<p>

</p>

<p>It’s rare to find one who can explain his STEM subject in lay people’s terms. I tried, as a lay person with enough schooling, to understand God particle (see <a href=“http://talk.collegeconfidential.com/parent-cafe/1361929-god-particle-laymans-terms.html[/url]”>http://talk.collegeconfidential.com/parent-cafe/1361929-god-particle-laymans-terms.html&lt;/a&gt;), got some good explanation but still don’t understand it as much.</p>

<p>Are we saying that CMU really is not a top program because it lacks training in communication skills etc?</p>

<p>

</p>

<p>I’d really like to hear a professor’s evaluation of CMU’s curriculum. Does it have uniqueness and strength somewhere, or is it about the same curriculum like any other top-100 programs? I know without going into details to compare syllabi/homework/problem sets, we cannot judge a particular course. Maybe some of us don’t dispute the toughness of CMU’s curriculum but only say that a student can get CS fundamentals from any schools.</p>

<p>I can’t speak to CMU’s humanities or communications courses for CS majors. S chose not to apply there because he wanted a more well-balanced curriculum. That said, he is very interested in CMU for grad school.</p>

<p>I was a bit surprised at his decision at the time. OTOH, for a kid who had always been all math and and CS since kindergarten, DH and I were pretty thrilled that he was expanding his horizons.</p>

<p>By far, communication skills are the most important aspect of computer science, assuming that a decent tech proficiency and skill are present. In this day and age of humongous software projects (ours is 160+ in half a dozen countries) the peons need to (a) understand the copious instructions, requirements, and so on (b) produce their own (c) communicate with the rest of the team in conference calls / IM / video calls (d) interface with the customer or other suppliers and (e) get along with people from vastly different cultures during trips (and there’s lots of those).</p>

<p>Knowing C++ slightly better than Bjarne Stroustrup won’t do us any good if you can’t talk some unfortunate person two continents away thru an issue. All the comp sci classes in the world won’t prepare you for the totally unpredictable stuff one runs into in complex distributed systems - if you approach it with the “I went to a US News and World Report top X school, therefore I can do this” that may not be the best way to do so. A bit of humility is paramount.</p>

<p>Finally, the part about working for the Googles, Amazons, and Facebooks of the world. If you want fame and name recognition, maybe. But make sure you understand what the project is, and what the company culture is, before you accept a plush job offer. Based on my experiences from myself and the Mrs. (I’ve been on the same job for 27 years, she changes every few) shop position and experience, not company. Few people have heard of what we do, yet when I was hired in back in '85 I started writing code from day 1 next to some pretty awesome PhD’s and learned a lot. A lot of my friends who went to the famous Silicon Valley companies ended up doing testing, paperwork, customer demos, and the like. Also, make sure you understand what the company culture means. $90k starting is meaningless if you work 60 hours every week unpaid overtime…</p>

<p>Haven’t read through the thread but like mathmom my son is a CMU CS grad. But he’s 7 years out whereas I believe mathmom’s is maybe one or two? My son double majored (CS, IS plus IS Master’s).</p>

<p>A few comments…starting salary…what is more important in my view is to look 5 (or 7 in son’s case) post graduation. Even three years. Granted son took the NYC finance route but he makes several times his starting salary. One year, it doubled, so you aren’t talking 10 or 20K increments. Good thing…NYC isn’t cheap. Also bonuses have been substantial, significantly more than his salary. That’s slowed in the past couple years, still his salary is quite high.</p>

<p>CMU Career Service was top notch… he told me you actually have to work hard to NOT find something. His first job was a product of an on campus interview. Worked at that investment bank (very well known) four years then moved on. He’s looking for a job change currently and is swamped with recruiters and interviews, more than he can handle. Is that a result of CMU? Probably not but the initial IB, his first job after graduation, doesn’t recruit widely so ultimately CMU gets some credit.</p>

<p>It would be wrong to assume CMU CS grads are a bunch of one-sided nerds devoid of personality and lacking in the lib arts and especially lacking in communication skills (don’t know if this has been alleged…just feeling a little defensive just in case ;)). In another era, my son would most likely have gone to law school or earned a phd in philosophy, something along those lines (he is quite articulate). He took several piano courses, bunch of lit courses (his favorite) a play writing course (his play was performed by School of Drama students) …blah my point is his friends were the same, a talented bunch. You can thrive on the tech culture there but there are plenty of outlets. </p>

<p>Communication skills…son has complained often about the supervisors who can’t make a point, who are vague in explaining project goals and deadlines, and project team member who are inarticulate and/ or who don’t contribute. </p>

<p>btw we loved Pittsburgh, so did he and his friends. Parts are quite pretty, great restaurants, friendly people, Pitt and CMU together (they’re neighbors) make for a formidable student population.</p>

<p>^^^agree that finding the kinds of people and projects you want to work with are more important than the name of the company. S was very concerned about finding a good fit.</p>

<p>

</p>

<p>It may surprise some people, but there are colleges and universities far beyond the “top 10” (or whatever top small number) that offer a solid CS education (as opposed to just the programming language of the day, less-technical IT courses mislabeled as CS courses, or extremely limited selections of proper CS courses, which unfortunately do exist as well).</p>

<p>

</p>

<p>However, there may be a gap in curricula in that there are sometimes no courses relating to communication of technical subjects to both technical and non-technical audiences. These types of communication are somewhat different both from each other and from communication of humanities and social studies subjects.</p>

<p>CMU does have a required technical writing course for the comp sci kids as a specific requirement because they believe that students need to communicate. I’m not sure how effective it was. My son did get an A in it, but I don’t think he spent much time at it. He reads so much, he actually does write quite well. He’s terrible at explaining anything computer-y in laymen’s terms though. They also require students to have a minor because they believe that comp sci is something you should apply to other fields. They always like to bring up the guy who minored in music and played bagpipes. (They did manage to get someone to program bagpipes to play Pomp and Circumstance at graduation.) IMO in theory CMU is doing all the right things in regards to producing well-rounded articulate students, in practice not so much, but that’s pretty normal.</p>

<p>Anyway the point of the thread I think was can you get a good comp sci education elsewhere. I’m sure you can. You just have to work harder at it and make your own opportunities.</p>