From an Unrelated Career To IT/Programming?
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?"
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. Join one of the Fair projects 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).
and some reserves in the bank (or mattress) should see you through til you can catch up.
Life is too short to work in a job you hate, so go for it dude(tte).
Sent from your iPad.
"no practical application to the field"
Try management.
Make it all up.... the worst that could happen is that you would get fired after a few months. But, believe me, there's a lot of shoddy programmers out there, so, you'd be hard pressed to do worse than some of the "pros" that are out there.
This is my sig.
Speaking as someone who's been involved in IT for 30+ years, allow me to shout at you...."You're going the wrong way!!!"
.nosig
You're not going to get hired by any of the big boys, because they all want degrees and experience. A small time shop writing business software is something you might be able to get into. If you didn't know, business software is by far the easiest and most boring software you can write. But, it all needs to be written, and that's where you can get your start. You could also just get an MCSE. That's easy enough if you have a bit of cash, and the letters next to your name can get you hired.
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.
Call Sally Struthers.
Academic research labs are always looking for cheap talent (they're also not blind about what they can get for cheap). Pick the right lab and you'll get plenty of opportunity and experience. Just not a whole lot of money. But you don't have to stick around more than a year or two, and most labs don't really expect you to. On the other hand, you may like it, and with a good PI, do well. I've been with mine for 16+ years.
Understanding the business, understanding what the code needs to accomplish and being able to communicate with the users can be just as valuable as coding experience. This does depend on the company. Highlight these areas. It will tend to look you look a bit more than a manager than a programmer, but you will get your foot in the door.
That's where you should start. Move to India. The only places that are hiring no experience are places like Infosys and Tata Consulting. They're more likely to hire you as a Project Manager than a coder though, if you're American.
NOBODY wants American coders. Analysts yes. Project managers yes. Coders, no.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
How bad is it that you're actually considering changing jobs in this economy? IMHO, you'd be a fool to give up a paying job now for something uncertain.
i personally graduated with a degree in biomedical engineering and didn't have relevant experience or business contacts when i decided that i wanted to do what i had always wanted to do - IT and Development. i got a job at an IT Consulting firm and have enjoyed my time since. (Accenture, CA, IBM, CSC, Infosys are some examples) If you can pick up new tech quickly and enjoy working with different people, you will learn a lot of new things and enjoy what you do. I do anyway.
however, i also do have to travel a lot. i personally enjoy this, even when the location is not the most desirable, but i know that some people do not.
Programming can be very hard to transfer into, given the demand for experience and specific knowledge in the field (the US Dept of Labor sites this as one of the reasons less people enter into the field over others for second jobs). It would be almost impossible for you to get into anything other than an entry level support job (think helpdesk). Getting a job as a full developer will be a very difficult proposition. You might be able to get a job doing some "simple" development in a small shop though (think perl, php, that kind of stuff). Compare yourself to a college grad with a degree in Comp Sci (or similar degree) - graduates in this years class are seeing a very tough job market, even though software engineering is comparably untouched by the ongoing depression. These grads would have a level of experience similar to yours, but most likely be willing to work for less, and have been formally trained in the field. My suggestion would be to spend a significant amount of time learning the field, not just a language syntax. Go to a college website, see the books that are used for the classes, and start in on them. There is MUCH MUCH more to programming that just knowing a language syntax.
It's possibly a tough route, but domain knowledge is as important, if not more, than technical skill.
You don't say what your current area is but is there an opportunity to stay in the same field, but in an IT role?
Genesis 1:32 And God typed
In the absence of professional experience or coursework, I'd look for a portfolio of non-professional software projects you've worked on. Have you worked on any open source projects? If so, in what capacity? Did you submit patches, fix bugs, assist in documentation? Can you provide an example of a routine or software module you have written and are particularly proud of?
Also, good organizations will ask interviewees to discuss, at an abstract level,
* Algorithms
* Data structures
* Pointers
* Recursion
* Object oriented design concepts
And really good ones will ask interviewees to write and read/explain source code during their interview. Be prepared to do that.
Watch out for organizations that demand a certain level of niche domain experience or knowledge of a particular API/language/library/technology, yet claim to be looking for "entry-level" people. You're probably wasting your time talking to someone like that, if you're just getting into the biz.
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
Learn fortran, cobol, mumps, pick, ada, k, and other legacy or non-mainstream languages. Companies that use them generally have a hard time finding people that know them, so you can get in without the experience.
Do you even lift?
These aren't the 'roids you're looking for.
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.
#fuckbeta #iamslashdot #dicemustdie
I'm sure there will be a lot of posts about how much expeirence counts. Sometimes it counts in the opposite way.
Almost everytime I hired an experienced developer I was not happy and paid to much. When I got a kid out of school
and was smart it almost always worked out better.
The thing to ask yourself is do you really like coding and are you good at it. If you do and your hungry you'll find a way in.
Chances are you will lap other expeirenced developers that you come across. The kind that have never heard of slashdot for sure.
You can always demo in an interview. Create some silly little app and demo it with excitement. How well you communicate the idea
will let the employer know if you are write for their team.
For the love of god, stay the hell away.
Or at least, stay the hell away from me
I spend close to 20% of each day educating people who should effing know better. Don't be that person. You make my job tiresome.
I'm a 2000 man.
...and just start programming in it.
Hopefully, you have a relatively coherent background that is focused in some way. "IT/Programming" is a HUGE field. You can't really just get an "IT job" of any sort of quality. I mean, programming WHAT? Recipe apps for iPhones or reactor controls for ballastic missile submarines?
Think of this as changing your _role_ in your existing field rather than changing fields entirely. Hiring managers will be far more likely to listen to you if you present yourself as a seasoned professional in a specific field who is willing to expand their responsibilities, rather than a Johnny-come-lately with little to no skills and zero relevance.
One place that you might want to consider looking is academia -- in my experience, colleges and universities tend to be more relaxed about your official background and certifications and more concerned with whether or not you can do the job. Plus, most schools will allow you to take classes for free, which would help you get some "official" education on your resume.
Even smaller schools generally have a dedicated coding team working in the IT department. Send some resumes to the "Director of Information Technology" at nearby schools and see what hits.
--saint
1. You didn't mention what career you were leaving, but if you can have strings pulled, remember that an entry-level position will carry entry-level pay. Have a nice cushion to take up the slack, especially in this economy.
2. Do SOMETHING. Paid experience is best. OSS isn't as good. "Hobby projects" are only marginally better than nothing. For the latter two, something demonstrable is almost nonnegotiable.
3. Get your head examined. :) If you enjoy coding, nothing will kill that love faster than doing it day-in, day-out under the "guidance" of PHBs and Marketing-directed design... (What? Me? Bitter?)
I have direct experience in this transfer. I was a restaurant manager for 3 years decided I hated working for a corporation. I took a job in the construction field to get the IT experience that employers look for. Worked for Primary Cableworks (they do IT infrastructure for colleges in SoCal) and 2 months later got an interview and was hired by a college for "IT Tech" with my IT "experience", nvm that my degree is in accounting. As a alain94040 wrote experience is the key and I'd follow up on his links.
There are too many qualified applicants for every job these days. I seriously doubt you'll have any luck. Try again when the economy heats up again.
I worked as a security officer for 7 years and had no relevant IT experience. I spent the majority of my time pulling pc's from the garbage and building/fixing them. I took a cut in pay from being a security supervisor to work a small tech support job. I spent one year doing this, 1 year at a slightly higher paying job, and ended up making over two times what I used to make in 2 years. The secret was just getting some experience and now I have a very awesome career in IT. Anyone can do this if they love what they do and have the drive to do it.
Knowing your current profession will definitely provide insight into any possible transition paths you could follow. You might want to share this information so that the group here can make better suggestions.
I don't know what your past career was. But taking what you know, about your past career, and merging it with computers might be a viable solution. Ie find out how tech is holding back what you do in your existing job. Or find a way tech can improve it. And then create that solution. It is tough to do, but would let you marry what you've done with the past to program development and open up many oportunities for you. I did this at my first job, where i replaced a terrible order entry system. It has worked out very well for me.
Want a low risk (especially with our current economy) way to gain experience? Join the Air Force. They'll take anyone that can pass a test, train you and send you on your way with 4 years of experience. A very large portion of the useful people come back working their same job as a contractor for twice the money.
I hate the Air Force, but it got me where I am today.
Whale
Most importantly, learn how to write a kick-ass functional resume. Learn what fundamentally makes a good SW designer and draw focus on that (communication skills, fast learner, analytical thinker, problem solver, etc etc). Learning to code is just like learning a new language. What makes a good programmer is not the code, its the reasoning around it.
Here's the best guide I found so far: http://www.rockportinstitute.com/resumes.html
Here are few examples for ppl with either little experience (new grads) or making a career change: http://jobstar.org/tools/resume/samples.php
I was a double music major in college: a BA in Music Ed K-12, and a BA in Music Perf. Percussion. I got my teaching certificate, then promptly went into programming. For me, the key seems to be just programming. All you can. All the time.
My last 2 years of school, I started doing HyperCard scripting, then UserLand scripting, then VB and whatever I could get my hands on, doing whatever departmental projects I could do, like test taking apps, etc. Then I worked my way into web pages, html, and doing the department web site.
I've been at it for 14 years now doing .NET, Perl, SQL, Rails, Catalyst, Django...all without a programming degree or background. So, my advice would be:
1. Don't expect someone to hand you a job by pulling strings
2. Program. If you love it, do it all the time. The best job is one where you get paid to do what you would do as a hobby.
3. Keep at it. Be a sponge, and show you can the job by doing as much as you can outside of that job. Contribute to open source. Work on other projects. Start your own projects. Get yourself noticed.
For the "hiring manager" who say they never hire anyone with o experience on their resume, I'd say we all had none when we started. Conversly, I've seen awesome resumes...by people who can't even tell me how to anything more than MS point and click.
After 20 years in IT, I'm getting out as fast as I can. The constant outsourcing, the constant actually stated in meetings "If you don't like it we can find someone on the streets who will work more for less". The constant and unending complete changing of work hours - making them rotate on a random cycle thereby making it impossible to go to school to upgrade/change skill sets, the unwillingness to train or provide training, or any time to train, and an annual 'performance appraisal' system that is more akin to high school popularity contests and who is golfing buddies with the manager rather than who is actually competent at their jobs....I'm done.
I've been a contractor and have worked at multiple companies over the last 20 years, and it is the same everywhere I have been.
So I am going into the health-care field. I have committed to school for the next year, and have told management I will be unable to participate in the newly revealed utterly random work schedule scheme. We'll see how that goes.
Oh yea, currently at a very large corporation that took $25 Billion in taxpayers money and is in the middle of increasing outsourcing by 25%, and planning on spending $400 million to send several thousand more jobs to India.
Want a change? go into health care. You can't outsource physical therapy, occupational therapy, or nursing. Teaching is good too, if you live in a state that has decent teachers wages.
That's ironic, I'm sick of IT and ready for something else. Can only do one thing for so many decades before you get burned out. Would you like to trade jobs?
You've hit the nail on the head with the question about relevant experience -- it's the first thing people look for when hiring; it's way more important than qualifications.
I see two ways to get in:
(a) Contribute to some OSS projects that are relevant to the sort of coding you want to get into. Bear in mind that it will take you some time to build up enough experience doing this for it to really count for anything.
(b) Look for coding jobs in the industry you were previously in -- ie a cross-over job. For example, if you were previously a sales person for widgets, and you know loads about the various types of widgets and how they work, etc, you might find that a widget manufacturer or sales company might be willing to hire you as a coder based on your expertise in widgets rather than in coding. You'll still need to know how to write code of course, but I'm guessing you know enough already to be able to get through an interview once you've managed to get one.
At my last company I was part of a team of 16 software developers. Only two of us had CS degrees. The rest had degrees in finance, economics, electrical engineering, and math. We worked in a financial company, so economics degrees were a natural fit to solving the problems we were given.
So hopefully you could use your current knowledge to program within a certain domain.
As for experience, I suggest contributing to some open source projects and taking on small contract work if you feel you can handle it. I used open source contributions to switch from programming on Windows to programming for Linux. The experience helps get the job, and the added bonus of contributing to open source is that you can easily show interviewers your code.
Developers: We can use your help.
One thing you may find is that generic coding jobs may be boring/unexciting for you and also hard to get into. I would advise you leverage your current experience, and see where new software may help in your current field, or what is it about the existing software that you feel is lacking and/or needs improvement.
It will also make it easier for you to get a job that way. "I don't have software experience, but due to x years of experience in this field, I understand the ins and outs and that will be invaluable while I build up software design and implementation experience."
If you were a biologist, look at bioinformatics, if you were in real estate look at companies building better MLS tracking software, if you were a teacher, look at jobs with a company like Blackboard, you get the idea.
-"Those who fought today will die tommorow."-
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...
It must have been something you assimilated. . . .
...then get relivant certification.
If you can't get relivant certification then bullshit.
It's what all the Indian coders do and it works for them.
I'm probably going to get modded as a troll, particularly amongst the linux elite, but depending on what you are interested in, what about iPhone development? Right now it seems the application waiting list is a bit long and delayed, but if, at some point you get in, would you consider creating a project on your own for the general consumer populace? Taking the initiative and creating applications on your own which can be readily identified in the market space might be a good thing to add to your resume, and there are more than just linux developers out there.
I'm not a code developer per se. My baliwick is SQL and I love it. I look at some languages and cringe a little, or just get annoyed. SQL is a query language, but it's just as much a development language as anything else, it just has a different use.
There are also plenty of developers out there using Perl, PHP and others and other things who design web applications and websites. And then there's python...
You did say you you knew some C/C++ and were looking to get into development. Most developers know multiple languages, but when picking something you enjoy, it's important to make sure you enjoy that particular type of programming. You may enjoy C++ coding for a business application, but the moment someone shows you LISP you may run scream from the building (most people do ;)).
I just want to bring up the question of what do you see yourself developing for? That's something a lot of employers ask. You could love coding for the sake of creation, but if you are like me, you may prefer database development over something else. If you think that might concern you, come up with a vision for yourself.
"All great wisdom is contained in .signature files"
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 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.
Check in with your local hospital or community college. Those institutions are notorious for having lots of small fiefdoms of IT rather than the monolithic, highly structured corporate IT world. In some of these fiefdoms you'll find that anyone who can hack an Excel macro will be considered a programming god. Hospitals are also much more willing to hire people with unproven or short time experience because they can't afford much more. If you are in any way competent, you may make yourself a nice niche.
I personally don't have degrees that match to my current responsibilities as a software engineer, so I can understand where you are coming from. However, I consider software, computers, and technology _my life_ - rather than _my career_.
Much like being good at any job; if you have good communications skills, the drive to work to and complete goals, and the discipline to be diligent and thorough - you will succeed.
For short-term technical experience - Write your own code. Write your own app. If you can figure out how to find a compiler/linker, edit source, and build something that does something useful - put it out on the interwebs and reference it. Go the extra mile and make is cross-platform. If you want group experience - sign up with an open source project or other project looking for free help. Both of these aren't easy options - but they serve the purpose of exposing you to what software development tastes like (often bitter) and building experience. Do something related to the area you are interested in. A Human Resources axiom that I hear often is the phrase "the candidate was able to demonstrate success."
Finally, interviewing is a different skill than software development. If you do get to interview, be warned that the questions they may ask and the way that they are posed sometimes have no relation to the work you would be doing. It is frustrating and funny at the same time. Smile a lot, be professional, ask a lot of questions, and come prepared.
One of my friends here in Boston/Cambridge did this. He went to Harvard and hold a PhD in Political Science. I'd say that's pretty far from a programming-related field.
Then one day he thought that he wanted to be a developer instead. He taught himself Ruby and Rails and started hanging out with the right people (this is a really key part of things). He makes continuous learning a priority. In a relatively short period of time he turned himself into a wonderful developer. I've had some people do code review of his stuff and its apparent that he's not a CS major, but he does a good job nontheless and commands a decent hourly rate.
One other thing he did that was pretty important was just jumping in and started making sites and contributing to things that people around him cared about. This got him pretty far quickly.
I've considered doing similar, but I'm headed more into project/product management side of it I think as there continues to be something about programming that I'm just 'not getting' overall (I used to be good at C++ but Rails hurts my head for other reasons).
Tibbon
tibbon.com
Yeah! Why don't you go get a computer science degree, major in JavaScript, HTML, and XML along with some PHP, Python, Java, a little bit of Linux, and Windows Server, as well as Novell, then some Perl, with some Shell scripting, and when you're done with that learn some XML, then do a thesis on database management, as well as modeling, with some object oriented programming. Ajax is fun too, learn that. Oh and there's this thing called Photoshop, it's fantastic, with Flex, and meld that with some Mashups. Don't forget you'll need to know a lot of CSS. That should do it. When you're all done with your degree in "computer science" bend over, put your head between your legs, and kiss your sustainable ass goodbye, because you just spent a fortune on courses that won't get you a job worth crap. I hope that helped.
Why not just take some classes (possibly online courses) to show some background experience? Maybe even get a degree? Not sure how cost effective it may be, but whatever helps can't hurt if you're willing to pay for it.
I have left slashdot and am now on Soylent News. FUCK YOU DICE.
Christ, I've been working in IT for just shy of a year, and I already feel burnt out. Of course, that is working in more of a user-focused area, namely the helpdesk, so I can't speak for the coding or development-oriented jobs although I imagine they are far cushier. If want to retain your sanity, do not go into anything resembling support if you can help it, although without any prior experience it might be tricky.
Mother, do you think they'll like this sig?
Sorry, I wish I could say "Sounds great, here is how you do it". Good developers are educated and experienced. With niche industries (aerospace, medical, etc.) where there is oversight one needs to understand engineering practices (design principles) and process practices (XP, Configuraion Management, ISO, DO-178B, MISRA, etc.). Programming skill requires understanding other aspects like cost, information hiding and best practices for architecting code. The good developers that have spent years educating themselves in their discipline and their trade do not want a weekend warrior that just decided to get into the field. There are exceptions but in general, we do not want you. If you are serious about a career change then educate yourself, take on some internships and look for entry level positions and work on some open-source projects.
Assuming it's your intent to get paid to do something you enjoy rather than getting rich in the next two months, you can establish credibility by getting code included in a non-trivial open-source project.
Combine that with networking to meet programmers who have jobs and could recommend you to their firms.
Also, sign up with a few local IT consulting firms who can get you contract work while you are waiting for something substantial (who knows--you may enjoy contracting).
I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
Every single computer nerd has at least the skill level you've stated. If you want an entry-level programming position, you are competing with hundreds of thousands of kids right out of high school, every year. The only thing that's going to set you apart is your experience, and if that experience isn't programming-related, you need to get some.
Contributing to personal or open-source projects is a great way to start. If you can describe some of the work you've done (the nature of your contributions), this is the best thing to see on a resume. You don't even have to release the software. Just write it, explain what it does, how you designed it, why you designed it that way, and, ideally, be able to provide some code samples.
If you're interested in a job in an IT shop of a non-software company, this should be sufficient to get your foot in the door. The bar isn't high there, but that also means the skill level of your peers there will be below-average, so your opportunity (incentive) for mentoring and growth will be limited. If you're interested in a job at a real software company (Microsoft, Google), your personal projects and a healthy enthusiasm for your desired occupation will probably get you an interview, but all of the algorithms, data structures, math, and boring crap that you probably didn't learn in college suddenly becomes important, so expect to do a lot of reading (studying) if you hope to get past the interviews.
If you are willing to promise to never, ever, test your code on anything other than your own workstation before unleashing it on the general public, you will be perfect to work here.
/dev/null for prompt processing.
Large egos, poor communication skills, and inability to take criticism are a bonus as well, it appears.
Just send your application in to
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Yes, relevant experience is important. Everyone wants x years of experience. Well, how do you get that experience if no one is hiring at entry-level?
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.
I'd recommend going into testing in a medium or large company. A big product with lots of user interface needs a lot of testing, and a significant part of this testing requires someone to sit at the console and follow a script. So not much software skill is required. This is a pretty boring job, but it gets you in the door.
Then look for ways to do software-like things. Start by writing some of the scripts, based on the requirements. Test groups tend to be small, under-funded and loosely organised, so anyone with brains and gumption will be given responsibility. From there, try to get into writing automated test scripts. This should give you an opportunity to do some real programming, but on a small scale. After that try to migrate to development.
You are lost in a twisty maze of little standards, all different.
When I'm asked to interview prospective candidates, I don't really care what language they know. In fact, I'll often ask them what language they prefer, and I'll just try to ask questions in the context of their preferred language... (Tho I'll also ask why they prefer specific languages, as I try to probe how well they know each language)
But anyways, I like to probe to see how well they grasp concepts, such as threading, I/O, networking, data structures, security, etc.
For example, someone that has written code that uses winhttp winsock or whatever, may know what http is or how to write network enabled questions... But I want to know if they know why they should choose to use TCP vs UDP or vice versa, or why TCP is reliable, what makes it reliable... Why you wouldn't want to tunnel TCP within another TCP session, etc...
I don't necessarily want to hire somebody because they know how to code, I want to hire someone that can actually design a well architected system.
It doesn't mention what you are doing now, but I would try staying within the same vertical.
You might be (Equal to) a junior coder, but you still have X years experience in that industry, and that still counts for something, even if you are doing sales or whatever else, and now you are programming in that field, that gives you a lot of business experience that others don't have and that will count for something. Try to find out about your potential job role, you might just get an advisory role to begin with, and work your way up as you develop different systems until you prove yourself.
I wouldn't say don't do it, it's going to suck being at the bottom again, but if you can get the right job, then it could work out.
Curiosity was framed; ignorance killed the cat. -- Author unknown
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.
The Admin and the Engineer
I used to be in sales, then I became a security guard.
I eventually applied for a job in the building I was a security guard to do monitoring of servers, software and websites for a bank. I had no relevant experience on my resume, just the references from the night operators that I used to hang out with at 2am when nothing was happening.
That being said, this could be defined as an entry-level job which is going to give you far more leeway in terms of getting in.
For the most part after that, it's all about cutting your teeth and proving you know what you say you do.
As someone who has lied repeatedly on my resume (cough.. COBAL.. cough) the important think is that if you get thrown into that situation when you need to use that skill you can.
IT is very much a job of adaptability. Technology changes in a heartbeat and if you can't keep at that pace and stay ahead of it you will be eaten, doesn't matter how much schooling you have or what your resume says.
Simple solution - move to India... They will hire anyone regardless of skill set... Once your their and have a job apply for an H1B back to the United States. Wola! Your in....
The Truth is a Virus!!!
what can I do to make myself hireable in a short period of time?
Lie. Learning to create wealth by programming takes a while. Lying is the most effective fast track.
Is it possible to pick up enough of what I'd need within a couple months?
Not really, because programming still has a lot of art to it. There aren't a whole lot of "plug and chug" type problems out there. Most jobs require some feel still.
If so, what and how?
Here I'm going to give you the real answer to your question: Get an iPhone or an Android. Start coding. Become moderately successful. Put this on your resume.
Stop-Prism.org: Opt Out of Surveillance
If you have spare time and you want to get into this, use your energy to create something good, start a project, have people follow you and contribute ... then you could say, "I created and lead this project, I'm famous, I'm a rock star, I don't need no sucking job".
If you want to be a coder, follow other's advice and start on open source projects, etc. If you want to be an admin, you'll probably need to start in desktop support and learn from there. Your mindset needs to be in the right place though: if you want to learn a lot about computers in a little time, you need to sacrifice a good chunk of your day beyond your 8 hours of paid time.
Think about a University -- low entry bar, but they usually have desktop support doing everything: web programming, server stuff, light networking, desktop support, etc.
I did an English degree in university. I'm currently working as an analyst and getting training as I go in coding and SQL. I started with my current employer as a tier 1 phone jockey. When that contract dried up, I laid my resume on every desk I could find and got extended for a documentation project. Part of that project involved document QA and some basic software QA. When the tech support work restarted, I went back as a tier 1 but because of my experience, acted as a tier 2 most of the time and as a specialist for the documentation project I had worked on earlier. I worked on improving my tech skills and as a result closed more tickets than most tier 2s. Again the support contract ended and it was back to documentation. However, this time I got tagged for more tech QA and reporting. Having worked on documentation, I proved that I could write clearly and understandably - that lead to more reporting work which lead to analysis work which lead to data gathering and thereby coding. My most valuable two skills in all this were an active decision to go promote myself and an ability to communicate technical concepts to non-technical users. My generally considered by the geeks laughable arts degree coupled with a hobbyists interest in IT has put me in a job that straddles both worlds. Look at your strengths, see how they relate to what you want to do and sell them as hard as you can. However, you have to demonstrate willlingness to fill in any gaps in your knowledge too - tht where the "No but I can learn" quoted so often in previous posts comes in.
You can start by entering into a degree program first of all, my company wont even look at individuals without degree's for the most part. But in a degree program you can utilize a CO-OP program to get your foot in the door someplace and possibly even a job offer if your good enough. Thats how I got my start anyway. If you already have a degree then it should be just a matter of filling in the gaps of classes to get the CS degree.
The other thing is it may be hard to break into that field right now without a degree or relevant work experience. There are all kinds of talented people being laid off right now competing for the potential positions you would like to be in.
plenty of unqualified people have been hired via certifications. :)
One week and you're in.
putting the 'B' in LGBTQ+
If you have a good rating at www.topcoder.com, you will have no problem to get junior level job.
In the current environment, I haven't seen anyone get hired that didn't have a degree and a strong internship or 4+ years of visible, strong experience.
If you are utterly and completely amazing (strongly contraindicated by how you describe your relevant skills), join and make strong contributions to an industry relevant open source project. At the same time, pick up at least two more languages (one of them should probably be perl, python or ruby) and be able to demonstrate fluency, good style and a strong understanding of the fundamentals of computer science. Thats the four month plan, it is likely impossible, but from what you describe you have an immense amount of catching up to do with regards to demonstration of abilities. If you don't actually have the abilities, then the answer is no, you almost certainly can't make it in four months no matter what you do.
Realities just a bunch of bits.
Adobe has made some free licenses available for Flex Builder for anyone who has recently lost a job in IT and wants to retrain. Flex Builder is a commercial application to build Flex/Flash/AIR applications. The core SDK is open source so you actually do not need to buy anything nit FB let's developers be really productive. I work for Adobe and went the extra step of offering free training to learn Flex and how to use it. A boot camp of sorts. There are simply tons of job offers open for Flex developers.
One guy from Vancouver, BC who got this found a job within 4 weeks in IT and hasn't looked back.
Duane Nickull
You will be able to get a job in IT much more easily than in programming. Now, I know this is going to get some wicked replies, but IT is easier than Programming to enter into as the formal education requirement is much lower. I spent 7 years doing very large scale UNIX support (10,000 workstations, 900 servers, at that time one of the largest UNIX installations on the planet), and another 7 doing large scale "enterprise" development (large volume transaction processing),and hands down, the complexity of the issues in programming is much greater than in IT support. You can get a job doing helpdesk support and move into a small scale administration job in a small number of years. Getting into a entry-level programming job without either formal education or a significant amount of other IT experience will be difficult if not impossible in anything other than the smallest shop. The jobs are also very different. IT has you up at all hours, often fighting small campfires and blazing infernos. Shit roles downhill much faster in IT than any other job on the planet, and the stress can be considerable. However, the technical knowledge barrier for entry is not as high in the field as in programming. Programming on the other hand does not have as much of the firefighting, and is indeed lower stress, but some of the problems to be solved are very difficult, and doing something wrong can have very large penalties. Contrary to popular belief, most of the time spent by developers is not actually coding, be aware of that. And you are more than likely to not develop new applications, rather you will be supporting or enhancing a existing application. The two areas are very different, so make sure you want to get into programming and not IT. Either way, it will be a rough road without formal training or significant amounts of experience and the areas involve different skill sets. Spend some time determining which area is the most interesting for you. To get a helpdesk job, you could get some MCSE certs in a fairly short time which would help get you on a Windows support desk fairly quickly. Programming is a different beast. In that case I suggest getting a formal education, as going back to school will get you a entry level programming job faster than "working your way" through the ranks. Be aware that just knowing a language syntax is not enough to program anything other than the smallest applications. Programmers who just know syntax are the worst of all breeds and are thoroughly reviled - don't become one of those.
I spent a decade in the physical security realm, and I still own a small firm doing security systems, etc. I wanted to get in to IT as a Unix/BSD/Linux admin, so I started getting my name out there years ago. When an ideal job came up, I had a resume I was happy with, describing how my current and past positions would help me with my newly-sought position, whether there was any direct relation or not. From there, I showed some things to prove I could do it. I accepted a slight pay decrease to get my foot in the door with a clause that allowed for a large pay increase should I prove my worth. I've been working in my new IT career for over two years, and I got the large pay bump I sought.
This first thing you need to do is become a salesman. You need to learn how to sell yourself. If you're not confident, any prospective employer will figure that out. A good, solid resume will get you in the door for an interview, but you've got to demonstrate your ability.
where I work (network equipment manufacturer) testers code and script. It has a lower barrier to entry and lets you show off your skills. Once you have some history and experience spin that into a programming position. The key is to actually do good work, work hard and NEVER turn down an opportunity to show off what you can do and where you want to go.
Unless you apply for a very specific project that needs very specific knowledge, knowing a language well is not going to help you much. You need to be able to show that you have a good logic, that you are able to solve problems quickly and efficiently. Most of the time, this can be done in many languages, and most projects have different parts done in different ones. Knowing the syntax to one language doesn't help you much when you have to code in another one. Logic on the other hand works everywhere. Good thinking is what is needed to find good solutions to problems... and many languages can be used. Sometimes, a specific language will be better than another one, that's where good thinking and logic will be useful. You can always refer to Google for syntax examples, and good thinking and logic will help you filter out most of the crap and find the good examples.
When I'm helping HR decide on who they hire, I always ask the person we interview logic questions, ask them to find solutions to problems I've encountered in the past and see what they come up with. If they find a working solution it's good. If they propose a solution I've actually put in production and I think was the best, it's even better (compatible thoughts, good for team work). If they find a solution I consider better than mine, then it's excellent.
This, of course, doesn't tell me how good they actually are at implementing them, but I can always coach them, and if they do have good thinking and logic, they will eventually become good at it. Though frankly, those who showed good thinking in interviews were usually the fastest learners too and I rarely had a problems with people hired using this technique.
I didn't read through all the posts, so someone may have suggested these. I have three suggestions: School, Certifications, and Submersion.
First off try to get a degree of some sort, even if it's just a AAS Degree in Computer Science at a local community college. If you have any credits it may not take as long as you'd think.
If school isn't an option or you don't want to spend the time, pick a path and submerge yourself in it. If you want to go the DotNet path then pick-up VS2008 Developer Edition, Sql Server 2008 Developer Edition, and as many books as you can. Yes it will cost some money, but you're talking about a life changing career move so you'll need to invest some cash and time.
Also a huge piece most folks miss when telling someone how to get started are the conceptual aspects of coding. I'd say any good program has more time put into planning the concept then typing code itself. Spend as much time learning the theories behind coding, which generally are language independent. I'd suggest getting Beautiful Code and also reviewing the books at OReilly on this topic - http://oreilly.com/store/series/theory.html .
Then once you pick a language and start getting familiar with it, start coding! Put together anything, whether it's a program to calculate your budget, your bowling team's scores, anything. Find some practical use for hte code and start hacking. Then when start looking at certifications. Microsoft has several for developers: MCTS, MCPD, MCAD, etc.
So how does this apply to breaking into the IT workforce??? Personally my experience is a degree is best, but many employers will look at certifications second. Either shows you're able to follow through with something. Secondly even if you have no professional experience, I've seen folks carry a portfolio of work to show. If the hiring is done by a CIO or HR department, they probably will look more at certs and degrees, but if the technical side of the department is involved have something to show, even if it's a small sample of printed out code. To a developer they can read this and see how good you are.
With all this said, don't expect to find an awesome job right out of the gate. Try to get a gopher job, which is generally fixing bugs, doing reports, etc... and from here you'll get the work experience you need to really move up in the industry. ALso make contacts!!! Find folks in your area who are coders, whether in a user group, local computer shop, or whatever. Most jobs I've seen folks get around our area are through contacts. The verbiage "It's who you know not what you know" does hold true.
Have fun... , but my suggestion is to go to school part time at your local community college and try to pick-up an AAS Degree in Computer Science. Depending on the credits you have now it may only be a matter of a few classes, or if you're starting from scratch some technical colleges will give you a certification. But for better or for worse many employers look for a degree of some sort.
Secondly I'd suggest picking a path and submerging yourself in it. For example if DotNet is your route, get
- identify jobs you'd be interested in
- make sure you learn enough to do the jobs
- get interviews and convince the interviewers you can do the job
- get job
- realize OMG I have a job in _IT_
- quit. Become stand up comedian
On a related note, I've hated my career as an IT TECH for the last 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 MEDICAL. I'd like to get into UROLOGY, since I always enjoyed PEEING. I have some background with URINE 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 MEDICAL and UROLOGY 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?
If you want a real career, do the necessary work and learn the necessary skills. If you want a hobby, get a hobby. A "Programming for Dummies" book and the ability to find the ANY key does not make you an IT professional any more than a stethoscope and a white coat make you a nurse/doctor.
Seriously. If you were even a serious IT hobbyist, you wouldn't need to ask this question. RC plane hobbyists invest more time and effort and you don't have them all showing up at major airlines saying "Is it possible to pick up enough of what I'd need within a couple of months?" to go fly commercial aircraft.
Have you ever noticed how there's always a shortage of X profession, no jobs in X profession, and poor quality goods coming from X profession? Software development, especially niche software development, is notorious for buggy programs with terrible interfaces. Find a need and fill it. If you do this well your name will get around a certain field and if you're still interested in being hired by someone at that point you'll probably have several job offers to choose from. Nice thing about software development is you only need to give up your time to get into it. At least you're not trying to break into aircraft design.
mmmm...forbidden donut
I have a similar experience and thus my two cents here. Was in an academic setting with years of coding in FORTRAN to my (lack of) credit. Took me two years to decide what I should do - finally got in an entry level (tier 3) as helpdesk sys-admin (two years and shot to significant customer satisfaction level). Managed to get a foothold in a startup software company for experience (left the company in three months due to unacceptably bad supervisory attitudes in company). Worked for an academy related database and consider myself hire-worthy (tested positive on a number of applications and interviews but still looking for that dream job). Following a post above, planning to try India next :-)
My advice: databases, Object-Oriented methods and familiarity with versioning software are a must in most companies - that together with familiarity with the top languages (took me about a year to get familiar with perl/php/python/javascript/mysql/postgresql/sqlite combination)
and an ability to demonstrate some work necessarily having database calls will help you at least in start up companies (economy willing).
You can read the report at http://www.bls.gov/oco/ocos110.htm from the Bureau of Labor Statistics. Specifically look at the Training and Outlook sections before you make your decision. It sounds like you would have ALOT of work to do to even make the most basic entry level job.
I know I sound like a jerk, but I've made a ton of money over the years cleaning up after self-taught programmers. There's a difference betweeen "programming" and "computer science". Like there's a difference between being a "builder" and being an "architect". The problem is that many places will bring in programmers to do work that a computer scientist should be doing, and the results are often disastrous.
If you want to get into this field, do it right.
Do you have ESP?
Many people here are from corporate America (all they know) and are telling you that you will face huge competition, HR screenings, &c. That is all true if you go the corporate route. This economy sucks and is going to get worse. Entrepreneurs who can provide real value will fair much better than people at large corporations hoping their seniority will mean something as management continues their endless waves of head chopping. If you can code as you said, why not build an open source application? Not an mp3 server, but something useful to business (possibly your current industry?). Make it useful, work well, then offer consulting services in it. I know it sounds risky but as budgets keep shrinking, staff positions are going to become (even more) incredibly competitive and offer little security. Business will always be willing to pay for value. So provide something of value.
I'd recommend investing in something like: http://www.aimstesting.org/
Take into consideration your age. Are you going to fit in with a bunch of 20 somethings fresh out of school?
Corporate culture will differ with the company, but your co-workers "mini culture" will have a big effect.
Is this really something you can do long term?
By that I mean, the sheer amount of IT work in your geographic area.
If you work for company A and it goes under or you decide to leave, what else is available?
(You will have to compete with a much larger pool of candidates if you try a tele-commuting gig.)
Do you enjoy your family, hobbies, etc? Plenty of IT jobs regularly require far more than 40 hours/week. Are you prepared for this as a long term situation?
If after all that you still want to give it a shot and your contacts will pull a few strings then give it a shot.....and may God have mercy on your soul.
Web programming is super easy to get started with, and it will get you inside the door at a number of good to excellent companies.
Entry-level PHP developers often make $40-65k and that's with little to no corporate experience (and often no related degrees). We're mostly self-taught (so you'd fit right in) and lots of us don't have *any* degree. If you have any business or management experience, it will help you land an entry-level job, as you will be more valuable than just a programmer. We need thinkers who are earger to learn, not people with multiple degrees and 15 years of experience. You won't be making the life and death decisions. That's what the senior developers are for.
Focus on learning proper OO techniques and PHP 5 (it will carry more weight when interviewing for a position and will be most useful when switching languages a couple years into your new career).
There are countless open source PHP projects you could get involved with, but I'd recommend that you not focus too much effort on contributing.
- First off, with any decent project, your coding level will probably be far below the other main contributors (and your commits will look less than glamorous).
- Second, employers are not going to dig up your contributions when considering you for an entry level position.
- If you do contribute, do it for your own personal development as a programmer, not for any potential benefit being hired.
Code, code, code. When you get to that interview, show you have a command of the language. At least enough that when they need you to make simple changes, they can give you guidance, even instructions (my boss LOVES to give them) but not have to feel like they're babysitting you through each step of the process.
Lastly, don't forget the basics (if you go the web route). HTML, CSS, JavaScript... You don't have to be a guru, but if you can't mostly understand and navigate your way through those, you're not ready for the typical entry-level php position.
Your current experience counts for something. Your best bet is to leverage what you know. It is hard for me to imagine a job that wouldn't have something to offer a coder. Say you are empting port-a-johns for a living. Write some code that would help that industry. I can see the application planning the route and measuring the level of the truck's tank so that you can maximize the truck's capacity on the shortest route. Use this code to demonstrate your skills and release it open source. That way you have something in your portfolio to show a perspective employer.
I know middle-aged men who'd rather retire, who know networks well, who are paying $12,000 and up to our local community college (or is it a tech school?) just to get the baseline credentials they've already learned on the job. I suppose it makes sense. You don't know jack outside your own cubicle. But if everyone speaks the same language, shares the same vocabulary, marches in the same lockstep, then anyone can do the same h.a. job on demand. No more expensive idiosyncrasy. Every fish gets the exact same bicycle, just in time, and the blonde with the red shorts and the hammer has that much farther to run. Good luck.
``Tension, apprehension & dissension have begun!'' - Duffy Wyg&, in Alfred Bester's _The Demolished Man_
Certifications. A+, Network+, MCP in Windows XP, etc. No, they aren't foolproof and no they won't give you the practical experience, but they will tell the hiring manager that you have a certain set of knowledge that you can tap into.
Geez.
It is an outsourced jungle these days. Do you really want to justify why you think you are worth 10 times the salary of a coder in China? Or work for a while then train your Chinese replacements, spend EARLY morning and evenings across the timezones on calls with them to make sure everything is finally working out their new team, so they can cut you.
Meanwhile your company is going down the toilet while your execs reward themselves for reducing salary expenses with drastic moves to low cost centers.
Not a career I would recommend unless you are in some high security area that can't be outsourced.
Best of luck.
Just hook yourself up with several placement companies and be willing to work for peanuts. Let the body shop sell you and go where ever they tell you to go. It might also help if you change your name to Krishnan Ragdamanaman...
My story is a little different - I have CS degree but got laid of one year after graduating (back in 2001) - I spent 3 years working retail selling guitars for commission - I got my foot in the door at a software company and they "found" a position for me in their test group - familiarity with computers in general and a willingness to learn new things are great attributes to have in an entry level tester position. From there, depending on your interests, you may find yourself doing test tool developer - writing quick and dirty scripts and/or programs to help you do your job - you'll be working with lots of software people, so you'll undoubtedly start to pick up on some things and, after some time, you may be able to make the jump into a full time development field if that's what you want to do.
calling all destroyers
Go get the SDK from Apple, code up an App or 10 for the IPhone/Touch, submit them to the iTunes App store.
Not only does it qualify as relevant programing experience, but you can work at your own pace, keep your current job and hey, if they sell, you might make some spare change.
$.02
I was in your shoes and "reinvented" myself you could say. Formally an accountant and morphed to an IT person. I was able to make the "leap" by working for an accounting software developer. I racked-up IT experience there, migrated to their IT department and was able to pursue full-blown IT jobs going forward. (It was a small business that was willing to take a risk on me. Some small businesses can give you lots of exposure/experience.) So I guess my suggestion is, depending on what your current experience is, find a job that's in-between what you do now and what you want to do (IT). Then gain experience and migrate.
I switched from a completely non-technical position to a being programmer. Though it took me about two years and several small steps. Basically, I kept learning relevant skills, and when there were gaps (because of people quitting, or new stuff that I found that needed doing), I was there and able to do the work. My first transition was from general office work to being the "computer guy" at a small company. I got this job because I knew the most about Linux, so when the old computer guy left, I was the most qualified. I got another job doing documentation and tech support for a small project. I taught myself enough Perl to do some simple CGIs, and found some simple apps that I could do. This got me noticed and officially licensed to do some programming in addition to my other duties. Then I took some night classes in Java and got promoted to a full-time developer. Since you already know how to code, I'd suggest finding people in your company who need help. I knew a lot of people who were doing really mind-numbing repetitive work in Excel or by hand to do statistics or reports. So I wrote some Perl scripts to automate some of that, or setup Excel files better to automate the statistics generation. I found it really helpful to have people who would vouch for me along the lines of "I used to spend hours doing that, and he wrote a program that would do it in 5 minutes". That obviously helps a lot more if you can move to a developer position in your company.
Why would you assume people lie on their resumes? You may, but most people don't. Don't get caught at it though: that's pretty much a definitive career ending move. And the incompetence of a technologically illiterate HR person doesn't constitute a "lie" either. That's something called a mistake. Or a typo.
I second that. I have never lied on a resume or even padded mine slightly. I have, however, been asked to an interview more than once by people who then proceeded to ask me for details about my experience with things that weren't on my resume. I will never understand why employers do that, I don't like it when people waste my time. I can only assume they were to lazy to read my resume. What I have experience with is on my resume, what I don't have experience with isn't and all they have to do is read the f*cking thing. Many HR people and head-hunters are a waste of space. I was recently asked by a head-hunter to put certain claims of experience in my resume. Even after I explicitly told him I had no experience with that technology, he wanted me to put it on my resume anyway so it would be easier for him to "sell my resume" to an employer. This, I resoloutely refused to do. In my time I have witnessed a couple of people get caught who outright lied about their experience and knowledge on a resume or in an interview and let me tell you, that's one thing I don't ever want to experience. I cannot even imagine how that feels. Never mind the fact that ever afterwards you'd have to explain why you were only at a certain company for a couple of months and why you left them. Even if you tell another lie, get away with it and get this new job you still have to worry that some PHB meets somebody from that other company on the golf course, they start chatting, and you are screwed anyway. A lie becomes a web of lies and eventually, when you lose track of what lies you have told to which people... that's when you get caught.
And that concludes my rant...
Only to idiots, are orders laws.
-- Henning von Tresckow
I was a tax accountant, working for a company that implemented an ERP package (and rather badly). Because of that, I had to roll up my sleeves and code, and the rest of the company was dead in the water. After a couple years, and getting my job redefined, I became a consultant for the ERP company, and haven't looked back.
That was a different market. In a weak job market, senior people have the advantage, even if rates are lower. If you can find a way to work with software relevant to what you do now, you can position yourself to make the move when things turn up.
My problem is my degrees and past employment have no practical application to the field. Where should I start?
Sorry, but I just have to ask:
How can you complete a comp sci degree with zero exposure to UNIX?
It's like going from Petty Thief to being the US Federal CIO...
Wait! Maybe there is hope?!?
Computer languages are analagous to natural languages. In the same way that knowing English isn't enough to make you a novelist or technical writer, knowing C++ isn't enough to be successful at writing non-trivial software that's useful.
I won't even phone screen candidates that don't have practical experience, or don't have at least the level of practical experience I'd expect for some one with their time in industry because people need to be able to design things, keep their thoughts organized, and do it in a way that the software is maintainable. Even the smartest people don't get those things right on their first few attempts. Working open source software (I wrote the original Linux SCSI subsystem and it was bad) or on project classes (in compiler construction we built a compiler that handled some reasonabe subset of 'C') are ways to get that experience without paying jobs.
I won't even bring candidates in for interviews when they don't demonstrate a basic knowledge of algorithmic complexity and data structures since that much is needed to understand why things are thousands (or even millions) of times slower than they should be. An introductory computer science course and data structures are one place to get that. MIT even puts materials on line for their open courseware; that might be the material you want for self-guided study.
In theory you can do things like system administration and testing, although in practice you'll be real limited in those areas and who will hire you. Testing needs to be automated, and the code can be more complex than the software under test. While lots of organizations look down on testers, you really need good software engineers who may just differ from product engineers in the attention span they have (delivering test cases in weeks versus years for some complex products). All competent system administrators do a lot of automation with programming; especially in small organizations where they're likely to wear additional hats as the person automating the build or doing product installation work.
:-)
(Just kidding. The other posters had it correct--be a manager. Absolutely anyone can get hired to manage programmers...)
"Not an actor, but he plays one on TV."
On the other hand, I KNOW it can be done. I made a quite insane journey from traditional wooden boatbuilding to computer programmer. It took me a long time, because I got distracted by actually working in IT support (at quite a decent paid level, 3rd line network support), but it could have been done quicker.
I had no degree (a failed attempt at economics), not a single qualification in computing, and a work history as a guitar teacher and a boatbuilder, and yet I managed to shift into IT, and then into coding. This is how I did it:
1) I went to evening classes and got some C and C++ exams under my belt.
2) I coded some ganmes from scratch and started selling them, giving me something visually impressive on my CV
3) I didn't hide my previous jobs. In fact, I think they helped my CV to stand out
4) I acted confident about getting every job I went to. Being an ex-musician helped in this. No interview for a job is as scary as playing a gig to a bunch of drunk Hells Angels on a saturday night.
When I was a boatbuilder, the most hi-tech equipment we had was a telephone. We didn't even have electric screwdrivers, or for that matter, plumbing. The floor was sawdust on concrete. If I can go from that environment to lead programmer, then anyone can do it. That doesn't mean it isn't extremely fucking hard to do so, but I can assure you it is doable.
DRM-free indie games for the PC and Mac: Positech Games
For the time I was working on short contracts between interesting full-time positions, I list my employer of record (Drew's Software LLC) instead of the individual companies I contracted with.
And even that line is too strong for the approach I prefer.
My job I am in now involves a program I had never heard of. But my response was "I haven't had a chance to train on that program, but I know how software concepts work, so I feel I can learn that very well." Much later in the first few days of actual work, someone called me a genius.
I replied, "No, not quite. I am clever to be sure. But I am also supplying a blended skill set. In each of the categories I am sure someone might have a stronger natural talent". (Which became true: we tripled the size of our administrative structure, hiring exactly those kinds of people.)
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
What do you have experience with that most software developers don't? In other words, what is your domain now? Is software a big part of it? Custom applications? Business knowledge that is unique to the domain?
That is what you should look at. Obviously, some domains are more useful with this approach. As you haven't shared what you do now, you'll need to figure that out.
You could also consider doing a Masters in CS if you're interested in that kind of thing. Another alternative might be some sort of training that would yield a certificate or similar. I know the University of Illinois at Urbana-Champaign has some online offerings (for CS Masters I think but maybe others too). That kind of thing is something most geeks find annoying but it might help you get your foot in the door.
One last thought: Have you contributed to any open source projects? Do you have code samples you can share? Have you recently reviewed common algorithms or common interview questions that are relevant to programming? With connections, maybe these things aren't needed but it doesn't hurt to be over prepared.
I dunno. My honesty is pretty good, anything short of pure malice gets you an honest answer. But there are many verbal styles in the world, and a few have cropped up I simply can't make sense of *fast enough*.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Hi, I've been in IT, programming et. al. for nearly a decade now. The biggest bit of advice to give is it something you can do 'part time'. Open source projects have been mentioned, but there is always writing your own game or iTunes app as well.
I'd suggest:
1) start with open source software until you feel confident in your skills. Not as experience for the resume, but experience for you.
2) then try your hand at your own project. commercial or open-source. I'd suggest an iTunes or Android app, more niches, smaller scope of application itself.
3) With '2' on your resume, (and hopefully earning some cash if you picked commercial) then try for the 'real job'.
Remember that its still shorter than the more traditional 'years studying at a University', which in my case was four years. 1 and 2 can be done while still having a paying gig elsewhere. What I would be less likely to suggest is starting a related field. Support and QA might sound like entries into programming, but at a lot of companies its very rare for anyone to actually make the move. Although you could always do it in conjunction with 1 and 2 above.
As for me I'm going into teaching, with a plan of doing '1' and '2' simply to help keep my skills up to date in case I decide to go back.
To get a feel for what IT is like try the following:
Write a useful program for some open source project. Redesign and rewrite it until you are happy it's as good as can be.
Do the above in the chimpanzee enclosure at the zoo. With the chimpanzees throwing their turds at you whilst you type. Do it in half the time it takes to do it right. Spend half of your remaining time explaining how the software works to the dumbest chimpanzee, call him the PHB. Have the second dumbest chimpanzee write every third line of code for you. Once you have finished give the chimpanzees your phone number and expect them to call you every time the software they didn't let you write correctly fails.
Seriously, working in IT for a multinational isn't in any way fun. At least stick to small sane companies.
Dear kdawson:
You might as well have written:
"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 Brain Surgery.
I'd like to get into medicine, since I always enjoyed watching ER. I have some background as I patched up my cat once 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 medicine who might be able to pull some strings and get me an interview or two for entry-level surgeon 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?"
Yes your question really does sound that stupid to experienced developers.
I interview 30+ people every year for programming positions. The number one attribute we desire is "smart." If you are smart, we can teach you, and you will learn. We find that completion of an engineering, physics, math, or computer science degree usually implies "smart." We have hired smart fine arts majors, smart psychology majors, and even a former priest. Second, we want "motivated." We like people who attack every challenge with creativity and resourcefulness. We shy away from negativity and reluctance to try new approaches. When a stupid new process is forced on us from above, we want employees who say, if we change this or that it will be so much easier to follow and provide better results. Then we can push changes back up as "process improvements." We don't like it when people just complain without suggesting a better way. Third, we like nice people who will get along with the current employees and be fun at lunch and the holiday party. As a distant fourth, we look for directly relevant experience. Sometimes that experience is FPGA programming or power supply engineering or signal processing expertise or C++ programming for embedded systems or Java GUI applications. However, we routinely solve problems that have never been solved before. As an indication of company culture, there are more patent award plaques than pictures on our walls. For us, relevant experience for a senior position could be "what have you invented lately?"
And yes, we are currently advertising 22 open positions, but I am not alowed to tell you where I work in this forum.
Why should a company choose to hire you as an entry-level programmer rather than a fresh computer science graduate? At the end of the day getting hired is about competition, so if you realistically think you can do as well as anyone else at the salary level you expect then go for it.
OTOH if you don't have the skills to compete, it's hardly realistic to expect that a few months will make any difference or compensate for the lack of a 4 year Comp-Sci degree.
The simplest way to make the switch if it's at all possible is to make a lateral move at your current company, or at least try to get your job changed to include some significant development so that in a year or so you can put that on your resume.
Let me preface this by saying I actually do have an I.T. degree, Information Science to be precise.
I've worked with people who degrees in oceanography, semiotics, physics, mathematics, accounting, etc.
Take out a loan, go back to school, and get a degree.
You're competing against other applicants who either have years of experience, or relevant degrees, or certs, or mostly, some combination of the above.
It's by no means impossible for you to change careers. But you are trying to break into a technical field and so you will need to assert that you meet the technical requirements. Once you can do that, then you can try to paint yourself as the better pick over the competition.
Perhaps by the time you're out of school the economy will have recovered and you'll have better job opportunities to chase after too.
"Employment of computer programmers is expected to decline slowly. Job prospects should be best for those with a bachelor's degree and experience with a variety of programming languages and tools."
http://www.bls.gov/oco/ocos110.htm#outlook
But ...
"Employment of computer support specialists and systems administrators is expected to increase much faster than the average. Job prospects should be best for those with a college degree and relevant experience."
http://www.bls.gov/oco/ocos268.htm#outlook
I worked for a consulting company doing admin and powerpoint-based work about 10 years ago. I have a degree in History, so nothing really related to computer work in my educational background. Back in the Dot-Com days, I taught myself Flash during down-time at work, quit my job, and then offered to build a website for a local 5-and-dime for free. It wasn't very good, but it padded my resume, and allowed me to get other jobs building smaller, and then larger websites for people freelance until I got hired. This still works, although it's more difficult as you are competing oftentimes against people offshore. Alternatively, make up your own website for a fake company to pad your resume. This is if you want to go into web development; it might not work the same for programming. Another method is to get enough work so that you can get hired by (multiple) temp agencies; eventually you will get a position, even short term, and then you will be able to have experience enough to get full-time work.
I went from preschool teacher to software engineer over the course of a few years. I'd recommend starting small though - I taught myself basic markup, just enough to get my foot in the door with an entry-level position, then learned more on the job and gradually grew into the backend developer I am today. To be fair, I got my start when the economy was healthy - I'm not sure I could repeat the same process today.
1) Try software areas where your previous background is an asset. Actual programming is only part of the job. Thinking is the most important part. Extremely successful developers understand how the users want to use the software. Come in with that knowledge, and you'll have advantage over some others.
For example, if you were in finance, try a company that proposes software for par to the industry you worked in. If you were in art, try some sort of graphic software company.
2) Write some software tools for the field you are trying to enter. Make it freely available (with source) on the internet and include a link to it as part of your resume. Put lots (and lots) of effort into it and make it great software and well written code (!). They need to look at it and be impressed by it enough to take a chance on you.
BTW Large open source projects are NOT valuable to demonstrate your individual skills as they are group efforts. The prospective employer won't know what part of the project demonstrates your work. For all they know, all you did is work on the readme file. In order to know what you worked on, they would have to trawl through the change logs -- no prospective employer is willing to do that.
3) Apply to small companies. They value diverse backgrounds more as employees frequently perform multiple roles. They are usually more willing to take a risk as it is easier for them to fire you if it doesn't work out.
The downside is that small companies will expect you to work hard and cheap until you've proven yourself. 40 hr weeks probably won't enough to keep you from being fired until you're very productive (and that will be years away). So you better be willing to work your a** off.
And ...
"Computer software engineers are one of the occupations projected to grow the fastest and add the most new jobs over the 2006-16 decade.
Excellent job prospects are expected for applicants with at least bachelorâ(TM)s degree in computer engineering or computer science and with practical work experience."
http://www.bls.gov/oco/ocos267.htm
writing code in your free time with no professional experience whatsoever is a lot more likely to get you a job [from someone else who writes code] than having years of "professional" experience but never touching a computer outside of work.
-- 'The' Lord and Master Bitman On High, Master Of All
You absolutely CAN land an entry level developer position (with no real experience) if you are bright enough, diligent, and have the right contacts.
I went from NetAdmin to Jr. developer position, based on a recommendation alone.
My interview (1 of 1) was the funniest I've ever experienced. Conversation revolved around Golf, Hawaii, and various outdoor adventure sports.
Quote: "Well, I guess we should probably ask you at least one high level question to make this an official interview. What does HTML stand for?"
I almost fell over...
For the first six months I studied, wrote sample code, studied, wrote sample code, and occassionally actually built something that worked!
Three years later, I am dept. manager and rarely even get to touch an IDE anymore.
Be careful what you wish for!
What do you want from the poor retired Bill.
...a stunned silence fell upon the hall.
There are programs for people like yourself. I was just such a person. Experience is helpful but you must learn good coding skills too. And a bit of theory. Which isn't entirely self-taught. I am an MD and got the degree partly due to strong interest but also to supplement my MD stuff. My 3 best friends in the program now work for MSFT, a large wall street financial firm, and for a contractor, overseeing creation of a virtual world for a major toy company, respectively. Www.cis.upenn.edu/grad/mcit
Take a look at the link below. Even people with great degrees, and lots of experience are finding this market impossible.
http://techtoil.org/wiki/doku.php?id=articles:news_and_commentary
I'm sorry, but I can't imagine any industry or job that would not help with a job in some sector of IT. Think about it for a minute. Every industry needs computer professionals that understand their business. If you are without any experience you need to learn that industry the hard way, without any additional help. If you already HAVE some knowledge and experience in some particular industry then the question is how to make use of that experience to sell your new career path choice. Aim high and believe in your hard earned knowledge and you will find a way to build that new career.
it'd be better for you if you were. the more C++ you know the more your brain gets twisted. if you know enough other languages, adding C++ on top doesn't have to be killer, but i have a hard time thinking of a language that'd be worse to know as your only one. COBOL, maybe.
i speak for myself and those who like what i say.
Relevant experience my ass...I graduated last year with a BS in psychology and over five years experience as an intern with my local government doing PC Support, DBA, and Web Design. I even started my own company during college offering programming and pc support services. I didn't get one bite after applying to over 1,000 jobs. I got accepted to a Master's program in IT and got lots of calls after that. But, IT is dead with all the H1Bs and low wages. For there to be such a shortage of IT people, they sure as hell aren't paying much. I got offered 40k for a DBA job and I would have graduated with a Master's degree. I have since dropped out my Master's program and going back to school to become a doctor. You'll always be needed, wages hopefully won't drop, and you can practice until you're practically dead. Good luck to those still thinking a career in IT is great because it's not...
If you love coding and that is what you want to do, then what you must do is put all of your time into studying and coding. It will be a continuous journey of learning and self development. You are not guaranteed good pay but maybe that is not the most important thing.
However you can get a job being "involved with software" without being lead programmer. You can do documentation, testing, sales assistant, etc. There are many needs for people who are responsible and details oriented. Also you can leverage domain-specific knowledge (or enthusiasm) to get involved in projects. For example if you know a lot about shipbuilding you might be in a position to be a consultant on a project related to that industry.
Two things to consider. Being on the side that interfaces with the client is very important and cannot be outsourced away from the client. And even if you do turn into a stellar programmer, you still will end up focusing on a certain domain. As others have said a helpdesk job is something that will give you experience but not in coding. It would just be a salary. If you want to learn, then first put in the time yourself and learn from the net and by doing. Even if you get hired by someone you are expected to teach yourself usually. But I think you can contribute greatly to projects both open source and commercial if you do not demand to be a coder. Another thing to note. I happen to sell a software package that uses consultants who configure it to meet a client's needs. They are not coders but configurators, in other words technical consultants who get trained on that package. They do not have coding experience so you could do a similar job too.
Find some highly specialized programming skill and learn it. Employers are lot less picky if skill is not easily available on the market. For example now there is a lot of demand for Objective C coders for iPhone programming. You can get yourself a Mac, pick up some Objective C and move to iPhone then comfortable. You can start do some low-pay freelancing or pro bone coding as soon as you are able to code. That is of cause only example, I've no idea how long iPhone development boom to last. After getting some experience from the trenches you can get permanent employment more easy. Otherwise try to leverage your existing experience - accounting, statistics, marketing - whatever you are doing now. Write some simple app or utility which can help in your area.
This is probably completely unhelpful, but I have met people in the IT Programming field who came from other areas. I used to work with a guy with a biology degree who'd never programmed in his life.
I asked how he got offered the job, and it was via people he'd known and not what he'd known.
This annoyed me no end as I'd received High Distinctions from Uni etc in IT subjects yet had been hired as a Graphic Designer. [A job I loved], but the other guy with zero programming ability was getting paid about four times more than me. I think that was the bit which hurt. :-)
So, one of those guys in the IT fields whom you know might be able to invite you along to some 'Friday night drinks' or something when the hiring managers are around and maybe help you get a foot in the door if you can show you have some intelligence and programming ability.
from somebody who went through a variety of careers including IT before finally ending up in Medicine - whatever you do, as long as you love doing it and you really give it your best effort, you have a good chance at succeeding. Don't let others put you off because they haven't succeeded or because they even fear you as competitor - you are not them, you have to find your own way.
Sounds like useless platitudes - but it works. I have 9 people on my payroll nowadays, all long term - my selection criteria don't depend on the CV but on their effort to get the job. People who are passionate about what they do and can demonstrate some competence do get a chance, and if they don't fuck up the first three months, they usually stay for good.
So if you really love IT - start coding anything you are passionate about, code some more, and in the little spare time you have learn the science behind it. Algorithms, data structures, patterns, sound grounding in math, and sound domain knowledge of the domain you want to program for.
My suggestion is, if you don't have the experience or qualifications, try to start out with a smaller company who are searching for someone with the raw aptitude and a bit of know-how rather than employed experience.
Be able to demonstrate your skills with sample code, open source contributions, and be prepared to solve problems and write code in the interviews.
Arguably the best path to this is to throw a ton of time at hobby projects and study. Write LOTS of code. Read even more code. Work with as many tools on your platform of choice as you can. It may sound corny, but make it part of your DNA.
Passion. That's what it's all about. If your employer thinks you're passionate, dedicated, have the aptitude and really care about it, they will overlook shortcomings in qualifications and experience.
That's what I did, I had no formal qualifications and it worked for me.
My suggestions:
1. Leverage your existing business experience to transition into coding. What you lack in coding experience can often be made up in knowledge of a specific domain. ( Finance, government, etc.)
2. Get clearances. The US Government will never outsource certain things, and you won't have to compete with low rate H1B's driving salaries into the toilet. There are WAY more job openings requiring cleared people than there are qualified people to fill them.
If you can do both, you're golden.
If you can't afford to attend, go anyway and hang out in the bar.
I take it you mean that people too young to hang out in a bar should complete a four-year degree first.
While you're there, don't say crap like "best practices."
What is a better word to describe widely-recognized dos and don'ts?
I'm surprised that no one mentioned programming for the iPhone. The programming, I'm told, isn't that difficult and you can directly benefit from your work if the application is accepted by the App store and it sells. Big "ifs", I admit, but better than working the help desk for a few years.
I would defer to people with more experience with the ins and outs of hiring in mainstream IT to comment on that, but I have one observation:
Whatever you've done that is unrelated to software development can be spun as a positive, on a resume and in interviews. My personal experience is that having a B.A. in English has been a very positive thing on my resume, primarily because engineering attracts so many people who hate writing for human readers, and have the poor writing skills to back it up.
Your success in finding a software job are really going to be determined more by your ability to sell yourself as a problem-solver whose general intellectual abilities can make up for your lack of experience and education.
The other thing I'd say is that the number of jobs for pure C++ programmers is diminishing, and it's quite valuable to have some training and experience in the area of web development. The software industry as a whole seems to be moving towards a lot more web-based client-server programming, which means Java, JavaScript, Flash, SQL, and whatever the current flavor of the month is for web development -- Ruby on Rails, C#, etc.
And love it or hate it, learning to use the Microsoft web tools can get you a lot of jobs. Personally I think it's a lot like joining the Church of Scientology -- a whole lot of hermetic jargon, a whole lot of pointless BS -- but some companies are in bed with MSFT to the bitter end, and they love to see those certifications on resumes.
It is also a bonus if you change the code, but not any free-standing documentation of the code. Extra points for having NO free-standing documentation.
You neglected to give your age which will have a bearing. People interviewing you for IT will be young, 20s and 30s maybe, and if you're not (40?)(50?) they'll wonder why you're not yet retired and just think you're a loser. It also depends where in the country you're looking for work. I'm in the South and it's pretty dead. The NE would be better. For the amount of time you're gonna spend you'd be better off to go to an offshore med school. Then you'd really have something.