Thursday, October 22, 2009

Foot in the Door... (or How to get into the IT Industry)

Anyway... so a friend of mine is desperately trying to get his foot in the door of the house called the IT industry. At the moment he is a teacher at some school dishing out lessons on Java. While passing his CV on to our Head of Systems I started thinking about how many people with degrees, certificates and all sorts of good qualifications I run into who are seriously struggling to get anywhere.

But first a bit about myself... I am a web apps developer for CareerJunction for about 8 months now. Prior to this position i was freelancing for 2 years. I have no qualification only what i taught myself.

So the reason I want to publish this post is that I get asked all the time how i did it without having a qualification. I'll be looking at it from a wannabe programmer's perspective.

The answer I usually give is short and to the point. But I think its best to do a bit more explaining. Also my grammar sucks.

Where to start?

So the first thing i noticed about the IT industry was that there are a whole bunch of people with qualifications that can't get jobs. So a couple of years ago when I decided that i wanted to be a developer I contacted a few recruitment agencies and asked them why its so difficult to get into the roles being advertised. The answer I would always get is the one that helped me get my first job.

1. EXPERIENCE EXPERIENCE EXPERIENCE EXPERIENCE EXPERIENCE EXPERIENCE!!!!

Thats what people want. Degrees are always a plus(and I wish I had one). But experience trumps degrees when companies need to deliver products and services. It is cheaper in the long run to hire someone experienced (even if its just a little) than pay a newly qualified student.

So that was the first step for me, gaining as much experience as possible.

The next logical question is straight forward then. How do I get this experience when i cant get a job? And what should i be focusing on when there is over a billion programming languages(thats actually not true, its more like 2 billion).

What to focus on?

When I was in tele-sales they would teach us 'Give people what they want'. With that in mind 'Give employers the skills that they want'. So I went through all the web developer job ads and paid attention to the criteria for the position. In my case I wanted to be an open source web apps developer(whatever that is) so naturally the ads that grabbed me were the "Linux, PHP, Python, Apache, CSS, XHTML, blah, blah, blah".

This allowed me to see what the market wanted and what I needed to put my energy into.

2. Give the market what it wants.

Is there a market for Cobol programmers? Ofcourse there is. What about VB6? Definitely!!! But those positions are so few its really not worth it. There are a ton of jobs out there. Just nobody to fill them. Also one should google 'popular programming languages' or 'top ten development languages'. Do your reserach about the industry you want to get into. This requires quite a bit of work and patience but it is worth it.

How do I get the experience?

This is where the discipline comes in. Not that I had much of it but the little I did have I used well. Whatever langauges you want to focus on get as many tutorials as possible. Google (yes Google is your friend) for the free ebooks and articles. Subscribe to the blogs of the real pro's who have been there and actually bought the t-shirt. I gave myself 6 months to learn as much as possible. I read books during my lunch breaks, on the train from/to work, at night when everyone was sleeping, in the morning when everyone was sleeping and after sunday lunch when everyone was sleeping.

3. Practice what you need to know. All the pro's do it. you should to.

You get the picture. The more you put in the more you get out. There is no shortcut. No... I am serious there is none.

So practicing is a good start but its only the start. The next part is just as important.

What comes after the practice?

You now need to apply what you have learnt in a real world example. This means 'FREELANCING' for little to no cash. Or just thinking of apps you want to develop that can be used in the real world. Programmers are really just problem solvers in disguise. Like Batman but without the tights or mental issues. And when a problem surfaces we need to provide a solution (that works). So what problem do you want to solve?

It doesn't have to be a brand new operating system but that would be nice. Just think of something simple at first and move up the ladder. Remember you need to implement what you have learnt so make it relevant to your overall goals.

I was lucky enough to do a website for a friend's business. [www.perfectsolutionsa.co.za] It was the best experience I had ever. Even with all the practice i had, nothing really compared to developing for someone else. The amount of obstacles you need to get over just to get it working and then making changes because he hates the look, is priceless. After that first project i went back to the books to find out even more.

4. Implement what you have learnt.

I had a timeline of 6 months too complete 5 projects. I only managed to get 3 done. But they helped me in a big way. They landed me the job at CareerJunction. I don't know what made them hire me but i can tell you all I had was my dodgey portfolio. By the way, when I finished that first project I thought it was amazing. But looking back now i would change 99% of it. And that's a good thing. It means I have moved on in terms knowledge and experience.

Remember recruiters and potential employers are more interested in people who can deliver the goods. And by showing them your work, you are saying 'I can deliver!!'.

Landing the job

Now that you have some practice and a portfolio its time to put together your CV. This is what you have been working towards. Your CV is a snapshot of your life but actually only magnifying your working career. The objective of your CV is to get an interview thats all. It is not supposed to be an autobiography or 10 pages on every moment of your life. Leave that for Facebook and Twitter.

Keep your personal details to a minimum. Leave the majority of your content to what you know and what you have done. My CV was about 3 pages with 2 of them filled with work I had done as freelancer. The rest looked at education and references.

With my freelance projects: i gave each one a title, timeline, problem, brief description of the solution and very important is what i did on the project. I also decided to add what lessons i had learnt. This format proved helpful for recruiters and employers. Interview questions would immediately go straight to that section. Exactly what you want.

5. Build your CV

I should probably spend more time on this but i'll leave it for another post.

Next: Go to all the job sites you know (and there are alot of them but CareerJunction was the best) and search for your dream job. Scan the results for the ads that fit your idea of what would be the Holy Grail and apply. Do this 20 times a day. I know what you thinking(or maybe i don't). Don't worry about the criteria being out of your league or not 100% correct. Just APPLY!!! Its a numbers game. Most of the ads are what the employer/recruiter would like to have not what they need. So just apply and keep applying everyday. Do this for a week and you'll get phone calls. Trust me. It works.

6. Sell yourself (Hey! Don't be rude)

It took me 2 days to land some interviews. I got 30 replies in 3 days and only decided to meet with 5 recruiters. By the end of the week i had the greatest job in the world. Just what I wanted.

But it took me 12 months to reach this point.

I could probably add a whole lot more but I have a job to do. I'll add more stuff later.

Please feel free to add what helped you land your dream job. The more info the better for all of us.

The main points:

1. EXPERIENCE EXPERIENCE EXPERIENCE EXPERIENCE EXPERIENCE EXPERIENCE!!!!

2. Give the market what it wants.

3. Practice what you need to know. All the pro's do it. You should to.

4. Implement what you have learnt.

5. Build your CV

6. Sell yourself (hey! dont be rude)

Oh... This is my first blog. Tell me what you think.