Thursday, December 27, 2012

How to get a job in 2 years

How to get a job

Two years ago I was in a very poor situation financially. I was self employed, making less than a dollar an hour, because I could not find employment. I was working 11 hours a day 7 days a week to keep my family fed. I had spent all my savings setting up a small resale shop and after two years it was evident that the business was not going to improve. I was desperate to find an alternative source of income, spending every spare moment analyzing the fastest way out of the hole I had dug myself.

I discovered in the United States of America jobs are obtained through the following methods, listed here in order of importance:

  1. People you know
  2. Relavant Experience
  3. Relevant Skills

I did not have any of those. All my friends still in town were either musitians or students. My only experience was as an English teacher in China and as a self-employed retail shop owner. I had tried many times to use my retail expirience to get a job but there was an overabundance of workers in that field who had more relivant and reliable experience. None of the skills I had were in demand.

#1 and #2 we a bit hard to fabricate, so I decided to work on #3: Skills. I looked at a number of in-demand skill sets, such as nursing, accounting, and electrical engineering. What these all had in common was certification and a time requirment of at least two years. I was impatient so I went with the only option which seemed entierly skill based: programming.

Advantages of being a computer programmer:

  1. No certification. I have nothing against certification as a concept, but all relevant and useful professional certifications seem to have a time-based component (such as a 2 year internship.) I did not have the time.
  2. Free to learn. All you need is a text editor. There are many amazing free online references and tuorials. Many of the popular languages and tools are free.
  3. In demand. There has been a shortage of skilled programmers since 'programming' became a profession.

Leaning the skills

My retail busniess was duying and the store was empty more often than not, and so whenever I had the chance I was building. First I built an inventory management system for the store. Then I build a web site for the store; an image matching game; a drawing game. After that I started browsing programming freelance sites trying to build whatever was requested in the posting. If I built what I thought was a pretty good mockup I applied for the job.

The process took more than half a year. I did not buy any books or do any tutorials. I simply picked an interesting project and started building. I had more than eight hours each day to work on the project, and if I got stuck there wasn't anywhere else to go. Additionaly I was motivated by poverty. After about seven months I could build passable web sites, and I actually got paying work. My first paide programming work is still on the internet: turdworth.com. It took me about a week to make and I got $50. My next project got me $200 for 2 weeks work.

My next freelance work was actually a steady hourly rate. I started at $9 and was soon making $14. After a month I quit the retail business and became a full-time programmer.

Perfecting the craft

I knew I was still a terrible programmer, but I made up for it by being motivated. I went to evey tech related event in my city and practiced all the things I learned. I have always been a quick learner and a creative, logical thinker; these skills helped me quickly become proficient. A few months later I was making a proper salary working 9 to 5 at a new job. I had my own apartment, car and health insurance for the first time in my life. I could spend evenings and weekends with my family without any feelings of guilt.

But my motivation had not left me. There was not much chance of career advancement at the company I worked for and not many other tech companies in the area. I started applying to positions in Silicon Valley. Since my experience and education were not impressive I focused on jobs with a programing challenge as part of the application process. After three months I go a good offer from a fun company and moved out west.

Afterword

I hope by writing this I can motivate someone to change their situation. I don't know if my experience can be emulated. I was lucky in many ways, but I was also persistent and hardworking. I sense there is a correlation.

Programming is hard because you will get stuck with seemingly impossible problems and it will take two days to figure out what is wrong. Persist.

The web is full of fantastic resources for learning. stackoverflow is the best. You can google the rest.

The hardest part of learning a new language is setting up your environment. Everyone assumes you know bash already and half the time the assume you are working on uinx. Easier to learn a little bash and work on unix than try and find windows-specific tutorials. Use cygwin or ubuntu on virtualbox.

I ramble so let me conclude: If you life situation is not so good consider learning programming.

No comments:

Post a Comment