How To Get Into an Elite Comp-Sci Program
alphadogg writes "With early applications to elite colleges at an all-time high, the nation's highest-rated undergraduate computer science programs are bracing for an uptick in applications between now and January. High school seniors are facing stiffer-than-ever competition when applying to the nation's top computer science programs this fall. But admissions officers and professors at elite tech schools can offer tips aimed at helping your child get accepted come spring."
In the end your own talent matters more than where you go.
To offset political mods, replace Flamebait with Insightful.
My brother is an IT consultant, he says the contract job opening has been consistently high and the unemployment is quite low in that field. However his skill set is mainly in coding on the PeopleSoft API. Comp Sci degree is not required for that job. Wonder how many high school students flock comp sci thinking of coding jobs? How many are going to confronted with concepts like P and NP problem sets and equivalences and find that harder than calculus?
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
I'd much rather be Leet.
Same thing, but with Mad Skillzzzzzz!!!!!
The world is as it is, but, it is my desire that these tips were directed at (and people expected them to be directed at) the "children" (adults) applying and not the parents.
Assuming your kid is capable of getting into an "elite" Computer Science program, how about instead he:
1. Goes to a upper-tier state school (helps if there's one in your home state, but not necessarily a deal-killer),
2. Does a paid internship (or two) before graduating,
3. Graduates with the albatross of huge debt around his/her neck (and with some work experience).
For an undergraduate Computer Science degree, I'm not convinced it's "worth it" to pay the big bucks.
Don't be such an asshole.
College rewards those who have the ambition to do the work, not those who are just good at passing tests.
From the article:
It also helps to be a girl. At Rose-Hulman Institute of Technology, for example, only 14% of the computer science majors are women, so it's easier for female applicants to stand out from the pack. [...]
What kind of advice does that lead to?
"MISC NOTES FROM APPLICANT: He walks like a girl, swims like a girl and talks like a girl! Also he likes being called Ada!"
Don't be such an asshole.
College rewards those who have the ambition to do the work, not those who are just good at passing tests.
Yep, though I still think test grades are weighted too much in college courses. I don't care what the discipline is, a one hour test over all the material does NOT approximate "a day in the life" of someone who's mastered that material.
PS I hate tests, standardized crap tests infinitely more than other tests.
PS: I don't reply to ACs.
I completed my BS in Computer Science at Carnegie Mellon University ( consistently ranked #2 or #3 in CS), and I'm currently in the master's program there. How did I get in? I'm not sure. I've never felt like I was smart enough to be at this school, and I think this is a common conception among students here. We all feel like the admissions staff made some kind of mistake. I think it all comes down to showing that you are really passionate about computers, and have taken initiative to do stuff on your own. What did I do in high school? Mostly, I just screwed around, but I did do a lot of programming projects on my own: video games, web apps, robots. That's what we talked about most during my interview. Not my grades, or my SAT scores (though they were pretty good.)
Looking back to when I was in high school, I had no idea what I wanted out of college or what I really wanted to do with my life. By my last year in high school, I had been an unpaid summer intern at a software company and taken AP Computer Science, but even then, I really wasn't sure. I _thought_ I wanted to study Computer Science, but I had no idea how hard the theory courses would be or if I had any hope of becoming a competent programmer. When I was in high school, I thought that after a semester or two of college CS courses, I might change my major after deciding it wasn't what I had hoped for. In the end, everything turned out well and I did get a CS degree, but that doesn't happen to everyone.
As a highschooler, I also was misinformed about the quality of education I would receive at different schools. The misconception is that only at an ivy league school or other similarly ranked private school will I get a solid education. I applied to several top-level CS schools but ultimately went to an in-state highly ranked public school since it was much cheaper. There are plenty of good public schools that offer strong CS programs -- MIT, Stanford, et. al. are good, but there are many others that also meet a high quality threshold. I came out of undergrad as a strong programmer with a solid understanding of the theory of computation, in part because of my schooling, but also because I was willing to learn. Internships also helped -- these were especially helpful in gaining employment.
Look at Mark Zuckerberg, do you think he managed Facebook because of the superior comp-sci education he got at Harvard? No, it was because of the connections he made and the people he collaborated with. It's the same with any of the 'elite' schools, the real value is that you will either get to know some very smart people, or some people with access to a lot of money or ideally both that is the real payoff for going to such schools.
The other comments are correct that talent and a good mentor can give you what you need to build skill, and that the degree itself really just gets you into your first job with experience getting you your next job, but it's the connections these schools provide that help make the difference between getting a good job and building a world-class career or company.
Being good at something is more important than being trained at something.
I've been using computers since I was a child, I started programming in Basic at 8, PHP at 13 and moved to C# and Obj-C at 18 as part of my first job. I only got enough credits from a local community college for an associates degree, which I didn't even get as I was offered work before I completed it. I was able to pay for college out of pocket and any debt I incurred while I was there I was able to pay off with my first three months of paychecks.
I may only be a 'lowly web developer' but outside of the big-wigs of Microsoft, Google and Yahoo, I'm highly sought-after and paid well (Market rate is about $50-$60/hour). I greatly enjoy what I do and the field is (for the moment) ever growing. I may not be doing hardcore comp-sci work, and I may not work for the biggest names in the industry, but neither of those things are important to me. Of my friends who obtained college degrees, I make the most money and have the least debt, never struggle to find work and have no complaints other than those pesky client requirements.
Have I thought about going back? Sure, I took a semester at my local university of Physics. I found not only was it too time consuming for full time work, but the cost (over $7,000 semester, about what I spent in total on my CC education) but almost no one else there took it as seriously as I did (they wanted to party, and f*ck, and make lots and lots and lots of money with their philosophy degrees.) I feel like I came out on top without kidding myself or digging a hole of debt I can never repay.
People should really consider their options and not just follow the status quo. Not that there's no room for a proper college education; there's a LOT I don't know because I didn't get a degree. However, I can look up what I care about by reading books, the internet and wikipedia (and I do all of the above). Those same text books the students buy can be bought be anyone, and in fact there are much cheaper alternatives when you're not required to be a specific print/edition.
SATs are a filter. They don't get you in. If you get a 1600 (or whatever the max is these days) you're now on par with 10,000 other kids who also got a 1600.
The valedictorian at my highschool, 5.0 GPA (AP scale), 1600 SAT, smartest guy I know, got rejected from MIT. He ended up going to U Penn, now works at Google. Another girl got into MIT with lower GPA and SAT, but she had like 400 extracurriculars and was involved in everything. Just goes to show it's not all grades that count.
Unless you're planning on getting one degree (bachelor's) and trucking out of academia for life, don't go to a big name university for undergrad. They're expensive and the material and lessons do not change enough to warrant the cost.
If you *are* planning on getting one degree and trucking out of academia for life...still don't go to a big name U. You probably know exactly what you want to study, so apply to a program that's well known for that degree. There's still no need to hit a top 10 college in that case because undergrad material really isn't ground breaking stuff. (It can be, in the later classes, and in those cases you're walking the line toward further academia.)
PS: I don't reply to ACs.
Just my 2 cents....
1. Enter to a top college in either Electrical Engineering or Physics... or some other technical major
2. Do as many as possible CS courses while there
3. Do few internships in CS related field
4. Self-learn whenever you can, whatever you can find in CS field
I did Electrical Engineering in college. But half way through I realized that only thing I liked about that major was, digital logic and programming. So I enrolled into as many as possible CS related courses; did my senior year thesis something close to CS (communication protocol simulation using distributed network); and read/learned as many as possible CS related topics (mainly programming theory and parallel computing). Then I did my PhD in Electrical Engineering too. I managed to make my thesis much more CS related (machine learning + pattern recognition) and used much of my knowledge in algorithm, optimizations and distributed computing.
Just 2 weeks ago, I secured a web developer position at a software firm (somewhere in far east). Still I had to go through a written + oral technical examinations on programming, algorithm and puzzle solving. But the knowledge and experience came in handy. One added advantage I have, coming from Engineering background, is knowing everything from how the microprocessor, cache, memory works up to the level of how protocols at WWW level works. And when you start programming with "so-called ancient" multi-paradigm languages like C++ and some assembly in college (most microcontrollers still use C/C++ and/or ASM), it gives you a good foundation on whatever language you need to learn later on. Over the years, I've learned MATLAB, Python, JavaScript, SQL, C#... and now Ruby... but still, fundamentals concepts I understood while learning C/C++ was critical in most cases.
Just crack their admissions system and approve your application. While you're at it, give yourself a scholarship.
Here is how to get in. Insure your parents have made sizable donations in the past, then apply and insure that the next donation comes in only after you've been accepted.
If admissions are at an all time high, then why is Microsoft and Google still pushing for exceptions for more visas for foreign workers? Corporate officials keep complaining that there aren't enough CS grads and yet, the schools say otherwise.
You mean "come spring 2016 or later." If you're applying to schools now or in the next year or so, picking up anything new isn't going to matter, it might even hurt your chances at the top schools. Not only do schools care about what you do but they also care about how long you stick with it -- they want motivated people who can slog through the tough times, rather than dilettantes who join in a popular season. Freshman year of high school is probably the last chance you have of boosting your extracurriculars in a meaningful way, unless you're really outstanding (state level recognition or higher).
Advice articles like these should be for parents with middle school aged students.
your thin skin doesn't make me a troll
A few thousand dollars will get you a thank you form letter you can use as a tax receipt.
I've managed to carve out a pretty successful IT career graduating from a big state university, in a completely unrelated field (chemistry.) The thing that seemed to help most was the practical experience I got during school (tech support was my student job), and graduating in the late 90s helped. That said, recruiters weren't falling all over themselves to hire me like they might a grad from CMU, UIUC, Stanford, etc. It took work to get my first job, it was a crappy one, but every job thereafter has been won based on skill (and decent interview skills.) I do systems integration work rather than software development, and a good part of my job falls back on critical thinking skills and the ability to creatively solve a problem without infinite money, hardware or compute time. You gain that experience IMO, by doing what I did -- riding out the dotcom boom in a "boring" field where I could learn as much as possible about a wide array of systems and concepts. I wasn't an HTML millionaire, but I managed to get through 2000-2001 with marketable skills that kept me employed.
So, is a big-name school worth it for a CS degree? I think not, and here's why:
- If you believe the IT field is shrinking, and you'll probably have to take a lower wage to do what you want, then you shouldn't blow all your money on an expensive school. Especially if you need loans, you'll be paying for that education for a very long time.
- "Reputation enhancement" that you get from the big name probably isn't the same as what you get in other degrees/fields. If you graduate with an MBA from an Ivy-league school, you are almost guaranteed to make a few high level connections that will get you ahead faster than your peers. Some jobs like investment banking or management consulting are very difficult to get into without big-name school recognition, simply because they're a ticket to instant riches and kind of a closed club. Some "elite" tech companies like Google might place a premium on your educational pedigree, but unless you have your heart set on working there, it's probably not going to matter much.
- Recruitment is easier at big name schools, because large corporations seem to just send people to collect a few new grads based on the fact that they went to that school...at all levels of work. So, the difference might be "hand in your resume and watch the offers pour in" versus "hustle and pound the pavement yourself." If you can handle that for your first job, you don't have to do that for the second if you've managed to gain any marketable skills in the first.
Here's something else to consider -- I didn't do CS, but knew a lot of people who did. Very few people end up working as "computer scientists" doing the low level theoretical stuff. In fact, the secret is that business IT is full of contractors/consultants who make huge amounts of money doing work in some obscure niche. SAP implementations, Oracle DBAs (good ones,) and guru level network guys come to mind here. Think about the places you've worked where they parachuted some consultant in to work on fixing some problem. That guy probably makes $150+ an hour, and works 8 months out of the year.simply because he fills an immediate need for some weird combination of skills. You certainly don't need to be a computer scientist to figure out Oracle's garbage dump of a documentation collection [1], or solve a thorny OS problem. You just need to have a head for problem solving and the ability to travel anywhere at a moment's notice (perfect for a recent grad.)
Also, as noted in many other places, the cost of a college education keeps going up every year. Big name schools can charge more. You have to think of it as an investment, in terms of future payback. Do you pay, let's say, $50K at a state school or $200K at a name brand school? Are you reasonably guaranteed to make back to $150K difference and way more? If not, then don't do it!
[1] Oracle's a perfect example of what I'm talking about. First rule is that you can't properly install or tune an Oracle system without
The advantage of going to a more elite school is that your peers, on average, are going to be smarter and generally more accomplished. This ripples down in many ways, including a faster paced, more in depth curriculum, better resources, better professors, and, perhaps most importantly, connections & relationships for networking that can last a lifetime.
Not saying there aren't smart, capable people at the less elite schools, but generally those who claim it doesn't matter where you go are those who really didn't have a choice.
No, college rewards those who learn quickly and pass the tests.
Do you think "working harder" will teach you how to program? I remember the people who worked harder at my supposedly "elite" CS school - they frequently stayed up all night on assignments, struggled to get by. Most failed out in the first year, but it was the ones who barely made it that saddened me. Why were they doing this? How could they possibly love to do something they found so difficult?
You've either got he knack for it or you don't. And if there is one field that resembles the stupid logic puzzles of standardized tests, it is this one.
Another girl got into MIT with lower GPA and SAT, but she ...
... was a girl.
fixed that for you.
"How to get into big college debt for no good reason"
I suspect almost every state in the country has an in-state college or university with a perfectly good comp sci program that costs 10's or even 100's of $k less than an 'elite' school. The notion that the name on your undergrad degree could possibly be worth as much as a house is ridiculous. Worry about where you go to grad school, what classes you take, what grades you get, not where your undergrad is.
If you get a scholarship that makes going to MIT super cheap, the more power to you. All you need to consider when going to an undergrad program as far as I'm concerned is education quality/cost. Undergrad isn't about getting a big name, or having famous professors, or any of that. In grad school, those things can really matter (doing cutting edge research? need cutting edge professor. Learning how to code assembly for the first time? Probably any nice professor will do.). In undergrad, usually you pay more for those things and don't really learn much more. Probably a lot of programming teachers at community college do a better job than a lot of college professors. And they certainly run a lot cheaper.
Really, the best thing to do would be, in my mind:
1) pick a school you're interested in and think you can probably get into (maybe pick two or three)
2) Figure out how many credits they will let you transfer in, and then go to a community college for every last one.
3) Save thousands of dollars, by a car or save for a downpayment on a house
4) Transfer into Big University and get your degree
5) Get the same job as the chumps who went to Elite University
6) Look at your $0 debt in the bank, then look at Mr. Elite University's $100k debt and have a good chuckle.
Ze Atomic Device! It iz Ztolen!
I had the unfortunate experience of going through Stanford for a MSCS just before the "AI Winter". The "expert systems" (remember "expert systems"? ) profs were running the department. It was becoming clear that expert systems weren't going anywhere, and the faculty was in denial about that. They'd set up a 5-year "knowledge engineer" program, with a combination of computer science theory, philosophy, and psychological interviewing technique to write rules for expert systems (Where are those people now?) I had one exam where a question was "Does a rock have intentions"?
It took over a decade for the CS department to recover. After I graduated, the CS department was moved from Arts and Sciences, where it had been mostly autonomous, to Engineering, where it had adult supervision. It wasn't until the DARPA Grand Challenge forced Stanford to bring in machine learning people from CMU that the department really started moving forward again. Now they're making real progress.
(This is not well known, but Tony Tether, the director of DARPA, used the Grand Challenge to kick some ass in academic AI. The schools receiving funding from DARPA were told that if the private sector did better than they did, DARPA was turning off their grant money in AI. That's why the big schools put entire CS departments on the Grand Challenge.)
Yeah, everyone I know at Google got perfect or near perfect scores on the SAT, and none of them went to MIT. They all went to other supposedly "elite" schools, had no trouble getting in, and excelled without difficultly.
So what did we learn? Don't apply to MIT if you're not an application-padding suck-up, a lesson not much different than mine. Everything is a filter.
(And her SAT scores were still above the threshold, don't deny it.)
> Just goes to show it's not all grades that count.
I said nothing about grades. Grades are so inflated and non-standard they're practically worthless.
I said SAT, because it is a predictor of intelligence, particularly for systematic thinking. I'm not saying the tests are great, but if you can't beat the average for one of these schools, you have no business applying to its CS program.
SATs are a filter. They don't get you in. If you get a 1600 (or whatever the max is these days) you're now on par with 10,000 other kids who also got a 1600.
Yes 2400 is the max these days... I've been involved with admissions with my school (one of the top-10 depending on the list) and certainly SAT is used as a coarse filter (once above a certain level, the actual score is mostly irrelevant)... Also note that 2400 doesn't necessarily mean "perfect", every year the test is scaled so it may be that missing 1 question is still 2400. Also with the "free-form" math, and essay, it isn't they same test as in the old days... Also, most selective schools also require the "subject" SAT tests (used to be called SAT II, and if compsci, probably at least math 2 and one of the science tests).
Schools are generally more interested in grades/GPA than SAT scores, but even those are conditional (e.g., what courses you took vs GPA is more important than actual numerical GPA, say IB, Honors, or AP classes vs standard classes or underwater basket weaving).
The valedictorian at my highschool, 5.0 GPA (AP scale), 1600 SAT, smartest guy I know, got rejected from MIT. He ended up going to U Penn, now works at Google. Another girl got into MIT with lower GPA and SAT, but she had like 400 extracurriculars and was involved in everything. Just goes to show it's not all grades that count.
It's a little more subtle than just 400 extracurriculars. Typical "selective" schools tend to look for long-running extracurriculars, not just bulk (which tend to either be "fake" because nobody can spend 100 hours a day on extracurriculars, or if not actually fake, not representative of actual participation). Just pick a few extracurriculars and do them for > 3-4 years (starting in middle school), and show some commitment (lead developer for an open source project, lead chair in a band instrument, president of the chess team, even treasurer of NHS, attending math olympics, physics bowl, programming competition events or whatever).
Getting someone letter of recommendation from someone involved in the extracurricular is a really good idea so that they don't know it was some sort of "trophy" extracurricular (where you are a member to list it on your application, but don't really do anything). The generic guidance counselor "this is a smart kid" recommendation isn't really that impressive to a selective school because almost everyone gets one of those. Of course if your counselor knows you really well or can compare you to some other folks that ended up going to the school you are applying to, perhaps the counselor can write a better recommendation.
Just saying...
FWIW, there appears to be a better correlation to ultimate success on the schools that you apply to (not get in), than the school you acutally end up graduating from. So if you are the type that is ambitious enough to apply to a selective school, and you actually do it (rather than treat this whole admissions thing as a "thought experiment"), you might be enough of a do-er (or at least enough self esteem) that will make your more likely to be successful in the future, regardless of the school you attend (or drop out of).
And as a total aside, you have the best chance of getting into any program as a so-called "legacy" admit. Just make it past the filter levels and go to the same school as a parent, uncle, aunt or sibling. A "legacy" admit can get you into nearly any school you have the "pedigree" for... :^(
You'll never have the respect of people who have put in the time & work & rigor of earning a degree. Never.
I have a CS degree from a school with a good CS rep.
Yet I have a lot more respect for a clever and talented programmer regardless of path they have taken, than the MANY people I met at college who had no passion at all for CS or programming.
Just because you can make it through college means nothing to anyone who has seen how the system works.
I can use absolutes too. You are simply the exception that proves my rule.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
A. Find the cheapest quality program you can (determining quality itself a challenge in its own right and more elusive than prestige). B. Apply yourself diligently. Make debt avoidance your first priority.
Bukowski said it. I believe it. That settles it.
if you can't beat the average for one of these schools, you have no business applying to its CS program.
That's not even close to what you said, but it's much more reasonable.
...do Computer Engineering instead. You'll have a far better degree with more opportunities and a better understanding of computers, both practical and theoretical.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
Why the fuck do you still work for them? You have four year's work experience, time to move on!
You haven't been out of work or haven't been out of work for long recently, have you?
Though if any of those things involve "eating" or "not being homeless", might I suggest avoiding the Art Degree?
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Step 2) Don't be white
Step 3) Don't be male
Step 4) Don't have rich parents
Welcome to the program.
Another reason not to get too hung up on your university: if you don't get into a top-20 CS school for undergrad, you can always work hard wherever you end up, and then either transfer or get a graduate degree somewhere with a stronger reputation. There are also plenty of solid programs where you can get a Masters in a year (albeit a hellish year), and in my experience it pays itself off in a few years because of the higher starting pay.
Just what we need.
Another influx of people who get into programming for the money, and who are able to adequately pass the book learning requirements -- while lacking the fundamental critical thinking skills required to actually construct useful programs without massive amounts of direction and oversight.
For further information as to what this results in, see the vast majority of programmers who jumped on the 90s tech boom bandwagon, as well as the last decade of the programmers produced in India and other nations where it's seen as a cash ticket.
Yes, I've known skilled programmers who came out of the tech boom, and skilled programmers who have come from India as well -- but these are the exception and not the norm. There is a certain drive and a nearly natural ability to *think* in certain ways that allows one to be a talented programmer -- the ability to envision and hold complex solutions in your brain, to an extent running your programs with your brain as the CPU.
The vast majority of people who get into this profession for the money lack this ability -- and are suitable for heads down copy-paste programming, or at best programming while very closely monitored and supervised.
Ah well... it gives middle management a reason for existing, I suppose.
SOunds like you'd expect the same level of quality here as you would from an offshore hire. .
I would hope that companies doing this are "doing it right" -- providing a cut *above* the mindless capabilities that most offshore firms can provide. Unfortunately, based on your company site (for I assume this to be spam), you're following the same flawed model. Offer enticing pay (but below average for most of the country), provide the minimum training necessary to read some code occasionally, and sell that as "programming".
But hey - I'm sure it works to make money for the owner(s), if not maintainable code for your clients ;)
Why apply when you can live in your mom's basement and make better contributions the sciences? You are probably not doing yourself any favors chasing the erudite or elite programs of the sciences in academic institutions, but I could be wrong. Seriously though, your mom's basement is probably a better environment for learning these days.
I object to power without constructive purpose. --Spock
Prove P=NP or P!=NP in your essay. You are sure to get in.
How Gods good name is a CS Major suppose to compete with India & China? If you're that smart, why not just get a nice Math Major (they're practically the same thing anyway) and go off and do your own thing w/o the added stress?
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
I used to work for a company like that. They went bust 18 months after I left for a much better paid job with sensible hours, training and benefits including private health and free gym membership.
Stick Men
But admissions officers and professors at elite tech schools can offer tips aimed at helping your child get accepted come spring
Seriously, these are 17-18 year old people going to college. Stop calling them children. That is how you begin setting high expectations for them.
The company I worked for would definitely try and get as much out of you as they could, but you were also compensated appropriately. Extended-hours heroics were always rewarded.
But, the corollary to rewarding for contribution is the apparent age discrimination. The young guys just out of college who were single and were willing (and even enjoyed, I know I did, I got paid to work on some of the most advanced tech out there) working 60 hours a week had something over the 35-55 year old guy who always wanted to leave at 5 PM to get home for dinner with his family.
Not that there's anything wrong with that. Those kinds of people certainly brought experience to the equation, so that mitigated the mere difference in hours, but over the long term, only being willing to go 9-5 definitely impacted their growth potential at the company.
And to be fair, the people compensated more as high-level managers were the people who were willing to spend extended time away from family for business travel etc.
Point of the matter is, you can want to be compensated according to contribution, but the consequence of that is when you morph from 60-80-hour-a-week single college grad who loves doing the work to 40-hour-a-week married guy, that's going to have an effect on your compensation.
It's actually one of the reasons I got out of the engineering gig - now I do something that a fresh college kid isn't capable of. Although, even the 40-hour-a-week married with kids engineers, while not moving up like the 60-hour-a-week kids, had been there done that, got good salaries, and had very comfortable living standards.
paintball
The worker has the ability to quit whenever they want.
I don't know where you worked, but where I worked, everyone knew who the "good people" and the "not so good people" were (fortunately for me, all the not-so-good people were in a different geography, and were (mostly) the first on the chopping block when people got let go). When one of the good people did decide to go somewhere else, they just added another company any of the other good people could go work for if they wanted. Happened all the time - somebody would move to a different company, and then a couple of the other good guys would get offers, and either up their current compensation or move to the new company. I know I personally at least once got a very dramatic raise that I can only attribute to making sure I wasn't motivated to look for work somewhere else.
Now, the economy is different now, and there may be way more engineers than there are jobs for engineers, which is going to depress wages, but I still suspect that if you can't find a job, it's probably because you're not actually one of the "good people".
But seriously, if you don't like where you are working, GO WORK SOMEWHERE ELSE.
paintball
Bosses have something that developers don't.
The power to hire and fire as they damn well please, and corporate contact with the clients.
And also the power to give you an ugly reference if you don't kiss their ass.
Sometimes an insane captain would rather sink his own ship rather than let one rat escape undrowned.
I'm not sure in what planet you are, but no company takes an ugly reference without a grain of salt, if ever. For quite some time companies only care to get a reference indicating whether 1) you indeed worked where you claimed to have worked, and 2) that you worked on the things you claimed. High marks from a past employer are just added bonuses.
Also, it cuts both ways unless you are fresh out of school (or you are a sucker.) Employers can hire and fire as they please, specially the bad ones. Do you want to work with that kind of an employer. No. Not unless you have to. And the frequency in which you have to is directly proportional on how you actively control your career and professional life.
Don't wait for shit to get bad. Look ahead for your career. If all you know are shitty bosses and employers, you have to ask yourself what exactly you have been doing with your career development. One bad employer here and there is inevitable. But enough of them to make one believe that is the status quo, that's on you.
A surgeon has a minimum of 11 years and up to 16 years education training between 4 years undergrad, 4 years grad, 3-8 years residency. And average salaries for surgeons are still only $250-$350k.
So, I get an undergrad degree in a CS/Engineering field, I'm pulling down $50k+ first year out of school. For the next 4 years, the med student is dropping $30-$40k/year on their education, so I'm "ahead" of them by $320k after 4 years. Then residency hits, and I'm probably up to $80k while the resident is $50k, so throw on another $90k-$240k.
So doctors "break-even" with engineers after maybe 5 years out of residency. In the meantime, who do you think was having more fun?
But the reality of the situation is this is a bad question. If you're the kind of person who would do well with engineering/CS as your career, you are almost certainly the kind of person who would be a horrible doctor. The two professions are the antitheses of each other in terms of one key component: Amount of time spent dealing with people. (Exception: Radiologists.)
paintball
...I learned many of the fundamentals of good computer science in my high school pascal classes.
Actually, that's not true - I probably learned many of the fundamentals of computer science in my elementary school "gifted learning" class. We learned problem solving.
The difference between infotech and CS is between how to write code and WHY you're writing the code you're writing.
paintball
Why the fuck do you still work for them? You have four year's work experience, time to move on!
You haven't been out of work or haven't been out of work for long recently, have you?
He does have a point. The current software-related job market conditions are not as bad as in 2007-2009 (or worse, during the dot-com bubble burst). Obviously it doesn't mean to throw a turd at your employer's face and leave. But it does mean it is time to be proactive with one's career, and look for alternatives (there always are.).
Unless you are working with a big engineering/engineering-related firm like Google, Amazon, Microsoft or Lockheed Martin or you are working in a technological dream job, 4-5 years is too much to stay at one place. Staying longer (specially in a place that sucks monkey gonads), that's a good way to become COBOLIZED.
Step 1. Move to Canada
Step 2...
"I thought they were the dominant species..."
- but since when have incoming freshmen been required to declare their majors before being accepted at most engineering schools?
I'm a not-so-recent alum of a fairly decent school (Rice) and as far as I know as recently as 10 years ago it was normal for many students to wait until well into their sophomore years to declare a major as long as the prerequisite courses were passed. And Rice, being a smallish school, has a lot of collaboration between departments. The exceptions were "professional" schools like music and architecture, where worst case, it might take an extra year to make up the entry year prerequisites.
Give a man a fish and you have fed him for today. Teach a man to fish, and he'll say "WHERE'S MY FISH, YOU IDIOT?"
So, basically, it always matters?
Unless you're rich & connected, you need MBA to prevail in globalized economy.
Slashdot = Sarcasm
If you are lucky enough to be in IL or another state with a top-rated uni in CS with an articulation initiative, go to community college, get the requirements there, and get in. That's what I did. Of course, this was about 2.5 years ago, but, hey, it worked for me.
Maybe that's how it works in the USA but not over here. I go to one of the best universities here, and it's a "well known fact" that everyone has to do loads of extracurriculars to get in. I did barely any (or at least any that were recognisable enough to put on the application), and still got in ahead of those who were attempting to game the system. I later asked my tutor about it, he just said what I'd suspected, they don't care about all that stuff, they didn't bring you in to chat with you about your hobbies, all they care about is aptitude and passion for the course (notable exceptions things like medicine where you can't just be overly obsessed with biology and have no personal skills). Lots of people here now had lots of extracurriculars yes, but in reality its largely because a) they got them because they thought they needed them or more often b) they're just people who like doing lots of interesting things, and have the time-management to do so.