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?"
You should work on finding a job first. Academia tends to be very different then the work environment. A lot of companies also offer money for further training and certifications so you can always build up on that.
A lot of companies that develop in COBOL like to hire graduates with out a formal CS degree so they can mold the programmer. You would be working on older green screen technology, but its not going any where.
I received either perfect scores or higher in these courses.
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.
C or C++
How many years of C or C++ do you have?
What projects have you completed?
If you want to do website development thats different.
But real computer programming tends to use C or C++ or obj C
I "only" have an AA degree, and it automatically eliminates me from most positions.
It doesn't matter that I have over 20 years of professional experience, that I've developed everything from embedded systems used in commercial and general aviation, to a major Point-of-Sale system, a hotel reservation system, two financial trading systems and numerous business and accounting systems.
Most H/R departments and recruiting companies won't even talk to me, because I don't have a Bachelor's degree, even though they would talk to me if I had a BA in basket-weaving.
There are jobs out there in supporting IT for all kinds of businesses, either directly as an employee or through IT service companies. There are entry level jobs for sharp people who will work hard in those kinds of situations. If you want to code, you should be coding now, building things and building up a github profile. You probably just need to pick some direction and specialize if you want to get good enough at anything to be useful to a company.
School doesn't get you jobs, being awesome and interviewing well gets you jobs. So get good at something and wow someone, don't sponge off school hoping it will make you into an employee somewhere.
Fast forward 10 years. I'm a very recent college graduate with a BA in philosophy...
I stopped reading right there. As a philosophy graduate, I'm sure you will appreciate a little Kafka:
Give it up!
It was very early in the morning, the streets clean and deserted, I was walking to the station. As I compared the tower clock with my watch I realized that it was already much later than I had thought, I had to hurry, the shock of this discovery made me unsure of the way, I did not yet know my way very well in this town; luckily, a policeman was nearby, I ran up to him and breathlessly asked him the way. He smiled and said: “From me you want to know the way?”“Yes,” I said, “since I cannot find it myself.”“Give it up! Give it up,” he said, and turned away with a sudden jerk, like people who want to be alone with their laughter.
at this point you are well trained to work in the repair section of best buy. if that is the kind of career path you would like by all means go for it.
but basically with your education and the economy/job market the way it is you will be in low paying menial jobs for a long time.
If however you have some concept of another field you would like to do that you can 'use' computers in go back for some more education
in that field. the tech school wouldnt be too bad of a choice but you might also find something useful at a state school.
holding out hope for the perfect job that pays well and you love will just fall into your lap is a lot like winning the lottery.
if you have the ability and desire a good applied sciences degree is always useful.
If I could walk that way I wouldnt need cologne.
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.
"IT work" is quite vaque. It covers running a supercomputer cluster to maintaining systems for small businesses. What would you like to be doing in the IT field?
If you were so deeply in love with computers, why did you get a BA in philosophy?
Stay the course.
The world needs fewer Code Monkeys and more Standup Philosophers.
Soon you could become an Able Bodied Seminarian.
And then...
Woof!
"I received either perfect scores or higher..." how can you get higher than perfect?
you seem to be in love with school...school is good, school is helpful...but honestly?...get a job, any job...
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.
Hardware qualifications nowadays is akin to janitor work, and coding is an ungrateful job, and good luck finding one hacking some code without formal training and no UML or data structures background. I agree with whoever said you will be needing more schooling.
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. "
"IT work" is roughly the same as "I like computers". If you go into an interview with "I want to do IT work" you'll end up grinding your years away on the help desk. You mention that you worked with multiple desktops and AD, did you enjoy it? Do you prefer working on end user machines, or would you prefer to control them at a higher level from central servers? Do you gravitate to systems architecture and building out data centers, or would you rather be programming? If programming, are there languages you hate? If you want useful advice, where you've been is just as important as where specifically do you WANT to go?
Then start peddling it. Then start working for the organizations that become dependent on it. Finding the application to write is the hard part.
Please do not read this sig. Thank you.
You are better off at UW-Plat they have a much better computer engineering degree. If you are in the Madison area try looking for some networking events and see if EPIC would give you a chance. My understanding is they are having a hard time filling positions in programming.
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/
Poster: "I received either perfect scores or higher in these courses."
Do tell how you managed to score higher than perfect! You would be a shoe-in with any job with this skill!
Get all the certs you want. You'll still be a $10/hr computer tech.
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.
From someone who has been a dev manager for 10 years and hires developers on a regular basis, this is what I (this is my opinion, not everyone is like me) would do and get old farts (like me) that was once in love with computer programming interested in my resume.
1) get a computer science degree. (Bachelor's). Focus on computer science basics (algorithms, data structures, functional vs imperative programming, data base fundamentals)
2) while getting your degree, involve yourself in an open source framework project (jQuery comes to mind, but that ship has sailed) that you can get excited about and contribute meaningfully to
3) start a blog where you write about the new cool stuff you develop for 2) (you will have some amazing stories to ell since you're so excited about it)
4) become a great contributor on stack overflow
list 1-4 on your resume if you have to look for a job, chances are that people will seek you out to hire you if you do 2-4 well. Who knows, once you have your bachelors you might love CompSci so much that you decide to do a PhD which will not get you more money but certainly be rewarding.
Good luck and sorry about the advice on getting into more debt.
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!
A lot of big companies pay for job-relevant education. Join as entry-level, get your degree working in parallel, then switch to a job with higher requirements/better pay
Step 1: Teach yourself how to code. This can only help and there is plenty of resources. Kahnacademy, MIT's Opencourse ware, Python the hard way. The key to getting any IT job is the ability to develop the skills required.
Step 2: Work on the cheap and be humble. There's plenty of non IT shops in dire need of a little bit of HTML, a little bit of maintenance, a little bit of what have you. Offer to be paid in beer and you will not only develop real world skills, you will make connections.
Step 3: Specialize. A college degree in X and the ability to do the requisite skills should be able land you a junior role / internship. The work may not be glorious, but you will be able to get a job, get the experience, get the certs and grow professionally.
Step 4: Don't settle. Don't try to promote your way up through an organization until you have chosen your path. Do good work and pursue new opportunities. If you don't see an opening, move on. IT, more than most careers, values diverse experience and self-development
As an English major from Podunkvilles who works in SF, I can attest to this path. Your desire will get your skills, your skills at any level will be invaluable and you will be able to make a career out it.
Also where do you want to work? Are you willing to move to California? Do you need to stay in the midwest or southeast? Are you willing to move to Mexico City?
Fast forward 10 years. I'm a very recent college graduate with a BA in philosophy (because of seminary, which I recently left).
Question – did you take advance courses in logic? Did you enjoy it? If you answered yes to both then I would suggest finding something that would mold those skills – something more theoretical and abstract. Technical and practical gigs will pay the bills today but tend to stagnate fast.
Formal / Symbolic logic can have the same level of rigorous thought patterns as upper level math courses – and are highly prized skills in IT. The 2 best programmers I knew both had philosophy degrees. (one double majored in Mathematics, the other fell short by a few credits in getting a triple in math/physics.)
Hacker School (sometimes called dev bootcamps) is the new Computer Science degree.
Here are links to some Hacker Schools:
http://natashatherobot.com/hacker-school-the-new-cs-degree/
In Chicago they have "Starter League" (http://www.starterleague.com/).
Hacker School is very economical and many graduates (for one school it was 88%)
get jobs.
Also, go to "Hackatons" and find some tech meetups (meetup.com) in your area.
Hackathons are marathon programming sessions.
Groups give a presentations at the end. You'll be able to network with
people working at many companies.
You'll find that not getting a degree will hold you back down the road even if you manage to find a low level job now. If you can afford it, go to school, transfer as many credits as you can toward a 4 year degree, with summer school, etc., you should be out in 2 years. You have no job experience, which works to your advantage when you graduate a 4 year program. Try to get an internship while in school. That may be better time spent than summer school. You would be in worse shape if you were laid off, then went back to school. I see these types of people struggling to get hired.
UW Madison is a good school (ok, I'll cine clean, I go there) although I'm not a cs student I can tell you that their programming courses are fun although the introductory ones with bore you half to death.
I don't care how many people come out of the woodworks to say "You don't need a degree to get a job in IT, cause look at me, I got one 20 years ago and am still working in IT and never had a degree". To them I would say the times have changed and almost every company out there either requires or strongly prefers a 4 year degree. Unless it's a start up (i.e. like a younger version of Facebook or Zynga or insert latest startup to go public and lose everyone a bunch of money here) in which case you either have to REALLY know what your doing or know someone in the company that is willing to tolerate your lack of experience and wants to teach you how they want things done.
If you already have college credit towards certain classes, just finish up your degree and you're opportunities will open up a lot more than just using the "cast the widest net and see what happens" approach. Other options that have been mentioned here are "write your own app and sell it" or "start your own start up". This works for such a small percentage of people and in many cases it isn't enough to make a living off of that to me, it's as likely as being an undiscovered musical talent in LA.
I graduated from UW-Oshkosh which is by far a much cheaper school than UW-Madison and came out of it with about $40K in debt. I had 0 experience in IT but had a 4 year degree and still managed to get a job that paid $17/hr as an intern which turned into a $50K/yr job. I've been working for 3 years here now, have had several raises and 1 promotion and am now down to $24K in debt. If you're ok with working a mundane corporate job to pay the bills and don't care about being the next Mark Zuckerberg then stick with school. On the other hand I can't argue the idea of following your dreams, if a corporate job makes you want to puke, I wouldn't bother with school, just be prepared to fight a long uphill battle to get recognized in the sea of talent that's out there.
Want to you want to do. IT is not a job. I never wanted to be in IT. I wanted to be a programmer. Matter of fact I hate IT at most companies. I love programming.
I just recently received my masters (not in computer science) and I regret my decision to go to school, a bit. Sure I learned things but it is also 2 years away from the fast moving technology world. My experience and skills are ancient, relatively speaking, to those who have worked the last two years. Only go to school if you want to switch fields or if you cannot advance your career without a more advanced degree. Plus, the education may not be that great, considering professors (at large research universities) are there to do research and not teach; you could be getting shitty professors who do not care about providing good instructions and its not like you can get a refund. Try networking, go to career fairs, and whatever you can to get interviews before you give up and go to school. I suspect you will be able to find something before you need to go to school.
If you had not heard this already, here goes. One can never have too much education because the academic sector can never have too much money.
That's what I'm doing. It seems to teach you much more practical matters and how the real world works. My least favorite part of college is the idealistic (and incidentally, philosophical) arguments people have. I will however, also recommend you learn more along the way. Not to sound like an ass, but you do have some gaps in knowledge as you yourself pointed out. I'm seeing no mention of C, which is pretty huge, or Java (although you know C# which might even be better at this point). Also, as much as I hated this subject, some theory might be required in CS. Final verdict: get a job and if you don't love it, go back to school after you make some money. If you love it, ... game over, huh?
well we need more hands on training / apprenticeships.
The college system is kind of out of date and comes with the full load of fluff and filler classes. Tech schools are roped into the college system as well.
There is lot's stuff that is poor fit into a 2 year or 4 year plan and other stuff that needs a lot more hands on training that is a poor fit for a collgle class room. When more of a community College setting is better. Yes community College offer classes non degree.
Also the cost of college is getting to high and by cutting down what is now 4-5 years down to say 1-3 years can save alot and make it quicker to learn skills.
ALSO THERE IS lot's of IT / tech work that is not even application development or CS that get lumped into CS as the tech schools get no respect.
You shouldn't have much trouble passing the GRE; see if you can find a graduate program where you can get a master's degree. That should only take ~2 years and then you have something to show for your efforts. The CompTIA certs are a joke, the MS certs change all the time, and the rest are too poorly defined to be worth the testing fees.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Any time spent in school just to get some extra paper would be better spent expanding your network while looking for the right job. In the mean time, there are probably quite a few IT consulting companies in your area that are always looking to fill entry-level positions (basic network administration and desktop support). The pay isn't usually that great, but it's much better than retail, and gets you good working experience with the industry. Not to mention contacts.
Just be honest and upfront about your skill set and don't try and pass yourself off as someone you're not. You could probably expect $15-20 an hour, not to mention the free "education" and work experience.
Or, you could spend 20-50k (or more) learning "best practices" with how to configure WSUS and what an OU is. Your choice.
70% of IT professionals these days have some sort of degree.
Tech skills on their own won't get you far - back in the late 80's and early 90's when I got started in the field, it was sufficient. I dropped out of college to pursue an IT career and did very well for 15 years in the field before moving on to other stuff.
Then I got laid off, and the lack of degree has really hurt my ability to get a job in this economy. I currently do contract writing for software companies, and that pays well enough - when there's work to do.
My advice would be to pursue the degree while working full-time, either as an intern or other full-time position. The degree, sadly, will be more valuable than the experience.
In the IT field, things that help are the ability to solve business problems (IOW, don't focus strictly on technology) and to manage projects. PMP certification will get you farther than any technical certification (the tech certification market has been in decline for years). Companies don't want to hire someone with specific technical skills - they want people who can function independently and can manage IT projects. Being able to do that will really help you.
A CS degree in combination with project management skills, familiarity with Agile/SCRUMM development methodologies, and business skills will take you farther these days than tech skills alone.
Jim
Insanity is a gradual process; don't rush it.
If you want to become a professional software developer as opposed to being locked into IT support, the Masters program at the University of Chicago sounds ideal for you. It is specifically designed for those with little or no formal programming experience before beginning the degree.
yes, me. I'm going to try to convince you to pick another field.
(enable GOML mode)
it used to be that having a thinking-based job was good in the US. outsourcing was not in vogue and the social contract was about you studying, working hard, moving up in the corp world and as long as you can still work, there would be a job for you.
fast forward to today and extrapolate to today+n. do you really think that the trend we see (outsourcing and the local race-to-the-bottom) is going to reverse? what chance do you think you'll have to compete with someone who works for a fraction of your income and can live on less since it costs less over there?
think hard before you take on a vocation that can be outsourced.
re-think vocations that -require- you to be there. electrician, construction, car repair. whatever - but its important to find something that they can't just 'do remotely'. if they can, they *will*.
they didn't used to outsource software devel. they sure as hell do, now. and what they don't outsource, they hire h1b's for. locals are squeezed out.
thinking arts, whatever the subject, are not a good investment for your own future.
how 'funny' that is. how sad, actually. its our western race to the bottom. class warfare. whatever you want to call it; but if you think for a living, forget about. they can replace you for less and they WILL.
--
"It is now safe to switch off your computer."
Your post sends me mixed messages. First you are telling us that you started out with Qbasic (that's pretty old-school, that's from when I was a kid, and I'm no youngin anymore I can tell ya)...and then you're asking about internship. From where I come from, internship is for the kids right out of school, not for 40-50 year old computer dinosaurs like you and me (if ...you're around my age). I've been around since Pong and Zx-80(81) days, democoder on C-64, Amiga, Atari etc...In fact, I know that if I where to start all over again, I'd go the education way today....back in the days, things where different, you could just take any computer and code stuff from scratch, no libraries, no pre defined variables, no gazillion calls to various OS related libraries and locales.
If you're indeed in my age group, then I can offer a little advice, it may not be right for you, but chances are - if you're like me, then you're better off following your passion instead of trying to start off where the kids today are starting, they'll rip you apart and probably reverse engineer your soul (not kidding about that) before you can say DirectX.
Find a special niche instead, use your "old school" abilities where it'll do you real good, that's what I do. Even though I have all the latest gear, latest ARM microcontroller kits from TI and whatnot and love to play with my toys, I'll be no match for any kid around 20 today that knows his worth in salt.
You have to weigh in the choices of what you REALLY want do do. After 30+ years in IT, I've toned things down, trying to find real meaning in life instead, discover new places, see where my ready-knowledge can be put to good use, repair arcade machines perhaps? Old retro collectors items can be worth a fortune, not to mention the old mainframe systems no young person seem to know, who's going to repair and maintain those? Etc...find a niche, and you'll find happiness.
What this world is coming to - is for you and me to decide.
was commonly used when I was in high school in the 90s, so I would imagine he could be anywhere from 25 to 35 with some level of accuracy.
Assuming that age I can also vouch that he's still probably going to have a hard time getting a foot in the door, and might consider doing some networking or social engineering to get him into his introductory job.
computers. You'll be much happier and richer re-programming humans.
Honestly with your background you'll go broke in no time trying to be a programmer.
Change your legal name to Linus Torvalds and wrote a Unix-like kernel...
Learn real skills welding, woodworking something that can't be outsourced
A lot of the companies that develop in Java like to hire graduates without formal CS degree so they can mold the programmer, you will be working on older bloated Java EE servers such as websphere, but its not going anywhere in a couple senses of the phrase. Java, the COBOL of the 1990s, still around.
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
Since you have a small background in putting computers together/tinkering, buy 2-3 computers, network them, and teach yourself admin skills. Learn Linux administration (a little) and focus on virtualization (vmware/hyper-V, Citrix, some storage (iscsi, NAS, etc etc), and general cloud computing. If you spend 3 months on it you'll have enough knowledge to pass a few entry level certifications and be able to land a $30-$40/hr gig as a contractor. Just immerse yourself in it and you'll be fine.
Stay away from programming and teach yourself datacenter terms/technologies.
Alternatively, you can go on ebay and get a Cisco CCNA kit and, depending on your comfort level with a command line, you'll have your CCNA in 3 months.
...if you choose school, that is. This approach finally occurred to me after I'd received my Master's and worked for a few years. I made the mistake of waiting to think about finding a job until after graduation. I did not make the same mistake when I went back for a postgrad degree. I started looking at job postings long before I started filling out school applications. This helped me determine the appropriate program and qualifications necessary for where I wanted to be. I did not stop until I'd landed a position. (Actually, I still review job postings. It's a good habit.)
If you treat your education as a years-long job search, your class selection and study habits, and extracurriculars will fall into place naturally. School debt/expese/etc is real and needs to be considered, but schools to give you access to job opportunities that you can't find elsewhere. You'll understand that your ultimate goal isn't grades, it's the job you will need to create the lifestyle that you want. And this perspective will help you make the grades needed to get there. It will also help you get cracking on everything else you'll need to get there: resume, work examples, interview practices, networking, publications (if needed), business plans (if needed), technical skills, relevant experience, industry awareness, etc.
Find out about your prospective school's career office, and determine if they are effective. Meet with a career counselor as soon as you begin. Review every aspect of your job search. Internships are the answer to the no-work-without-no-work-experience paradox. Student organization activity should be designed around those that will give you access to well-placed professionals in your field of interest. Every job and internship application should include a revision of your resume and a new cover letter -- no mass-mailing.
Just go get a job. I was a self-taught programmer as well, and got my BA in Philosophy, too.
When I decided to try making my hobby a career, it was RIDICULOUSLY easy to get a job. All I did was use some personal projects as my resume. Showed them my code, showed them what I could do, and was hired.
No one has ever cared that I didn't have a degree in a computer-related field. In fact, my boss never even went to college. You just need some way to show you can do the work. If you don't think you are good enough yet, practice! Create some side projects. Work on open-source projects. Add these projects to git, and suddenly you will be getting a TON of emails about work. Trust me.
Well, I think in my entire curriculum for Computer Science, I had like 3 'fluff' classes which were not surprisingly all general education classes, which were part of every degree program offered. I think the more disappointing part was when some of the classes that 'taught' something I wanted to learn, in fact, did not teach me much aside from how to shirk teaching responsibility with concept drills and endless worksheets on the basics.
When I took an optimization class, we didn't learn to optimize our code. We learned assembly, which most of us already knew from assignments in previous classes, and were just drilled on proper use of various registers and loops. If I had not just sat down and read the textbook like I did, I never would have learned about SSE, paging and caching algorithms, or the optimizations and features of various compilers. I would have been bludgeoned with "How to ASM mediocre".
If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
Aside fro creating a casino-like class system, tell me why Software QA, Help Desk, or Tech Support jobs even need a degree. Face it, it's more about cutting out people who are otherwise qualified, just like a casino has their tiers of players.
Realistically, the job search is just gambling. Put your skills up there for clueless HR drones and jerk hiring managers to spend less than 10 seconds of review before they say yep or nope to even just a phone screen.
You might consider cranking up your network on linkedin. I've had a few friends describe to me how they've used linkedin to solve this very same (common) problem. ie. they find a job they want, find out who is hiring or who is involved, search for that person on linkedin and then find someone you know who also knows that person.
If you can build a network of 100+ people, you may start to notice that you have a second degree connection to people on the inside of the places you want to get hired.
I'm not job hunting right now, but I've tested this a little and the theory holds at least in my region.
and all of that CS does not tech you IT / desktop / severs / networking skills that are needed and ARE there own job.
Write some software for your passion.... Seriously. Go do it. Do it while you look for a job. Do it when you're bored and not in the mood to watch tv.
Be passionate about your little "project" and spend a few hours on it here and there. Listen to music, make it a positive experience. Make something small and manageable. I wrote a few small turret defense games and some opengl car tuning software with live graphing and a plugin framework. I've been programming since I was 7 and have been self taught my entire life. I started before even knowing what an "integer" was and simply tried stuff until it worked (or didnt). I always had some ambitious project that I started but would never finish. But every time I learned why it failed, what I needed to do differently next time, and what my limits were.
Eventually my projects started working out and coming together. Then I got a job building computers for a few years until I showed someone at a conference my applications which led to a job.
I honestly think networking is your best bet and a computer conference is where to do it.... NOT a sales conference, no.... You need to go to a hacker con like Defcon or HOPE or whatever is close by you. Go to as many as you can and be seen by the same crowd.... eventually you'll meet someone or someone will meet you and things will kick off. Definitely don't be whiny, and don't be too shy about your interest, but lack of current knowledge. No matter what you know, be right there learning more... always.
Tell successful types that you meet at the conferences that you enjoy networking (socially, not Cisco) and would like to chat over coffee sometime about business. You'll hear what's up and who's doing what. Maybe even hear about an opportunity..... The trick is to have money to move and be willing to do it. These conferences will start you on your networking journey and it truly is the way to success in my personal humble opinion....
I won't bore you with the story but I dropped out of high school and used my passion to obtain $60k/year 1 year out of school at age 18. By 25 making $110k/year with offers and opportunities galore..... Not bragging thus AC but it backs up my knowledge in this arena since it's basically my story and what I see happening year after year to myself and others.
Be ready to leave the comfy job next door for almost nothing and move to a new exciting city by the seat of your pants. Ask for a 40hr pay advance with a 10hr cut from the next 4 pay checks to repay. Most will accept. That will get you roughly $2000 after taxes (yes that's one paycheck) and you can most likely move with that money. Your friend who gets you this out of state/city gig will probably be able to assist as well if he really sees the value you bring..... See where that passion matters? The rest is technical training and by golly you are writing applications that do real things by now..... even tinkering will get you hello world. Go from there. Show it off. Ignore people who don't care or tell you you're crazy..... Tell people you program for fun at home after work. Be known for being a geek. Geeks get the best perks and the most respect. The geek is the one who is asked first for "experimental" skunkworks projects. That gets you promoted. That gets you closer to $3500 after taxes every two weeks with nice benefits and a $5-10K a year profit sharing almost anywhere. Seriously. I can go to Texas, IL, LA, MA, ETC and make at least this amount of money.... more in LA and big places like that.
I was passionate. It paid off. Now I see how it works and I'm so glad I skipped college. Be that "geek" who school didn't understand thus you learned on your own. Be proud of doing things differently with vigor and passion. You know how things work and how things fail. You've been there. The college punk can only dream..... This is the new reality. Good luck!
I'm getting my grey beard. I'm an EE; I don't do tech so much anymore, but I've done enough and .. seen things.
The myth that good programmers cannot find work is just that. What is a myth is how common "good" programmers are. I only know a few, "good" programmers. Some of them have degrees, some of them do not. The common thread is that based on their demonstrated proficiency and speed, none of those people are out of work, ever. Spanned over decades.
Go out and hack on some projects. You will be noticed, and you will find work. I know very few people who can write device drivers for linux - and the ones who can, don't have much problem with finding work. GPA not required.
If you have real tech chops and can't find work, you need to learn how to network and go get out and hack on some things, work on the kernel, write some apps and give them away.
Oh.. and get off my lawn.
..don't panic
When people talk about "education" they always think of getting a degree or something
But to us, who have been in the tech industry for ages, we know that education doesn't always necessarily equate to sheepskins
I rather pay high salary to a guy who knows what he is doing than another one who comes with a stack of meaningless sheepskins.
Muchas Gracias, Señor Edward Snowden !
and they live and die on the charisma and connections of the owner, not on the quality of the techs. Customers can't tell a good tech from a bad one, but when they're pissed off a likable owner keeps the contract.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
I mean that. So it doesn't matter too much what profession you're in. Doctors & Lawyers still do OK, but if you've got the resources to go into that (money, unnatural brain power and/or you get by fine on 4 hours/night sleep) then you're in the top 1% of workers. The reason you hear so much bitching from the other 99% is we're becoming superfluous, unnecessary. Robots and computers are replacing us, and there's a sizable portion that say just let us all die. Hell, a sizable portion of that 99% says let the rest die (cognitive dissonance).
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Eventually you are bound to find someone who is looking for a tech person. In fact you'll probably find hundreds and thousands of people if you do it every day for a few weeks.
I graduated with a BA in Philosophy in 2007 with intentions to work in IT. Like you I worked for my local school board through high school and then did Novell administration while in college. I got my A+ at 16 but then did nothing else certification wise until after college.
My interest was in Cisco networking and so I went that route with certifications. With your experience base there is no reason you can't start certing out now. Try to find a tech job and work on certifications as you go. As soon as you finish one go with the other. My biggest mistake was taking time off between certifications.
I can strongly say that I've never been handicapped by having a degree in Philosophy versus not having something tech related. However, that is because I went to great lengths to get independent credentials on my own. If I just had the Philosophy BA and my word on experience I wouldn't be employable.
Going back to school for another degree, in my opinion, would be a waste of your time. You have a 4 year degree, most employers aren't going to care what it is in if you have proven your skills with certifications and prior work experience.
I undergraduate degree in in law. And I am now happily employed as a software engineer at a tech company.
But then, of course, it's all networking -- I wouldn't have gotten past the HR resume screeners otherwise. I know some companies will give you an interview if somebody in the company is willing to refer you. And once you get into the interview stage, the degree is usually not a big deal. To be honest though, for younger candidates, the choice of doing a non-CS degree does add a tiny bit of doubt whether (s)he is really committed to a career in tech.... but normally I wouldn't start seriously doubting unless there's other evidence to raise my eyebrows.
As for the education value, well, it depends on how much you already know. I've been very fortunate to be able to learn pretty much everything that would have been covered in an undergraduate CS degree by a mixture of self learning, discussing and exchanging ideas with friends, peers and mentors, and informal training from participating in programming contests, etc. I guess you'll just have to try find out how much you don't know, and try to learn those things. If you find you're often stuck, then perhaps you'll want to get some "proper" education -- but only at a good school with a good CS program.
And if you just need that damn piece of paper, it could be actually cheaper (or at least, quicker) to try get a MSc in CS. I'm sure you could find some institutions that are willing to waive requirements that you have an undergraduate degree in the same field, especially that you already took some programming courses and could demonstrate some knowledge and experience in the field.
Don't quote me on this.
As most of the folks say get a job and don't waste your life in educating yourself
more people like this and so confuse bout it..me too but sometime i want enjoy my life..no worry about money just study Rakuten.co.id: Toko online murah, serba ada Barang unik Jepang
and pray to god?
"I like computers"... it only gets worse when the hopeful claims to know "how to take them apart". Gee whiz! We got a rocket scientist here! He grasped the concept of the SCREW! Pity that by the way he phrased it, it is clear he has never managed to actually put one together again. But he has a golden future at a recycling center.
Neither is taking courses and getting perfect scores any clue. I took some exams and passed them with perfect scores even on languages I never used. It is easy. Most computer courses already give you a passing grade if you refrain from trying to eat the keyboard.
In The Netherlands, the current shortage is NOT in guys who can hook up a PC, or even those who can code. It is in people who can finish an application to specification within a budget. Coding is EASY. Coding well is harder but very few computer courses require you to write more then a few thousand lines of code. Hell, in university most students will build their own OS or something SEEMINGLY difficult. But building a base OS that just runs on one machine and doesn't really do anything is easy. Supporting an entire eco-system of hardware and making it fully functional for daily use by real people, THAT IS FUCKING HARD. Why do you think there are only so many OS'es out there? Why do think many of the "new" ones are really just Linux with a skin? (Android, Meego and its offspring, various realtime OS'es, Bada can use a Linux kernel as an option).
Same with a web application, Webshops are a booming industry yet the number of packages available is truly limited, especially ones that are any good. 4chan software is re-used on countless sites. Most forums run on the same code base.
With mobile Apps we have seen that there are PLENTY of would-be developers out there but the vast majority can just code, have a bright idea but cannot develop it. they cobble pieces together and shove it out the door with "it works for me" and wait for the money to roll in.
IF the poster wants a job in the very wide field of IT OR development (in many ways IT is so wide that development can't be considered a part of it) he FIRST needs to get an idea of what he wants to do, and then get some experience doing it.
If you came to me for a development position, no matter how junior and said "I want to do something with computers" I would tell you politely I have no room for you. Anymore then a carpenter has room for someone who wants to do something with hammers. I can teach you how to code, I might be able to teach you how to become a developer.
I can't teach someone who thinks everything that involves proximity to a computer is the same job.
I have had occasion recently to once again see the difference between a senior DEVELOPER and a senior CODER. One guy on a project I was reviewing happily showed me amazingly well written clean code with full documentation, fully complete and accurate unit tests, continues deployment. Full A+ material.
Just a tiny pity that it had taken him apparently 1.5 years to do as subproject budgetted for a few weeks in a project that was supposed to be finished in less then half a year... he had completely overshot the mark, gone completely beyond the spec and written something vastly more complex then what was needed.
And yet, he was in the company highly regarded despite essentially being worthless to the company... without the main project being ready, there was no use for his code. But the owner of the company told me, "he writes really nice code, nicer then yours, so why should I contract you to fix it". Needless to say I didn't take the interview further, if the owner of a company can't see the difference between being productive and being on a hobby project in this bosses time, there is nothing to manage except a fast exit.
Once again, coding is easy. Finding good coders is trivial. Getting a project out the door on time and with in specifications is the hard part. Don't impress me with your fancy one page script, show me shoddy
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
What you're really asking, although you may not know it yet, is whether or not you'll be promotable at some point. The problem is that most entry-level jobs today are dead ends and likely to be outsourced unless you have higher eduction than the position demands. Daniel Pink suggested that people ask themselves these three questions about any job:
If the answer to one or two is yes, and if the answer to three is no, the you're in trouble.
Tom Zizys wrote a report (available here: http://metcalffoundation.com/publications-resources/view/working-better-creating-a-high-performing-labour-market-in-ontario/) for the Ontario government about the job market. Look at his analysis of the career path for young people today. Although Ontario data, it pretty much holds for North America, and it should help inform your choice.
References:
Pink, D. H. (2005). A Whole New Mind. Moving from the Information Age to the Conceptual Age. New York: Riverhead Books.
Zizys, T. (2011). Working Better. Creating a high-performing labour market in Ontario (pp. 1-76): Metcalfe Foundation.
In addition to asking here, try searching the job boards for your ideal job and see what most jobs are asking for. When it comes to technologies, the job requirements are usually high reaching and encompass more than they actually require, but I think it is more accurate when it comes to the degree. My general feeling is that sysadmins don't need a B.S. Software Engineers usually need one.
Obviously, you might get a job without a degree or be unemployed with a degree. However, what maximizes your opportunities? I would say a degree. However, also consider what school you are going to. You might want to look at job placement rates for the schools you are looking at and how much it will cost.
And while working and getting a degree seems the best of both worlds (either working or school full time), it is a lot of work if you want to excel at both at the same time.
You would be better off creating your own job. Don't go work for a company. Don't waste time on further education. Start programming, start producing products, start solving problems for people. Don't be a Dilbert. Be a creator.
I'd agree with Joe_Dragon that apprenticeships can make a lot of sense. Your post makes me think about something else, putting a few factoids together in a new way. I'm thinking, speculating a bit from what I saw in academia the 1970s and 1980s, that there was a time, decades ago (like before the 1970s) when academia was growing so fast (exponentially) that people from industry without PhDs or much anything beyond real knowledge could become well-respected reasonably-paid teachers (unlike today's somewhat disrespected and poorly-paid adjuncts). In the 1970s, exponential growth of academia stopped (as David Goodstein points out). So, at that point, there came a glut of PhDs on the market with few job prospects since academia kept churning them out at a rate appropriate for exponential growth that was no longer happening. Working conditions for most new faculty plummeted (supply and demand). It became impossible to get even a mediocre college teaching job without a PhD (or at least a Masters for lesser schools). So, academia over the last couple decades became staffed with *only* academics with little real-world life experience which it generated internally. The two-way interchange between industry and academia became essentially one-way, academia to industry. Add to this in the USA the loss of the family farm, loss of good hands-on union mechanical/electrical jobs with apprenticeships, the expansion of the school year, and the increase of opaque black boxes in industry, and the result is few entering academia had any practical non-academic experience or had any way of getting any (like by summer jobs). This of course is all a bit of an over-simplification, yet is may explain why courses are less useful now? References:
http://www.its.caltech.edu/~dg/crunch_art.html
http://en.wikipedia.org/wiki/Disciplined_Minds
http://philip.greenspun.com/careers/women-in-science
More links here:
http://p2pfoundation.net/backups/p2p_research-archives/2009-October/005379.html
See also my: http://www.pdfernhout.net/post-scarcity-princeton.html
Bottom line: most real education is "self-directed education", whether it is in the garden, in the shop, in the library, or in the "classroom". However, self-directed does not mean we do not learn much from other people, whether face-to-face or through their writings or recordings. Thus, you learned from people who wrote the textbooks, even if the "teacher" you say regularly face-to-face may have had little to offer.
You may be beyond this, but this is probably a good way to learn computing almost from the ground up these days:
http://www.nand2tetris.org/
Or one can build programmable computers from Redstone in Minecraft? :-)
It sounds like anyone who teaches optimization by teaching assembly probably does not know much about optimization, since assembly is just a distraction from it, especially given today's compilers can generally write better assembly for most CPUs than most programmers ever could. The real optimization challenges are in algorithms, thinking about prioritization of values and managing complexity (of both data and implementations)...
Nand-to-Tetris is a bottom up book. "Data and Reality" by William Kent is a complementary book that is in-a-sense top-down:
http://www.bkent.net/Doc/darxrp.htm
I'd also recommend playing around with Forth (or a latter day equivalent like "Joy") to get a good sense of factoring problem well.
http://en.wikipedia.org/wiki/Joy_(programming_language)
My kid st
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
I guess in "DevOps", they've started calling sysadmins "Systems Engineers". Which is sort of an insult to my "real" MSSE degree, but it does kinda use the same techniques, sorta. But you ultimately have root on the production servers, so yeah, you're a sysadmin. So search jobs listings for both.
Some main categories of experience we look for (these are some suggestions of the leading FOSS versions of these tools, but bonus for having experience with other tools that do these things... your employer will probably make you use some commercial equivalent anyway)
Monitoring: Nagios / Zenoss , SNORT, NTOP. Know how to write your own monitors. Also get good with writing filters in Wireshark for deeper diagnosis.
Load Balancers: F5 BigIP irules, or NGINX
Build Automation: set up Jenkins to run and report on all of your boring, repetitive tasks. Hands off server deployment with Puppet / Chef; know how to build your own RPM / DEB packages.
Virtualization: VirtualBox and VMware, might as while play with AWS and then set up your own OpenStack cloud too.
Version Control: know your way around Mercurial / GIT / etc. The GUIs are fun.
Ticketing systems: Set up and use Redmine or similar for tracking tasks.
Databases: Know how to backup / restore, poke around using myPHPAdmin or similar.
Agile / Scrumban: yeah, it's just a management fad, and no one practices it right. But at least buff up on the basic concepts so you're familiar with the terminology and what problems they're attempting to solve.
There's more, but these seem to be what I spend a lot of my time doing, and playing with these FOSS tools should get you some familiarity with the concepts and terminology.
potential employers with great care. Their core businesses must be data intensive and with complex requirements that change unpredictably.
I worked for an environmental regulatory agency with very complex and changing IT system requirements. We hired FTEs and contractors, and did our best to deisgn systems where changing requirements could be handled by table-driven logic changes. This is of course impossible to cover 100% of changing legal and regulatory requirements, but trivial changes didn't have to be coded. This is off track a little, but my point is to look for work at a technically involved organization.
A good friend who grew up in our neighborhood took a degree in Biology, and got a job in the Research Triangle in North Carolina, with a company working on plant genetics. Now he's their main database developer, building tools for them to use to track their discoveries in genetics and biochemistry. That job is never going to go away, nor is it likely to be handed over to code monkeys in India, because the metadata that the software implements reveals too much about the discoveries they are learning how to track.
By the same token, working for any group involved with environmental issues, whether regulatory agencies or the contractors providing tools to companies working to implement new environmental standards involves working on products that are highly complex and ever changing.
So, if you want to work on computer games or for regular buying and selling companies, good luck. Code monkeys and artists are what's needed for games, and the artists are low paid because they want to jobs so much. The code monkeys are low paid and over worked because too many would be game hackers want those jobs. Business work is mostly done now, and the ongoing work is tedious and trivial.
If you can get a degree in physics, chemistry, or bio-chem, AND can show apptitude or skills in IT work like designing algorithms and data structures, there will always be work for you that is difficult and challenging. Note that neither of those jobs are "programming" which is the bottom rung of IT systems development work.
Systems analysis is hard to describe. I was several years past my degree before I fully understood what the definition of a systems analyst is. Then, a few years later, I was one. There are degree programs that lead to that kind of work, but I really think that the difficult and satisfying problems being solved by systems analysts are way too complex for most educational programs to deal with. They take years to deal with, as opposed to a couple of semesters. Maybe Carnegie-Mellon, MIT or Stanford can provide that kind of opportunity in a graduate program, but most State Universities won't be able to provide the degree of difficulty to really get your feet wet.
Pursuing a second BS in CS at a "name" school would get you into the door at a high-tech firm that needs the best IT support for their core business, which is where you need to be. Don't expect Dell or EA to be a challenge - go for a medical bio-chem company, or a company doing work in rare-earth physics, or a group of astronomers or space oriented engineering. That will provide a challenge that can last for a whole career. And will be work worth doing for our civilization.
Comment removed based on user account deletion
Find a job at a helpdesk with a small to mid size company (like less than 300 employees). You'll get to dip your stick in every part of IT from dev to networking to sys admin and even the business side of things. After a year or so you will know what IT field you really want to do and from there its about getting the requisite certifications and finding a promotion within staying with that company for another year. When its all done you'll have 2 yrs IT experience, 1 year in your specific field, and a certification that validates your abilities. YMMV as far as pay goes but I went from helpdesk at $16/hr, got a CCNA, became the network admin at $25/hr then I left the small company and took a position as a network engineer at $35/hr, all in just under 2 years, and I have a liberal arts degree just as you do. Just have a career plan so you know your next step!!
Writing software (GNU) != Selling software (Oracle) != Selling consulting (IBM)
Casteism
Unlike in Capitalism, Globalization demands you need to be an Highly Skilled Wage Slave to get a job
Casteism
Find a medium sized company with about 50 IT staff and see if they'll let you either part time work or temp work or intern for them (paid or unpaid). This gets you in the door and busy with work. When a spot opens up, they know you, know your work, know you're interested, and you've got a leg up on the other applicants, unless you're a jerk.
Comment removed based on user account deletion