I think this comments hits the nail on the head. You need to know what you want to do with your life before you decide to go for your masters. I know that I thought I knew when I got out of college, but, after going into the workforce, my perspective changed completely.
Where I differ from the above comment is that I don't think it's harder to get back into learning later in life. I went into the work force for 10 years writing software code in a decent environment and discovered I loved the process. Now I'm working on my Masters in Software Engineering, half of which is being paid for by my company, and finding it extremely easy. In weekly discussions, I have all my work experience to contribute to the class, which earns my high marks. When I write papers, I have the additional insights of having been in the trenches, and when I go back to work on Monday morning, I have new ideas to bring to my coworkers. It's been a fantastic experience.
Get in the workforce now, but make sure you get into a good working environment. Don't be afraid to look for work elsewhere if you end up with a company that isn't following an established SDLC. Work experience is important, but make sure you are getting the right kind of work experience, where you are perpetually challenged and advancing in knowledge. Then, after a few years, you can start taking two classes a quarter towards your Masters and earn one in two years.
And then you can start trying to figure out what interests you for a Ph.D. : )
I work in an environment with several people who are in their late 60s-70s. Some of them have told me stories about the days of punch cards and having to buy expensive processing time on mainframes (One great story was about an infinite loop that cost the programmer's company $10k in mainframe processing time).
I will readily admit these older developers are not as quick as the younger ones. These seniors also have a great deal of frustration dealing with relatively new concepts. For example, I'm working with one on a project right now who is pulling his hair out trying to understand object-oriented programming.
But you know what? Every one of these seniors is indispensible to our organization. One of them works 60-hour work-weeks because no one else in the organization has been able to rise to the task of learning everything he knows in his 40+ years of IT.
Just remember that when you go into Computer Science, you are going into it for life. Everything in IT changes every five years, and you must assume the responsibility for lifelong learning.
Plus it sounds like you have one big advantage over all the younger CS graduates: you know how much you don't know. : )
I think I slightly prefer the oath from Lucy and Stephen Hawking's children's book:
I swear to use my scientific knowledge for the good of Humanity. I promise never to harm any person in search of enlightenment.
I shall be courageous and careful in my quest for greater knowledge about the mysteries that surround us. I shall not use scientific knowledge for my own personal gain or give it to those who seek to destroy the wonderful planet on which we live. If I break my oath, may the beauty and wonder of the Universe forever remain hidden from me.
Where I differ from the above comment is that I don't think it's harder to get back into learning later in life. I went into the work force for 10 years writing software code in a decent environment and discovered I loved the process. Now I'm working on my Masters in Software Engineering, half of which is being paid for by my company, and finding it extremely easy. In weekly discussions, I have all my work experience to contribute to the class, which earns my high marks. When I write papers, I have the additional insights of having been in the trenches, and when I go back to work on Monday morning, I have new ideas to bring to my coworkers. It's been a fantastic experience.
Get in the workforce now, but make sure you get into a good working environment. Don't be afraid to look for work elsewhere if you end up with a company that isn't following an established SDLC. Work experience is important, but make sure you are getting the right kind of work experience, where you are perpetually challenged and advancing in knowledge. Then, after a few years, you can start taking two classes a quarter towards your Masters and earn one in two years.
And then you can start trying to figure out what interests you for a Ph.D. : )
I work in an environment with several people who are in their late 60s-70s. Some of them have told me stories about the days of punch cards and having to buy expensive processing time on mainframes (One great story was about an infinite loop that cost the programmer's company $10k in mainframe processing time). I will readily admit these older developers are not as quick as the younger ones. These seniors also have a great deal of frustration dealing with relatively new concepts. For example, I'm working with one on a project right now who is pulling his hair out trying to understand object-oriented programming. But you know what? Every one of these seniors is indispensible to our organization. One of them works 60-hour work-weeks because no one else in the organization has been able to rise to the task of learning everything he knows in his 40+ years of IT. Just remember that when you go into Computer Science, you are going into it for life. Everything in IT changes every five years, and you must assume the responsibility for lifelong learning. Plus it sounds like you have one big advantage over all the younger CS graduates: you know how much you don't know. : )