Alright, life, when does the hard stuff start?

I’m wondering: When does life start do get difficult? I’m maintaining an B+ average in Computer Science here as a freshman at Virginia Tech. I get along with my roommate. I don’t smoke, snort, or inject, and I only drink or approximate mucous membranes under very controlled circumstances, such as bat mitzvas or proximity to one of my female friends. The work is difficult, but doable. I’m in a major that’s more or less guarenteed to make a living, and successful programming fills me with nigh-sexual pleasure.

So, when do things start getting hard?

Five years into your programming career, when you realize that you hate working for idiots, yet you’ve got a mortgage and perhaps a family and it ain’t easy to say “Goodbye” to that big paycheck.

Soon enough, my dear. Soon enough…

Not long after you graduate and find out the jobs in your field have dried up. :frowning: Enjoy it while it lasts!!!

CJ

When you program successfully, I guess.

There are two reasons for your life as a professional software developer to completely suck :

  1. When software stops being fulfilling but remains the only real skill you can earn a living from, THEN your life’s suck-o-meter will max out pretty quickly, I guarantee it.

  2. There are several hundred million ultra-smart Indian and Chinese kids coming right up behind you, who will work for a fraction of your wage, and who US and European corporates are already falling over themselves to outsource to.
    My advice to anyone learning is always “Remember to work on a back-up career.” The long-term future for software gurus is incredibly bleak.

No kidding. One of the big lessons I learned was to look at the top rated coder at my former workplace. He writes file filters for the NT operating system. He’d been doing it for, oh, 15 years. The same thing, over and over and over. He probably knows more about NT filters than just about any non-MS employee in the country, and hobnobed with the MS guys who wrote the NT kernel and filter level stuff all the time. But man-o-man, I’d kill myself if my professional life consisted of writing the same damn thing with slight differences over and over and over and over and over…

About six months after you graduate, you will (i did) come to the realization that college and life are 2 different things.

good luck, get a helmet

unclviny

It’s all about attitude!!!

Of course there will be difficult times but essentially life can stay fabulous!

" Still so much to do…still so much to learn. "
– Jean-Luc Picard

When you take your hard earned Computer Science degree [or Physics, which mine happens to be in] and discover that being a computer scientist isn’t what really gives you fulfillment, and 3 years later you’re answering message boards while moderating a test on prime factors and metric conversions to 20 year old seniors in public school remedial math which is what really does give you that warm and squishy feeling inside. Then you realize that life certainly doesn’t ever turn out the perfect way you plan, but can be pretty good anyway.

:slight_smile:

Oh, I’d say life should start getting difficult in about 3 years. Good luck, kid.

Freshman computer science is a lot easier than upperclass computer science. And that’s still easier than life as a software developer.

hehe, this got me thinking. How could I design a computer science course that truly taught students what it’s like to program in the real world? My syllabus is below.


Programming in the Real World 101
Professor Athena

Required materials:

  • compiler downloaded from the internet in language of your choice. Just make sure it doesn’t cost a cent.
  • several second hand reference guides for that language, but not necessarily that compiler. None of them can be less than 1 year old.
  • an Internet connection

Schedule:

Week 1, Day 1:

Lecture:

Lunchtime meeting on ergonomics and OSHA compliance.

Assignment:

Design and program a retail point of sales system. Due date: the end of the semester.

There will be no further class meetings unless the professor contacts you.


Then, halfway through the semester:

Contact the students. Tell them that the requirements have changed, and they’ll need to also incorporate an inventory tracking system into the original project. No, the due date has not changed. Hop to it!


A week or two later:

Oh yeah, did I mention this had to be cross platform? I hope you chose a language that allows for that. If not, well, back to the drawing board. No, the due date has not changed.


Two weeks before the end of the semester:

The due date has changed. It’s now due a week before it was originally scheduled, because the marketing class wants to take a look at it.


Final Exam: Collect the assignments. Exam consists of students demoing their software and answering questions about it. Ask the following questions:

  • Where’s the general ledger? What? You didn’t include the general ledger? Well, I thought that would be a no-brainer.
  • Is this a WebApp? Is there any way we can market it as a WebApp? I think we’d sell more if we could include “WebApp” in the product description.
  • Will this work on every version of Unix ever written and the new ones currently in development? If not, why?
  • Can you re-write it in Java? That shouldn’t take more than a few hours, right?

After the exam, announce to the distraut students that it’s all OK, they’ll be working on Version 2 in my Computer Science 201 course. Then buy them all cheap pizza as a thank-you for all their hard work.

Athena: that’s not funny. Well, actually, it’s hilarious, but it’s too close to home.

I wish somebody had made me take a course on real-world programming. I learned a lot of theory and a little C++, but not much practical stuff. I still don’t know exactly what it takes to be a programmer in the Real World, which is one of the reasons I’m currently in the high-paying, exciting field of clerical temp worker.

Oh my… you’re not even into career #1 and you’re this smug? I’m on career #3 now, and it just keeps getting more interesting as I go along. Don’t be in a hurry to plan out the rest of your career is my advice.

As a programmer myself I’d say life gets hard when a) you start to hate computers. and b) when you realize that no matter how hard you try to keep up - technology will always change in a way that ignores your hard earned skills.

Life is pretty good for me, because I am in a well-paid job which involves no programming at all.

Also (the answer I would give to anyone, doing anything at all) life becomes difficult when you become so familiar with it that nothing interests/excites you any more. children, without realizing it, have it made.

Then, career aside, there’s the part where the woman you love dumps you, or you get married and somebody gets severely ill/depressed/unemployed, or you want children and can’t have them, or you don’t want children and suddenly have twins on the way, or the children get severely ill, and your insurance doesn’t cover anything well, and that mortgage you thought you could afford is too high now. And you finally admit to yourself that you, the drug-free dude, are addicted to the painkillers the doctor gave you for those headaches. Or your parents get sick/senile/die and it’s your responsibility.

Just a few of the possibilities. But hey, life is really pretty great. Just remember that when things are going suspiciously well, it’s time to prepare for a whammy of pain. It’s the universe’s way of keeping you humble. :slight_smile:

Oddly I am the perfect person to answer this question

I am a senior Computer Science major at Virginia Tech.

Wait till next semester. I was so unchallenged my first semester I considered transferring, then I had a class with McQuain, and decided I liked programming again. It will get progressively more challenging. (Wait till Operating Systems - the killer) Classes at the 4000 level are much more challenging then classes at the 1000 level. Enjoy your freshman year while you can.

PS - post on the CS boards much? Im dturnbul.