Ask Slashdot: Job Search Or More Education?
Matt Steelblade writes "I've been in love with computers since my early teens. I took out books from the library and just started messing around until I had learned QBasic, then Visual Basic 5, and how to take apart a computer. Fast forward 10 years. I'm a very recent college graduate with a BA in philosophy (because of seminary, which I recently left). I want to get into IT work, but am not sure where to start. I have about four years experience working at a grade/high school (about 350 computers) in which I did a lot of desktop maintenance and some work on their AD and website. At college (Loyola University Chicago) I tried to get my hands on whatever computer courses I could. I ended up taking a python course, a C# course, and data structures (with python). I received either perfect scores or higher in these courses. I feel comfortable in what I know about computers, and know all too well what I don't. I think my greatest strength is in troubleshooting. With that being said, do I need more schooling? If so, should I try for an associate degree (I have easy access to a Gateway technical college) or should I go for an undergraduate degree (I think my best bet there would be UW-Madison)? If not, should I try to get certified with CompTIA, or someone else? Or, would the best bet be to try to find a job or an internship?"
With your name, have you considered becoming a crime-fighter, or super-hero?
Get a job, and make them pay for more education / training / certifications. It's tax-deductible if it's relevant to your job.
It'll also help you maintain your sanity a bit, since the work and projects you do and how you approach things are very different between work and school. You'll also end up less frustrated with the work projects that you don't have complete control over, and more motivated with the school projects that would probably be pointless if you were just doing them for a grade.
And don't worry too much about the BA in Philosophy bit... a lot of the good IT folks I know have bachelor's degrees in English or other stuff. And they're great, because they can communicate with people a bit better sometimes. Certs and perhaps an MS degree in your field will help you later secure more pay and promotion opportunities with the HR of larger companies, though. But to get in the door, you just need demonstrable skills and experience, which sounds like you're on track for.
It depends on what track you want to get into IT on. If you want to start in programming then yes, you most likely need more schooling. With the glut of applications most companies are seeing these days you will have trouble even getting an interview without a BS in EE/CS or something similar. That said it sounds like you are comfortable with the hardware end of things, and if you would like to pursue that track the degree requirements tend not to be as stringent. Most of the network engineers/ops positions at my company are people with certifications, be they CompTIA, Cisco, M$, etc. They aren't any less skilled at their positions, but the networking world tends to place more value on results than degrees, in my experience. So assuming you want to stay on this track I would suggest starting with certs. You can always work your way sideways into a dev position if that's what you want to do, but that's the easiest way to get your foot in the door AFAIK.
I'd go the certification path. Going to university or college for IT isn't a terrible idea, but in my experience it's not necessary and probably a waste of money. I've had many co-workers that come out of university and college programs that don't know anything, or worse, memorized how to do something in one particular controlled environment and think they know everything.
IT is about experience, confidence, and skill. If you already think you have good troubleshooting skills then you're well on your way. I'd get some core certifications like CompTIA A+, and CCENT and then look for an entry level job. Consulting companies that provide helpdesk support or managed services for small/medium businesses are a great start. From there you'll build contacts, start to specialize, they'll pay to get your more certs, and before you know it you'll be a lazy sysadmin on someones payroll.
If it ain't broke, don't fix it.
If you feel comfortable with Python, come out to the Chicago Python Users Group meetings, hone your skills and network. There is a lot of Python work in Chicago these days.
"To those who are overly cautious, everything is impossible. "
dying business. The core of IT is viruses, failing hardware and codemonkying (e.g. simple, lego style programming as opposed to the stuff that's basically just really hard math). Assuming you're not a math guy that just happens to have a Philosophy degree, you're looking at one of those 3 core things. Now let me explain why they're dead ends.
The bot nets got too big for their britches. Microsoft started tracking them (cheap) and sending the American DOJ (expensive, but free for Microsoft) out to get them. Virus removal work has been plummeting ever since. Hardware is about 50 to 70% longer lived than 10 years ago, due mostly to cooler running chips. As for codemonkying, good luck competing with cheap offshore labor.
There are still jobs, but they're few and far between, and many go to Visa applicants. Your wages will be low, your hours long and you'll be on call for the rest of your life.
IT as a profession is dead unless the gov't steps in for some protection. I thought of running a lobbying group (god knows Unions are dead), but there's too many "independent thinkers" and they're basically divided and conquered. For your own well being get the hell out of IT.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
get a degree. Programming jobs are heavily resume/GPA filtered. Unless you have someone on the inside ("who you know"), what you know will only get you so far. The great jobs, IMO, for a newbie, are best approached with a great GPA and transcript.
There is so much more to programming than just banging on a keyboard. Get a good discrete mathematical background, algorithms, data structures. Study the hardware level as well (don't sleep through Comp Arch like I did). For the best bang for your buck, dual degree CS with something else engineering related (mechanical, chemical, physics, etc). STEM is the big thing these days.
Do NOT bankrupt yourself or your future with crazy loans. Yes, "get a degree" and "don't bankrupt your future" are almost mutually exclusive these days. But even from a smaller college, a great GPA and transcript will get you in more doors.
I finished my first degree, and after some futzing around decided to do a masters. While I think I could have continued to get good jobs with my BA and hobbies (I too learnt QBasic, and then downloaded QuickBasic from the net, when I was young), the second degree will get me to where I want to go faster. That's the thing, I have a direction I want to go to (which I didn't have when I finished my first degree).
With a BA and computer skills you should be able to find a varied number of jobs, including in communications type situations (you can read and write, and you can do (or learn to do) web stuff? that's all you really need). My advice, get into the work force for a couple of years and see if you can cope with the sort of jobs you are getting. If you want something extra, go and do more study.
HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
Knowing C, IMO, is a litmus test for someone who knows how computers work. Pointers, memory, file I/O, etc, aren't directly useful in higher level languages these days. But knowing they exist would help someone write smarter code.
Numero Uno: get a job. Get more experience in the real world.
How best to do that?
Well, you are lucky in that the job market is pretty good for tech skills. Companies would like to hire more experienced people, but can't always find them. Put your resume together as well as you can and prep for interviews by Googling potential questions and working on them.
Better yet, if you know anyone in IT, have them grill you.
If you are going for a programming job, make sure that you know and can apply basic procedural program concepts such as working with arrays, lists, queues, stacks, iteration, and recursion. Understand the basics of object oriented design. Write programs to practice these things. Find a good CS course online and do the homework.
Wrox's Programming Interviews Exposed is great practice for programming interviews.
If you want to move up, learn more advanced algorithms concepts.
If you are going for a sys admin job, install Linux on your home machine and manually manage it. Ubuntu is great, but learn about partition, booting, permissions, sudo privileges. A Linux admin handbook can teach you a lot.
Don't sweat the philosophy degree.
I do a lot of interviewing/hiring technical types, and have no problem with an non tech degree. Just know your shit.
http://yetanotherpoliticalrant.blogspot.com