Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I started programming fairly late. I am 24 years old and about to graduate from a local public university with a really poorly designed curriculum and teachers.

Most of the work felt like busy work, and no matter how much I try, it all feels like a waste. I know what a good curriculum looks like. I know what books I should read, but alas it's not so in my university.

There is no way at this point that I can catch up to those graduating from places like MIT.

My question and this is a serious one: what do I do? Do I just postpone learning the theory I would have learned until later and focus on software engineering skills? How important is the theory in terms of landing a job in New York? Any particular things I should focus on to land a software engineer job?

I am very motivated and I just wish someone would give me the time and a chance.

share|improve this question

closed as too localized by gnat, Walter, Bernard, Jim G., Yannis Aug 27 '12 at 14:40

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

Just build stuff. If you know what books you should be reading then why aren't you reading them? –  leo Aug 27 '12 at 5:43
+1 because this question doesn't deserve -3 –  Lukas Stejskal Aug 27 '12 at 8:59
+1 @LukasStejskal I agree –  Anthony Aug 27 '12 at 9:12
You should also read @Kenneth 's answer in Did Your CS Program Prepare You Well? –  Anthony Aug 27 '12 at 9:46
Sounds like a case of thinking the neighbor's grass is always greener than yours. Just worry about yourself. Write a little object oriented game. Setup a little web server and write a little web app. Design some software outside of the school curriculum and your confidence will rise. –  Adam Bruss Aug 27 '12 at 18:09

4 Answers 4

The best advice I got from the chair of our CS department is this:

Your education is your responsibility

In other words, no matter what disadvantages you think you face, you can always find ways to still excel academically. If you are ambitious and disciplined, have a look at the following resources:

share|improve this answer
+1 @LukeMurphy I graduated with a BS in Computing Software Systems Emphasis. However, although its focus was on programming, I still think that a CS degree is tops for its theory. That is why I enrolled in 39 Coursera courses because many of their CS courses were not available at my university. I am also very excited about edX and can't wait for this new education revolution to become widespread! –  Anthony Aug 27 '12 at 9:33

Paul Graham said it best (about high shool, but anyway):

If I had to go through high school again, I'd treat it like a day job. I don't mean that I'd slack in school. Working at something as a day job doesn't mean doing it badly. It means not being defined by it. I mean I wouldn't think of myself as a high school student, just as a musician with a day job as a waiter doesn't think of himself as a waiter. And when I wasn't working at my day job I'd start trying to do real work.

Here's the whole article. If you feel that education at your school isn't good (which is quite possible, given the average level of IT education) and changing schools isn't an option, so what? Paul Graham again:

Treat school as a day job. As day jobs go, it's pretty sweet. You're done at 3 o'clock, and you can even work on your own stuff while you're there.

This is much harder to do (but possible) while working, so use your time at school as much as you can. Many people haven't got good IT education (I consider myself among them, and it didn't stop me from becoming competent programmer), but whining about it and blaming school doesn't help anything.

Nowadays it's easier than ever before to learn IT:

  • computers are cheap (remember the notebook prices 15 years before?)
  • internet is cheap
  • many free online books
  • many free online courses (even CS courses from top schools like MIT!)
share|improve this answer
+1 I could not have said this better myself. –  Anthony Aug 27 '12 at 9:44

My bachelor's degree is half from a community college and half from a "crappy local public university." My master's degree tuition was mostly paid for by my employer, so it's from an expensive, respected private university.

Yes, some of the teachers at my graduate school were marginally better than some of the teachers at my undergrad. Some of the courses had marginally better curricula. Do you know what the biggest difference was? The quality of the students. It was the first time in my life that being graded on a curve made getting a good grade harder.

A good education can't be given to you, you have to take it, and you can take a good education from anywhere. You're not going to get (and keep) a good job by blaming your school for your shortcomings.

share|improve this answer
+1 for "A good education can't be given to you, you have to take it, and you can take a good education from anywhere. You're not going to get (and keep) a good job by blaming your school for your shortcomings." –  Anthony Sep 18 '12 at 2:14

I also felt my CS education was largely a waste. Not completely, but largely. I still felt great about graduating and getting that CS degree. Even MIT doesn't teach their students what they need to know on the job. Probably even less so. No, the theory isn't that important IMO. Some say a lot of what you learn in school is discipline. You may have that already. If you know your stuff and can impress on interviews you will do fine. Don't worry that you didn't go to a high priced school.

share|improve this answer
+1 Universities are not perfect. Limited resources, limited faculty, politics, affiliation agreements, deadlines - there is only so much a university can provide a student, education-wise. To make matters worse, there is only so-much a lecturer can "cram" into a typical semester. Furthermore, CS degrees are different from SE degrees. CS degrees are not designed make their student proficient in programming (although CS student must become proficient before they graduate inorder to be respected) - CS graduates are really prepared to design new systems for fellow programmers and SE to use. –  Anthony Aug 27 '12 at 9:22
A CS education isn't about teaching you how to write programs "on the job". Sorry if you thought that; maybe that's the root of your bad experience. –  Andres F. Aug 27 '12 at 13:28
+1 for "what you learn in school is discipline." –  Bernard Aug 27 '12 at 13:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.