21 Oct, 2007, Noplex wrote in the 81st comment:
Votes: 0
DavidHaley said:
I guess it depends on what you want to do later on. Frankly the CSMS, at least here, isn't that different from the CSBS, except that I have added on more classes that are supposedly of a more advanced level. (On the other hand, it's entirely common for undergrads to take grad classes; there's a lot of overlap.) That said, the importance of more knowledge shouldn't be neglected; it's just that it won't be a life-changing experience.

I believe that is at most schools. My school there is little reason to stay here if past your BS unless its for money reasons. The programs are exactly the same, a little harder, little more knowledge, but they are stale (for the lack of a better word). I can take MS classes and get them pawned off as electives simply because I am in a better boat than others at this school. So at least I have something that challenges me. Most of the work given here is busy work that takes time simply because its a pain in the ass (not because its hard).

DavidHaley said:
The MBA is also very valuable but less so (career/salary-wise at least) if you plan on being a software engineer. The place I'll be working at probably wouldn't care if I had an MBA, but having an MS can be important for me (salary, growth, etc.) It would probably be helpful if you planned to start your own business too. Also, having an MBA can almost double your salary as a consultant…

The field is an odd one. I was offered a job that, for most people, would be a striking salary for someone that doesn't have a college degree. I could quite easily walk into job in my hometown for a decent salary at a school district (with a Bachelor's) and get my Masters through night classes (if that is what I want).

As of right now I want to create my own products. I find it fun to tinker with code, build something new and work with new technologies. That's what I like. I'm an idea person. I come up with great ideas for systems (that usually end up being implemented by a large company down the line), but I have never had the backing of a half-decent team to work on anything. My interests lie in several places. I would love to do game development, as long as it was on my terms (or at least, a game design/idea that I agree with). But I also love working on web technologies, building server back-ends and basically anything where I have to write some damn interesting code.

The point being, is the Masters in Software Engineering the right path for me? It might help me, but that's another year and a half (minimum) in college for me. I am not sure if I want that, because right now, I just want to get out of the college world and start working on some real stuff. Honestly, a Masters in Software Engineering in the real world is equivalent to (at most) five years work experience. The MBA might be better, for me, in the long run if I want create a startup.
21 Oct, 2007, David Haley wrote in the 82nd comment:
Votes: 0
Noplex said:
Most of the work given here is busy work that takes time simply because its a pain in the ass (not because its hard).

Ah, sometimes I almost miss that. It's tiring, but not as mentally draining. I think that as with all things a balance is important. :smile:

Noplex said:
The field is an odd one.

It certainly is! I know people without a BS who are making more than people with PhDs. Really goes to show that it's not the degree, it's what you do with it. (It also goes to show how open the workforce is to that idea, which is not the case in other countries, unfortunately, where the pedigree matters most.)

Noplex said:
I would love to do game development, as long as it was on my terms (or at least, a game design/idea that I agree with).

I've heard not-so-good things about the game development field. Crazy release cycles, inability to input your own creativity/ideas in terms of game design most of the time, and so on. Getting to the point of being able to do what you describe requires either going out on your own (which is very hard) or trudging through years of not-so-great work. Well, all of this is anecdotal and not even first-hand, so take it with the appropriate bucket of salt. :wink:

Server back-ends, now that can be a good field to go into. A good back-end programmer is worth an awful lot, and it's much more stable (IMHO). Web technologies are a little too come-and-go for me, but it depends on what exactly you mean by it. (I hear Web 2.0 so much here that it makes me shudder every time I hear it. :tongue:)

Noplex said:
Honestly, a Masters in Software Engineering in the real world is equivalent to (at most) five years work experience.

In almost all cases I would agree with you; the only place where I wouldn't is when you got some kind of theoretical foundation during your MS work. For instance if you want to go into very high-level graphics, then having the theory under your belt is a huge advantage. Similarly if you're going into advanced database systems, you learn a lot of that stuff in a quick, condensed and theoretical level. Now, I'm not saying you can't pick it up on the job, it's just that you won't necessarily have all the learning support structure that you would have at a school.
And sometimes, learning without the theory can create bad habits or tunnel vision of the problem, at least IMHO.
22 Oct, 2007, Noplex wrote in the 83rd comment:
Votes: 0
DavidHaley said:
It certainly is! I know people without a BS who are making more than people with PhDs. Really goes to show that it's not the degree, it's what you do with it. (It also goes to show how open the workforce is to that idea, which is not the case in other countries, unfortunately, where the pedigree matters most.)

You are accepting a job out here on the east coast. I know that for a "entry level" .NET programmer that has a few years of experience under his belt can expect to make, starting, $75,000. I got offered a job that would equate to about sixty hours a week for nearly that much, without a college degree. There are a few factors: the obvious main factor is what you know and how well you can prove that you know it.

