From an Unrelated Career To IT/Programming? 374
An anonymous reader writes "I hate my career of the past few years. For a long time I've wondered what I'd do after I broke even and could get into something new, and I keep coming back to computers. I'd like to get into software, since I always enjoyed coding. I have some background with C++ so I'm not starting entirely from scratch. My problem is my degrees and past employment have no practical application to the field. Where should I start? I have friends in both IT and software development who might be able to pull some strings and get me an interview or two for entry-level positions, but what can I do to make myself hireable in a short period of time? Is it possible to pick up enough of what I'd need within a couple months? If so, what and how?"
Be Proactive (Score:5, Informative)
Having been a hiring manager for a couple of years, I got used to scanning resumes and deciding within 10 seconds whether to read further or not. Guess what: the one thing that matters is relevant experience.
How can you get relevant experience in a few months? Contribute to an Open Source project [sourceforge.net]. Join one of the Fair projects [fairsoftware.net] listed on my site.
Contribute. Learn. Then put this fresh experience on your resume. Then you'll be hired (at least you would have a year ago - in this new economy, even Bill Gates would be jobless).
Re:Be Proactive (Score:3, Informative)
Funny, I'm the EXACT OPPOSITE (Score:0, Informative)
I'm in the IT industry. I got my B.Sc. in Computer Science in the early 1980s but before then I was fooling around with Apple ][, Cosmac ELF, PDP-11s, etc. etc. I'm sick of IT. I want to cook. I want to garden. I don't want to deal with people who constantly say: "My Internet is slow, can you fix it please?" or "I clicked on an email attachment and I think I've infected our company"
Unfortunately, the economic downturn (bubble burst?) has thrown any dream of retiring early into disarray and I guess I'm going to stick with things for awhile even though I hate it.
Be careful what you wish for... it may come true.
Wow (Score:4, Informative)
Hard field to transfer into (Score:5, Informative)
Re:Be Proactive (Score:5, Informative)
Hm. I'm not a hiring manager, but was recently hired by a hiring manager (and interviewed by several people from the team I now work with). I was hired for a testing role of a product that involved UNIX (e.g., AIX) as well as Linux. I was freshly out of college with two Bachelor degrees - computer science and music. A few commented on the music thing and asked about it. One thought it was fairly related (e.g., creative thinking and programming SHOULD go together, but often don't). I had NO experience AT ALL with UNIX. I had self-taught experience with most computer stuff, including Linux and all programming (my computer science coursework was mostly review for me).
I got hired not because of relevant experience, but because I apparently could show that I was hard working and diligent, fairly intelligent, creative [music], familiar with a lot of programming languages (but only "good" with one or two, since I primarily did scripting stuff in the past few years), and able to teach myself (that was a big resume item for me).
Relevant experience is good, but maybe not for an entry level position? If anything, my manager was more interested in my attitude, willingness to learn, willingness to work hard, etc.
Strategy (Score:4, Informative)
You don't give us much to go on, but surely software is used in your field . . . whatever it is. You probably already know more about that domain than most programmers already working in it. You might want to get as far away from that field as possible, but I doubt you can afford to not use your experience as a key selling point.
You probably don't want to hear this, but you're starting over. Without a relevant degree. So you're going back to entry level. I hope your finances are in order.
So, for example, you might apply to the support department for a software package that you use in your current field. I do QA, and I often say, "QA is a ghetto", but that's another possible entry point.
Once you get your foot in the door on the technical side you might be able to move toward programming if you bust your hump. For years. Largely without recognition. Be prepared, not just to prove yourself, but to prove your self over and over until someone actually notices. And then to that again until someone who is willing to take a chance on you notices.
Then, some day, if you put in a hero's effort, you might be able to be an entry-level programmer.
You've picked a tough row to hoe, sir.
-Peter
You don't want to be in this market (Score:4, Informative)
The market for IT is horrible right now and will probably get worse before it gets better. All the jobs are contract, temporary, and there's a high ratio of applicants to available positions. And the disconnect between those doing the hiring and those who have the ability do evaluate your technical skills? Let's just say HR can put on their job requirements "Five years Windows Vista" and will not look at your resume (for being honest), while some joker will get the job because he's willing to taylor his resume to whatever lies HR is looking for. There is no oversight. There are few left in this industry that actually do the hiring/screening and so a bunch of useless requirements now pervade many job listings. Legitimate workers can't find legitimate work because they're not being hired by anyone in the industry anymore... Everything (and I mean everything) is outsourced, contracted, subcontracted, then thrown in the basement bound and with a ball gag in its mouth. It's reinforced by the attitude that IT workers are a nearly unlimited and with 10% unemployment rates in some areas now and schools pumping out "msce certified technicians" by the boatload -- the industry itself is rotting due to an inability to actually see real talent in all the crap. It doesn't help that most of the jobs that used to be here are now overseas.
My advice? Start filling out applications for customer service, or find some really rare niche tech job and learn it. But the entry level is saturated to the point of disbelief, as far as I can tell.
- in the Midwest, YMMV.
Re:Be Proactive (Score:2, Informative)
This advice is good.
I have been a programmer and manager. I can tell you that without a formal training in the field I wouldn't even bring you in for an interview.
Programming is more than just knowing a language. The other things you learn when obtaining a CS degree help you be a better programmer that doesn't require a lot of hand holding.
The only times I've seen this happen have been within a company. If the company you work for has an entry level programming opportunity and you've proven that you have some competency, they may let you transfer and provide some training in certain situations.
But this is like hiring your secretaries nephew to do the company website because people like his myspace profile.
The best thing you can do is contribute to an open source project, as suggested above.
This will give you some real world experience and something you can put on your resume. If after a year or two, you were able to add some substantial amount of code, not just some small bug fixes, you would be in a better position, but would still have a tough time.
Look for something related ... (Score:3, Informative)
You didn't say what your current career field is, but in many cases, unless you're looking for pure IT, the subject matter experience is more important and computer experience is a tool you use, or help others use, in that field.
For example, someone with lots of physics experience and some CS experience is probably a better candidate to do physics programming than someone with just a CS degree - though, obviously, not always...
Re:Be Proactive (Score:5, Informative)
But then how does a person break into the industry?
Freelance. Absolutely work on open source projects in your spare time to hone your skills, but then do some paid work for people that know and trust you. Then you have real-world open source volunteer experience as well as paid experience. Lots of small businesses need small utilities or enhancements to existing products they had custom built.
My advice: focus on project management (Score:3, Informative)
I can't recommend becoming a "coder" given the current business conditions.
What is in desperate need is process-oriented software project managers. The good news is that you can come at this with a bit of coding background if you combine it with rigorous project management training on the PMP [pmi.org] track. I'll admit that half of employers won't look at you as a project manager if you don't have "10 years coding experience," but the other half will be willing to overlook a depth of coding experience if you have a solid process-oriented project management training and attitude. And once you've landed a job as a software project manager and get a project or two under your belt, you will have the cred to work anywhere.
Even if you do move forward with a "coder" career, I suggest you bone up on your software project management processes, and point out in resumes and interviews that you are serious about project process.
There are 100 million potential coders on the planet, but if you are the kind of coder who can also gather requirements (in English, on site in the US ;), create work breakdown structures, generate project plans and test plans, track the project, and demonstrate successful testing, you will shine a bit above folks who can't, even if you have not ever written a compiler in class.
Re:Strategy (Score:5, Informative)
Then, some day, if you put in a hero's effort, you might be able to be an entry-level programmer.
Peter, I understand why you are being negative (as with most of the replies here). Programming is not an easy field to succeed in. But neither is any other field. And besides, why are we discouraging someone to do what he loves?
You probably already know more about that domain than most programmers already working in it
This advice you give in the beginning is very good, and something that I tell all wanna-be programmers, whether they are CS grads or something else. There are very few "pure" programming jobs, maybe just Google, Microsoft, and Apple. But in the world today, every field requires software somewhere in it.
You ask the right question...what is it you are doing now? Because its is 99% likely that his current career has some niche need for software.
Car mechanic - Parts inventory and job tracking
Musician - MIDI interfaces
Lawn mower - Job scheduling and business backend (bookkeeping)
Restaurant manager - Server scheduling, inventory, POS, (wireless handheld order entry?)
Truck driver - Log management
and so forth.
I've always thought, its easier to get an expert in some knowledge domain and teach them to program, than it is to take a programmer and try to teach them some knowledge domain.
This is how I did it (Score:2, Informative)
You like to program, want to get into it. You are certain that you will be able to get the job done only if someone gives you a chance. Someone taking a chance on you is exactly what you need. To get to that point, you have to start programming.
Read object oriented programming principles, a book on JAVA would do to get an idea on things. Pick a project you are interested in. For me, it was to build a site from ground up. This exposed me to the whole picture of web development and how it all tied together.
Database modeling and administration
Back-end programming
Front-end JavaScript GUI development
Session handling
Communications between the different layers
Encoding
Validation
Web Server Administration/Configuration
Granted I didn't become an expert of any of those technologies, it did however give me an understanding of the priceless big picture, a taste of programming. Thereupon, with confidence I applied for positions. With such exposure you can have a better idea in which direction you want to go in.
You might not be able to go for hardcore software engineering jobs at first, but there are jobs for all levels in the field. Slowly with time, education and experience, you can as you did with your first job determine your future.
Start programming for a project of your own and/or open-source.
Programming has its ups and downs as with any other profession. Programming gives you an element of autonomy. Casual clothes, Flexible work schedule, working remotely, and best of all good pay are usually among many other pros. Programming heavy logic will work your brain to the limit, so it is fatiguing. You will face the computer screen quite often and it is mostly a anti-social job. Therefore it is vital that you compliment this with exercise and social activities to balance things out. Often, you will be asked to do things by business but how you do it often will be up to you. Therefore, creativity at the workplace is a fuzzy thing. But in time with technical skills you can move to management or architecture and design.
Sincerely wishing you much success.
IT != Programming (Score:3, Informative)
IT is Information Technology, and Programming is software development. Unless you specifically mean software development for information technology, I'd say the question is wrong headed. Its like asking how to bust into the field of auto-mechanics/taxi driving.
IT vs Programming entry point (Score:3, Informative)
Bureau of Labor Statistics (Score:3, Informative)
Re:Portfolio + demonstrable talent (Score:3, Informative)
Pointers?
I asked a question about pointers in an interview once... the answer, paraphrased was:
"Pointers? Here's a pointer. If you're not writing device drivers, use a language like C# or Java that doesn't have them."
He got hired. I needed a Java guy who solved problems in a Java way.
Re:Be Proactive (Score:3, Informative)
But then how does a person break into the industry?
The industry has more jobs than programming, and a lot of them are interesting. What about working for a software company that sells to your current industry? I did it myself for an year and liked it.
Depending on what you do and what your skills are you may be able to write specifications, deal with clients, explain requirements to developers, etc.