Postby ClosetOtaku » Fri Nov 02, 2007 5:26 pm
I'm a Program Manager for DoD software R&D, deployment, and maintenance.
First, I don't think it is all that vital whether you decide on web development or some other pursuit. The folks we hire are either (a) good at general engineering across the board, or (b) specialists in a particular area. First and foremost, love what you do. You'll figure out quickly whether you're a specialist or generalist.
Second, remember that a lot of code work is going overseas. Expect this trend to continue. There are important exceptions to this: if you can get a security clearance, there are a lot of openings for coders and engineers working on Government projects.
For example, we use a particular tool, Informatica, that performs Extract-Transform-Load processes for transferring data between disparate systems. It is difficult for us to find Informatica programmers in the U.S. We end up paying top dollar for this skill.
Third, although "Service Oriented Architecture" is more of a buzzword than a legitimate concept nowadays, it is very true that systems are generally headed in this direction. This means tagging (XML), metadata, and net-centricity (buzzwords again, but you get the drift) are becoming important -- sharing of data between multiple systems on demand.
If I had to "do it all over again", the things I'd make sure I'd know were:
C++
Java (not JavaScript, although that is helpful)
XML
SQL
Database theory (normalization, dimensional modeling)
At least one database software (Oracle, SQL Server, DB2)
One front-end business intelligence visualization application (Business Objects, Cognos, ProClarity)
Unix/Linux
TCP/IP and networking
I know I didn't answer your question per se, but I hope I gave you something to think about...
"If I find in myself a desire which no experience in this world can satisfy, the most probable explanation is that I was made for another world." -- C.S. Lewis