If you can prove that you know .NET/Java/<insert obscure API here> then you are worth more than a piece of paper. I know of people that are programming in Perl that have little more than a high school diploma. Its sad to really think that, but at least with that little piece of paper you know you will never go starving (for example, at a school district, you need that diploma if you don't know anyone who knows you).

The second, and sometimes even more influential, is knowing someone that works at the company already (or knowing someone that knows someone, etc). This can sometimes be even better than knowing the material itself. If they vouch for you and say that you are a great programmer, then hell, you don't even need to know the API in and out. They will hire you simply because the upper level management says you are good (which, in most cases, is the reason why you get shit programmers at a big company).

DavidHaley said:
I've heard not-so-good things about the game development field. Crazy release cycles, inability to input your own creativity/ideas in terms of game design most of the time, and so on. Getting to the point of being able to do what you describe requires either going out on your own (which is very hard) or trudging through years of not-so-great work. Well, all of this is anecdotal and not even first-hand, so take it with the appropriate bucket of salt. :wink:

I know enough people in the game industry to know this is the real industry where your degree means shit. They want to see what you know, how you've utilized your knowledge and what you can produce. These guys know that a degree merely means that you paid the money and did the leg work. My ultimate goal would be running my own game company (sans the ideas, because I have a lot and I know people that have a lot) so that I can make sure its run the proper way.

I dislike long hours, but sometimes you need to do it at any job to get the product out the door. I believe in employee compensation before I get compensated. I'm an easy going person, I only need a few things to keep me happy. I have both a "Google" and "Apple" mentality about how I manage teams (I take it if you know anything about those companies, you probably get what I mean).

DavidHaley said:
Server back-ends, now that can be a good field to go into. A good back-end programmer is worth an awful lot, and it's much more stable (IMHO). Web technologies are a little too come-and-go for me, but it depends on what exactly you mean by it. (I hear Web 2.0 so much here that it makes me shudder every time I hear it. :tongue:)

I hate the term Web 2.0; I was using AJAX before it was called AJAX.

I am designing a server backend in Java right now that uses XML-RPC and has the ability to be extended to use any type of transport protocol (well, I hope, haha). I find that fun (most people wouldn't) and I would be content with working on that. Because its interesting, for me, to work with some of the new technologies that I haven't played with yet (Python, Java networking, Java Method Invocation [if we use it] and XML-RPC).

I hate designing websites.

DavidHaley said:
In almost all cases I would agree with you; the only place where I wouldn't is when you got some kind of theoretical foundation during your MS work. For instance if you want to go into very high-level graphics, then having the theory under your belt is a huge advantage. Similarly if you're going into advanced database systems, you learn a lot of that stuff in a quick, condensed and theoretical level. Now, I'm not saying you can't pick it up on the job, it's just that you won't necessarily have all the learning support structure that you would have at a school.

I absolutely agree with you. In some cases, understanding the theory can be better than actually having work experience. Because, Software Engineering not only teaches you principles about engineering software but also about how to manage the project itself (They call that System Engineering, but really, same principles on a much larger scale). When it comes to the specific theoretical stuff, you always need someone that understands that (even in game design when you are designing a renderer, per say).

DavidHaley said:
And sometimes, learning without the theory can create bad habits or tunnel vision of the problem, at least IMHO.

The inverse is also true, though, and more often times it is what is seen more (at least, by me).

I see people everyday that know how to implement a linked list, hash table or quick sort - but have never actually done so in a programming language. This is what I see more often than seeing a programmer that does not understand the theoretical concepts of programming. They may not know the proper words to put to the matter, but the know the concepts.

Ah, sorry, as you can see I am also a writer and I tend to write long-winded replies.
22 Oct, 2007, David Haley wrote in the 84th comment:
Votes: 0
Noplex said:
You are accepting a job out here on the east coast. I know that for a "entry level" .NET programmer that has a few years of experience under his belt can expect to make, starting, $75,000. I got offered a job that would equate to about sixty hours a week for nearly that much, without a college degree. There are a few factors: the obvious main factor is what you know and how well you can prove that you know it.

Right. That's a pretty good salary for an entry level job, esp. without a college degree.

I don't really consider myself an "anything" programmer; I mean, sure, I know the standard libraries for C++ and Java very well, but I don't label myself a C++ or Java programmer (well, unless it helps to do so). The place that hired me doesn't want specialists; they explicitly go for generalists. All that means is that they want somebody with a general background, not that they don't like people with talents in some particular field.

Noplex said:
If you can prove that you know .NET/Java/<insert obscure API here> then you are worth more than a piece of paper.

Short-term, sure. But the problem is that if those technologies go obsolete, which will happen sooner or later, you're stuck in maintenance work. It's kind of like people who are expert mainframe admins. Sure, not a lot of people know how to do that, and they have high knowledge of their field, it's just that the field isn't really going anywhere.

I guess what I'm trying to say here and above is that it's dangerous to pigeon-hole yourself. Sometimes it's a good selling point to say you're an "XYZ developer" but for at least the companies I apply to, it's better to not narrow yourself down.

Noplex said:
The second, and sometimes even more influential, is knowing someone that works at the company already (or knowing someone that knows someone, etc). (…)

I suppose that is true at companies. The one I'll be going to certainly has a referral process but I wouldn't say it's quite as easy as that. That is, you still need to go through the whole interview process, and the referral just gets your foot in the door, i.e. you get past the initial screening process. (Many people who got referred didn't get jobs.)

Noplex said:
I dislike long hours, but sometimes you need to do it at any job to get the product out the door. I believe in employee compensation before I get compensated. I'm an easy going person, I only need a few things to keep me happy. I have both a "Google" and "Apple" mentality about how I manage teams (I take it if you know anything about those companies, you probably get what I mean).

Sure, I know what you mean. I have friends at either company and know the company culture a bit through them. (I know Google a bit better than Apple, though.)

And yeah, long hours are a fact of life if you want to start your own company. I'd say something a little stronger and say that if you're not willing to put in long hours during the initial period, you strongly diminish your chances of getting somewhere.

Noplex said:
I hate the term Web 2.0; I was using AJAX before it was called AJAX.

Yeah… it irritates me to hear people talk about fancy schmancy things like "collaborative websites where users can post content in a threaded discussion environment". You mean, umm, a forum, right? I was writing webapps as a 14-year-old back when Web 2.0 still meant "semantic web". (Another idea that irritates me, albeit less, but that's another story for another day.)

We (CS department students) get a bunch of calls-for-programmers from people who want to "harness the e-synergies of collaborative web service development". The whole thing is just one darn buzzword after the other.

Noplex said:
I am designing a server backend in Java right now that uses XML-RPC and has the ability to be extended to use any type of transport protocol (well, I hope, haha). I find that fun (most people wouldn't) and I would be content with working on that. Because its interesting, for me, to work with some of the new technologies that I haven't played with yet (Python, Java networking, Java Method Invocation [if we use it] and XML-RPC).

Sounds like fun. I wish I had the luxury to do that kind of thing these days. :sad: I've had my pet project (BabbleMUD) on the backburner for far too long now.

Noplex said:
When it comes to the specific theoretical stuff, you always need someone that understands that (even in game design when you are designing a renderer, per say).

Yes, exactly. Also for things like complexity analysis (IMHO at least). It's one thing to have an intuitive understanding of why one algorithm is slower than another, and of course you can always run empirical tests to compare, but I find that there's something very valuable in having a deeper understanding of why one algorithm will simply never outperform another in the long run no matter how many tricks you put in to improve efficiency.

Noplex said:
DavidHaley said:
And sometimes, learning without the theory can create bad habits or tunnel vision of the problem, at least IMHO.

The inverse is also true, though, and more often times it is what is seen more (at least, by me).

I assume you're talking about ivory tower people who know the theory but can't do the practice? Yeah, that's definitely problematic and I am all too familiar with the problem. It happens in startups occasionally where you get brilliant people with brilliant ideas but who do not know how to put together a real-world system. (e.g. dealing with concurrency, security, error checking . . .)

Noplex said:
I see people everyday that know how to implement a linked list, hash table or quick sort - but have never actually done so in a programming language.

Or only know how to do it in very high-level languages that aren't practical for systems engineering (e.g. due to efficiency, etc.).

Noplex said:
Ah, sorry, as you can see I am also a writer and I tend to write long-winded replies.

No worries… I suffer from the same. One of these days the forum gods are going to come down on us for hijacking this thread yet again. :wink:
22 Oct, 2007, Noplex wrote in the 85th comment:
Votes: 0
DavidHaley said:
Sounds like fun. I wish I had the luxury to do that kind of thing these days. :sad: I've had my pet project (BabbleMUD) on the backburner for far too long now.

The only reason it is getting done is because its for a class, at least, partly. I have been doing some discovery work in Java to get an idea about how I want to design one of the subsystems (luckily, I am not doing the whole project myself). I just have to hope that the other guy is able to get the Error Handling and the Service Manager done and down pat or I am going to be doing more than this.

Unfortunately I don't know enough about Java's inner-workings to have designed it outright. I am being held back right now in trying to determine how I am going to handle parsing the XML-RPC (it seems the Apache library will work, but I need to access the parser directly instead of utilizing their server implementation). So, I am waiting for a response back from their mailing list on the best course of action. Right now its back to the drawing board and some UML designs. I have the server actually working (e.g. accepting connections). I have a few things I want to restructure, so I have time.
22 Oct, 2007, Guest wrote in the 86th comment:
Votes: 0
Fascinating as this all is, would you guys mind either moving to a new thread or going to PMs?
22 Oct, 2007, David Haley wrote in the 87th comment:
Votes: 0
Feel free to move it to the "offtopic ramblings" or whatever thread it was that Kiasyn moved the previous deviation to…
80.0/87