How to Find a Computer Job Without a Computer Degree

written in 1997, 2000

I graduated from Texas A&M with a Ph.D. in Chemistry and immediately went to South Carolina for a computer programmer position. Although I had the advantage of graduating when the job market is the best in history and being a greencard holder, I think it's still fairly unusual to get self-taught skills recognized at the professional level. Here's why and how.

I entered the Chemistry Department as a Ph.D. student because I was a chemistry student, had some interest (more on this) in it, and studying chemistry made my life easier, financially. No other reason. But the availability of computing resources on campus is amazing, in contrast with the "I'd rather let it rot than let you use" policy in China. This enticed me to play on all kinds of computers in your free time. Inevitably I managed to get my advisors to approve me taking classes at the Computer Science Department. But I took only three courses and was banned after that. So, imagine how much self-study I had to make!

Well, the most frustrating is not whether you can afford time to study on your own. It's the American recruiting system, as at ... While they do an excellent and commendable job on other things, they require that people wanting to be hired have paid working experience. This effectively barred me outside of the departments that really need people; my resume wasn't even seen by the departments. I told them, look, there're two types of work under the sun; the type you can acquire skills by self-study at home like PC programming, in your garage like car repairs, and the type you have to be a professional to be skilled in, such as being a lab technician. The American society has gone to a point where, paradoxically, job seekers almost have to have done that work to be on that job. See how ridiculous it is when you're asked whether you previously worked at a PC Help Desk rather than asked whether you know Windows95 registries, TCP/IP bindings? This "experience is everything" recruiting policy has placed thousands of incompetent people on the job. Equal Opportunity is actually better realized at some companies in China. Read my story.note

Once we know what's bad about the recruiting here, we have to adjust ourselves. By all means find a temporary or intern job if you can't locate a normal contract or permanent one. Actual working experience is outrageously important in this country. If you still can't find one, follow these rules:

  1. Study only the hottest subjects. Don't waste your time studying compilers, for example. You can learn this later or you'll know it from your actual programming. Learn whatever comes up often in,, to name a few job-related newsgroups local to where I live. But read my story.
  2. Study only the skills not taught in school classes except for the very basics. There're still very few schools teaching students Web programming, i.e., HTML, Javascript and Java. There're so many new languages coming out in recent years, Perl, TCL/Tk, Python. No schools can follow the job market as closely as you can. If you study something in free time that is taught in school, how can a recruiter believe you're better than the degree holder?
  3. Tell the recruiter that whether a person loves his work doesn't depend on how much time he works between 8am and 5pm. It depends on how much time he's willing to work on it before 8am, after 5pm, on weekends, on holiday. And you're exactly the type of person that does this.
  4. Insist that you be given a real technical interview, not just random talk or a general-purpose "intelligence test" (which may be beneficial if you indeed are, as an addition to a technical test). If they don't ask technical questions, you may fall victim to the stereotyped mentality that self-learners are inferior to degree holders.
  5. Without a diploma, you have to find various other avenues to get yourself recognized. By all means set up a Web site at or any other free Web hosting site. Put your ingenious work up there. By "ingenious", I mean creative, not common textbook homework. It would be helpful if you could write a program that places you among other freeware or shareware programmers. (added in 2001 This has largely been proved to be false; no employer I have or almost have worked for in the past few years showed appreciation for my freeware work. Added to that is the fact that recruiters habitually remove the URL to your Web site from your resume before submitting it to the employer, so remember to tell them not to, and promise you won't contact the employer directly)
  6. You may also study to get yourself certified by a big computer company, such as Sun's Java Certification program, Microsoft's MCSE etc. certification. I used to think these are difficult and so are valuable in looking for a job. But they have been proved to be fairly easy (Cisco test may be an exception) and therefore have limited value in seeking a job, except maybe in the eyes of some managers who can't find technical staff to evaluate job candidates. I have no experience in this. Whether you take this route, I have one important piece of advice, which is next...
  7. (added in Year 2000) First, we have to admit that real-world experience is very important. Now the question is, is there a way to approach gaining real experience under the condition of no such real environment? Yes. That is joining newsgroup / mailing list discussion. I learned hundreds of real stories about Oracle administration from the Oracle LazyDBA mailing list and the Oracle newsgroup over the past one or two years. This is the only way I know to gain "experience" without actual experience, although indirectly. This has been proved to be very useful, e.g. in the case of being asked at a technical interview what you need to do in such and such a situation (it's unlikely you know the answer from a book). Of course, you have to possibly practice and try reproducing what you read from discussion groups or you learn nothing.
  8. It seems it would be significantly easier to find a programming position as your first job than other jobs such as system administration . Most people find it hard to even think about programming. Unlike programming, administration takes more of experience than intelligence. (This shouldn't be taken as an insult to an administrator reader. Just my opinion.) More on this.

Generally, America is not a country that encourages self-education as far as employment is concerned. This may be true in most developed countries where pretty much everything, including most people's mindsets, follows rules. It may take a while before everybody really knows that computers are so cheap, so readily available and skills acquired so easily, given your diligence. If you're sufficiently smart and hard-working, and use your brain to deal with recruiters, you will get in the door as a computer professional, just as you expected. Good luck.

To my Computer Page

note(added in 2001) Actually, this may be due to a problem of the English language, at least partially. The word "experience" means, (1) knowledge and skills gained through practice, and (2) something that happens to you or your history. Recruiters and employers, like other ordinary people, assume that if you have experience (2), then you have experience (1), and that if you don't have enough experience (2), you don't have enough experience (1). Other languages may use two words to carry these two meanings. In Chinese, experience (1) is jïngyàn and experience (2) is jïnglì.