Hey everyone, I just have a couple of questions after talking with my girlfriend about school, hoping you guys can help me.
She entered university as a Psychology major and is entering her senior year and is trying to figure out what she wants to do after school. Previously she'd been wanting to go to psychology for grad school, but realized that it wasn't what she wanted to do. Anyway, to make a long story short, she's almost finished with her psych degree but she's interested in entering a career with computers in the future.
She works at the computer help desk at her university now and has an above-average level of understanding in computers. She doesn't want to get involved in programming, but more perhaps in maintaining computer networks as a network admin or someone in the IT field.
So, she's really not sure where she needs to go from here, and this is where we could use your help. She'll have her psych degree at the end of this school year and she's trying to figure out if she needs to go to grad school or if what she wants to do would mainly involve certifications in networking. Does anyone have any idea?
She's looking at masters programs in computer science, but not sure if that's the right direction as it's so focused on programming. Any help or advice you guys can give would be great.
Posts
I'd suggest getting a couple of certifications, starting with A+. A+ is easy and is widely considered essential.
If she wants to go into networking, I'd suggest Network+ as the next certification. Not because it is essential but because if she learns the material it will be a good stepping stone for the CCNA, which is almost a must-have for jobs in networking. She may need a course for this.
OK so a few years ago I was deciding between C.S. and Graphics Design and I did a lot of research... I mean A LOT OF RESEARCH. I know a lot of people from different companies in the field and this is something that's been almost universal
If you are the computer person at your job the more you know about any kind of technology the better. I know a guy who programs for the city, makes more money than most of them doing it, and still is asked to fix phone problems. In this case knowing too much is never a bad thing. That being said, C++ really isn't that hard of a language as far as the basics go, and it will give you a better understanding of how things are running on the inside (just like any A+, CISCO or Network+ class will). Even if she doesn't want to be a programmer, knowing the programs helps land better jobs at better pay: especially with places like where I live that have computer stores that will fix your computer, make you a website, design you a logo, fix your companies' network and program anything else you may need. Of course, rather than hire one person for each, they hire 3-5 people that can do all of it. Then they split you up depending on preference or speciality (for instance at the one company the boss is some kind of network overlord and so he handles almost all of the networking, then they have someone who is great with diagnosis and repair, so he fixes the computers, and the girl they have is a really fast programmer, so she usually handles that. So like I said, it never hurts to know the basics like C++ and HTML, even if she never plans on using them
tldr; So like I said, it never hurts to know the basics like C++ and HTML, even if she never plans on using them. (and in most cases it helps immensely)
edit: I also used to dread programming. I knew I wanted to design games since I was 4 but I was so terrified of code I always shied away from it but once I took the first class I realized I was making a huge deal out of somethign that I actually like doing
In general you want to get familiar with a variety of items. Windows (Desktop and server), *nix (linux, unix, and solaris), and Mac OSX will all come up in various iterations in just about any company you can mention. If your area tends to be heavy on the design fields, then you will want to tailor your knowledge with a larger percentage of OSX knowledge than Windows for instance.
Now, for a more general suggestion. Look into security aspects. Intrusion detection, computer forensics, malware analysis, etc... basically being a paid hacker. A lot of this stuff will have a huge amount of material schools will not teach you. Places like sans.org will have classes on this kind of thing, but it's up to you to look into getting the knowledge. This field is getting much larger now with all the malware and 0 day exploits being thrown around... you get good enough at this stuff and you write your own meal ticket often enough. Even without being awesome at it, some knowledge in it will do nothing but help you out.
Certifications will help, but that path can run mucho $$$, often you will only get 1-2 (A+ and security/network+ for instance), and then the rest you get when you find an entry position that will pay for the others.
Getting security clearance is awesome as well, it opens up a large range of jobs, however you need an employer to sponsor that for you, but be on the look out for opportunities... it can potentially make a huge difference in salary.
Yeah, I work at a defense contractor, and while not every job requires a clearance, if you look at the postings the ratio of jobs needing it vs those that do not is something outrageous like 2-300:1.
A good project manager with technical computer knowledge and at least some general idea of programming can make bank, and demand is very high.
The difference between a PM who knows about tech and one who doesn't, in an IT department, is massive.
I don't know how you go about getting educated for PMing, but it's worth a look. Psychology isn't a bad degree to have for that type of work either.
we also talk about other random shit and clown upon each other
I may sound a little dense here, but what exactly does someone in Project Management do? I'm assuming they're in some sort of supervising position over work projects involving computers? But that's about all I can assume.
Anyway, thanks for all the help so far, guys!
That's the nutshell. The better PM's will help in decision making when consulted, play the political field so the developers don't have to (which is why psychology wouldn't be a bad thing to have), and basically serve as a buffer between their resources and resources from other departments.
Lots of talking, lots of spreadsheets, lots of meetings, and a fair helping of wisdom and politics.
we also talk about other random shit and clown upon each other
In general it works like this in my company (and many others).
Project needs to get done... they assign a PM to it.
PM puts together a large set of materials that quantifies time estimates, and money needed (man hours, funds, equipment, etc).
This is hashed out with whoever it needs to be hashed out with to finalize (managers/other managers, tech leads, procurement, HR, etc).
PM sets the final schedule as well as time for regular updates (both with his team and with whoever needs to be kept up to date on this project).
From this point the PM (or in some cases multiple PM's) are now responsible for that project. They track and guide all aspects of that project (or the parts they are responsible for).
They are responsible for hearing issues, bringing it up to managers, and adjusting any part of the project that needs it (people, money, time, etc).
Once it's done,t hey are also responsible for closing out the project, and anything that entails within your company (project reviews, peer rewards, whatever).
Having a PM in an IT field that is familiar with the material is, as was noted, a huge bonus. They are less likely to make outrageous promises to the people that put them in charge of the project. They are also beneficial becasue they (should) know what is going on and won't make the team hate life becasue he/she is in charge.
In terms of IT jobs there are (this isn't a complete list):
PC Systems (working with windows based workstations/servers)
Unix/Linux admins (obviously unix based workstation/servers)
Network admin
DB Admin (working with databases)
Programming
Web development (this is mostly programming to; but a different kind)
Web Design (front end, less programming, more design/graphics)
QA (breaking and debugging stuff and find bugs, needs some programming background)
Technical Writer; this obviously requires a lot of writing skills.
Help Desk/Support
Free Lancing / PC Repair (helping old ladies get their internet connected)
Security/Audit
Application Specialist: not to common, but know a few guys that know one or two applications really well and work/consult primarily on that (Exchange, Apache, RT, DNS, etc).
Trainer: To teach people applications and/or systems. Either solo or in a corporate environment. would probably be more of a free lance/consultation type of work.
Teacher: Teach CS at a university/highschool, etc.
Manager (for one of the above. Almost always will need some background in that field. Most all of the respectable mangers I know are ones that have worked their way up. They are like project managers. The "grunts" can smell their lack of knowledge soon as they start talking anything technical)
She needs to speak with an academic adviser or a career counselor at her school if she is planning to change career fields at this point. I'd be shocked if she had any of the requisite course work or job experience necessary to succeed in a Masters Level CS program.
If she is interested in computing, I'd recommend she look for a job in HR or recruiting with a tech focused company.
I have known people who had social science undergrad degrees who went on to get MSCS degrees: there were only a few of them, and in general they had decided they wanted to do something in the social sciences that ended up being computing-related (e.g., human-computer interaction) and the MS was a way to get familiar with the computing side of the research in that field. Even then, these students had issues to deal with: there was a healthy debate among the faculty whether they should graduate someone with an MSCS that didn't know how to program, for example. I think the compromise they eventually reached was to have these students take a few intro BSCS classes in summer school to "catch up" a bit.
If your girlfriend wants to go into IT, then that's a different path. IT is a mostly vocational profession, like a skilled trade...electrician, plumber, carpenter, mechanic. This is not to put it down: these trades can be highly valuable and have their own bodies of knowledge. As with these trades, you don't get a four-year degree in IT (a few institutions offer such a thing, but I tend to view these very skeptically). Instead, you get vocational certifications. Since it is a trade, apprenticing and getting hands-on experience is very valuable: your girlfriend should probably be pursuing a hands-on job and taking classes part-time at the same time, for example, to get specific certifications.
A warning: vocational training classes can be very expensive and generally don't transfer anywhere academically. Many are unnecessary for actually taking the certification exam. Buyer beware.
Does a Bachelors degree help in an IT career? My feeling is that yes, it will, but perhaps not at first. Many friends of mine who went into IT straight out of high school or community college ended up hitting a ceiling at some point and went back to get a Bachelors degree for advancement. They didn't much care what the degree was in, as long as they got one. Having a degree - even in Psych, will probably help your girlfriend avoid this ceiling.
Another path to consider, along the lines of project or program management, is management information systems (MIS). Effectively, this is a business degree (i.e., an MBA) with a technology/computing focus. This sort of degree puts you in line for managing information systems projects, enterprise information systems, and so on. Here, her background in psych might actually be quite helpful. The emphasis here is on how to use technological systems to solve business problems. As a business degree, people who do this aren't expected to, e.g., program computers, but might, for example, manage software development efforts.
Talking to a career counselor is a good idea in any event.
Honestly, I'd recommend she look into a CCNA -- while it is obviously Cisco centric, the material in that particular certification covers much of the foundational knowledge needed to do network support. To be very clear, stay away from the "bootcamps." They'll get you the certification, but you won't learn a darn thing in them. Actually learning and understanding the material well enough to pass should also give her enough knowledge to handle an interview for a entry-level network support (helpdesk) position. Once she gets her foot in the door, there should be plenty of opportunity to learn on the job and to identify other areas where she could use more training.
In fact, graduate level CS is a good way to not get a computer job when you graduate. Speaking out of experience, most employers would prefer to hire undergrads because they don't have to pay as much. Also, undergrads are less likely to have focused exclusively on one obscure topic which is not actually likely to be required at all, ever, in the company's entirety.
Finally, Computer Science isn't actually where you go to "get a job in computers." That's like saying you'll get a mathematics degree so you can "get a job in accounting."
Computer Science is the study of the science of computation. Programming is only one of the practical applications of this field albeit one of the more important ones. This is reflected in that most undergrad computer science programs will attempt to teach programming in parallel with the theory, to the point that currently there is more of a focus on programming. Graduate programs on the other hand are almost entirely theoretical and practical knowledge is either not needed or assumed.
I've held a job as a sysadmin for a Computer Science department in a university, and also as a network technician at a different university. Getting experience on the help desk and networking (social kind) with who she works with is going to be a big boon. She should look interested and work on her higher-ups, showing an enthusiasm for learning more. Any and all on the job training she can get will be very beneficial. Unfortunately, with the economy the way it is, this isn't likely to translate into a full-time position with the university, as it was when I was in the workplace. However, that's the experience she needs.
I didn't have any certs, but I did have a CS degree and a passion for computing, as well as that prior experience, but I would agree that getting another degree isn't helpful. Passion, the ability to learn by yourself, and some technical competence coming in is what counts. If she can learn a lot about adminy type things outside of schooling, that looks even better in some employer's eyes.