views:

2299

answers:

20

I am 33. Have not worked as a programmer. Have not much worked at all. This is because some bad choices and some personal problems in last 10 years. Recently have moved to Britain. My English is not fluent in technical and business areas.

However, I program since age of 13. My background is Pascal, C (K&R), UNIX and C++. I my opinion it is good old school. And most important: I believe I have natural gift to programming, designing. Also always have been one of the best in mathematics, physics and chemistry.

I have done many unfinished projects so I can not present it as my experience.

I feel this is my last chance to become a system programmer. I am asking mainly people who hire.

  1. How big are my chances to achieve this?
  2. Should I focus on my spoken language? (excellent communication skills are often demanded)
  3. Should I go to the University or it is not as much important?
  4. Should I finish my own or join a project to prove my skills? Better to finish own or join?

What would make an interviewer think that I am valuable as a programmer and he could hire me?

+4  A: 

Don't dismiss unfinished projects. Why were they unfinished? How did you contribute to the projects? Were you in any way responsible for them being unfinished? (leave these projects out of the resume if you were) Even if the project failed, you may have written a nice component for it that you can show off to your potential employer.

yx
+8  A: 

While I don't hire directly, I can offer the following:

  1. In all honesty, with the current economy coming into an industry which has thousands of potential graduates a year is not really a good start. Many employers are looking for cheap labour (and with the new internship schemes being put forward can achieve that with graduates) And with no industrial background and a potential language barrier you are going to find it hard to find any employer willing to take you on
  2. Yes - If you can speak English as well as another (I assume) you could be an asset to a company.
  3. At your age I wouldn't bother. Remember: the main aim of a university is not to teach (it is to make money (mainly through research)) - you could try gaining some qualifications through a night school (Maybe an a-level or two?)
  4. Any extra work you can provide on a resume is worth doing.

Sorry for providing such a gloomy outlook, but it is best to be realistic. Your best bet is to try small businesses in your local area. These are more likely to hire someone of your age and past work experience. You can then build up from there.

Jamie Lewis
I disagree with number 1. Employers look for good employees, not cheap labor. When you have cheap labor you get cheap products. They are looking for employees that will make them money, and not cost them money.
David Basarab
@Longhorn213: I never said they were looking for exclusively cheap labour. But in the current environment there are 1000's of graduates who are looking for work and hundreds of low-paid internships around. It makes sense for employers to use these and gain someone young that they can train.
Jamie Lewis
@Jamie - i dont know where you are from but thats really not the 'current environment'
Shawn Simon
@Delete: I'm from the UK and it is definitely the case, many large companies (LLoyds TSB, HSBC etc) and most government organisations have are or planning to offer short-term low-paid graduate internships. It is far cheaper for an employer to use these schemes for staffing issues at the moment.
Jamie Lewis
+5  A: 

To begin with, I think you need to present yourself in a more positive way than what you just did above ;)

I would suggest you finnish one of your own projects, one you really can feel passionate about, and make sure you can present it in a convincing way. Also have some really clever (and well documented) codesnippets to show. They say the times are bad, but as you do sound like you have some confidence, I think that if you manage to communicate that confidence to people around you, you are eventually gonna get hired.

eliego
+2  A: 

First of all, I have to appreciate your earnestness in trying to do what you think you are good at.

My 2 cents: May be its time to dust off those old unfinished projects and give them some nice finishing touches and upload them somewhere so that people can see and appreciate what you've done. This will give you visibility and also have something worthwhile to mention in your resume. There are lots of open source projects that need developers. You can also try your hand there.

You might want to get some knowledge about operating systems and algorithms. You can do this by self reading or by attending a part time course in a university. Programming is all about solving problems and as long as you are confident of doing this, then the language should really not matter.

Its never too late :) So all the very best.

Nikhil Kashyap
+2  A: 

Here in the UK a common rule of thumb used by HR depts. is 2 years experience + degree. However there are wide range of businesses that take various approaches.

If you don't have any experience that you can demonstrate then the next best thing is an education. University is certainly an option and it will give you the opportunity to improve your English.

English will be important, junior roles (esp in small companies that don't have rigid HR) tend to involve some support which means talking to customers.

Are you sure you don't have experience you can record on a CV? Even incomplete or failed projects are experience.

Try putting together some form of CV and getting it to agencies that place IT people (and UK based job websites).

A growing (slowly though) trend is test first recruting where the CV may initially be ignored and candidates are required to complete a simple techinical test first. So you never know even what you think is a weak CV might get you a foot in the door.

Learn more employable skills, C++ is great but you'd be better off with ASP.NET (or even ASP), C#, Javascript and SQL Server. With your Unix background Linux based systems, PHP etc but I'll be frank despite the potential down votes, the bog standard end user company in the UK is using Microsoft products, that's the reality.

If you have time on your hands investigate some technical area and blog like crazy about it.

AnthonyWJones
A: 

Start looking for a programming job. Every employer is different, so are their requirements.

Meanwhile you may want to get a temporary job better in a social settings (pub etc) where you will have to interact with people and will be able to improve your language.

University is a good formal route that will give you a chance to improve programming and language skills, obviously if you can afford it right now.

Totophil
A: 

I started my progamming career at age 46, and it seems to have ended by age 53. No degree probably the biggest problem. Dislike of corporate bodies not helpful either.

I got in because the firm was desperate for a programmer and didn't want to pay, so I had a low paid job with a firm that wasn't going anywhere.

mr calendar
sounds like a bad reason on a bad environment. no surprise it didn't end well. in that light, 7 years is a long time.
Javier
No degree probably was not the real problem
UpTheCreek
+3  A: 
  1. How big are my chances to achieve this?

    • This is and always has been based on how much effort you put in. If you really want to do it and have a passion for it, and are willing to work for it age doesn't matter.
  2. Should I focus on my spoken language? (excellent communication skills are often demanded)

    • You should be able to communicate. So I would focus on just making yourself well understood. However if you are good technically, they might let it slide more.
  3. Should I go to the University or it is not as much important?

    • This is dependent on what you want to do. For me a university gets you foot in the door. However if you have done side projects and have samples to give employers they will not care as much. Without a degree you might have to start off at a lower pay until you "prove" yourself, which is the price you might pay. On the subject of pay, be willing to work for less, since you are trying to get your foot in the door. Sometimes you don't make the money with your first job as much as you do with your second.
  4. Should I finish my own or join a project to prove my skills? Better to finish own or join?

    • Your own projects are easier to understand the code. I would start there and then join an open source community. Seeing others people code will make you a better coder, because you will take what is good from there style and adapt it to your own.

Side note on the "Job Market".

I for one never take much thought in the Job Market. Most companies by default have about 10% of their work force that is costing them money rather than making it. A good employee is worth more than there salary to the company otherwise they would be unemployed. Focus on when you get a job to be easy to manage, work very hard and smart. Companies even in trying economic times need good employees. Don't be scared off by college kids entering the market. Just because they are young makes them no worse or better than somebody else. In the end as with all things in life it is what you put in. If you aren't willing to put in the extra time to try be as great as you can be, you will fail.

David Basarab
+10  A: 

I only got into programming at age 36 but it was the best move I ever made. If you have an enthusiasm and talent for a something then I think you have to give it a go regardless of what the chances are. Personally I got into it via IT operations, I started with sysadmin scripts in PERL and just took every chance I could to write code.

It has been suggested that a [r/d]epression is a good time to go to university, instead of trying to get a job in a bad economy you get the skills/qualifications that will help you when the economy turns up. I didn't do a CS degree but I expect it would help with making contacts in the Industry. Off course you'll be 3/4 years older when you finish though.

Good luck with whatever you choose.

it depends
A: 

Get an education.

It doesn't have to be a Computer Science degree, but some formal qualification to make sure you have a grasp on some basic theory. Some of the worst code i've seen comes from people who are self taught. However the best work I've seen has come from people who are mostly self taught but have a good grounding in the underlying theory.

The other bonus is doing a formal course in a class room will probably help with your spoken English as well.

There are two good times to start this, either 15 years ago.. or today. So good luck!

Mark Nold
+1  A: 

Have you considered going into software testing? You may have a good background for that and good tech-savvy testers are an amazing and valuable asset to a company.

This also would be a way to get your foot in the door at a technical company and potentially have that company pay for you to take classes in software development.

You can even segue by possibly automating a lot of testing for the company. Then your both a developer and a tester!

Doug T.
This is actually quite a good idea. At my last job we had a tester who used to be a developer. During the interview he stated that he had bounced between developer and tester several times during his career. The downside is that you probably won't be coding in your desired language.
EnocNRoll
A: 

Should I focus on my spoken language? (excellent communication skills are often demanded)

Yes. You're almost guaranteed to be working with a team. It doesn't matter how good a coder you are if they tell you to do something and you misunderstand and do something else. Once this happens a few times it's easy for resentment to build up quickly.

Should I go to the University or it is not as much important?

I wouldn't say a full bachelor's in CS is worth it to you at this stage, unless you know much less than you think you do. However, taking some night courses in Software Engineering or the like would probably benefit your English as well as your resume and skill-set.

Should I finish my own or join a project to prove my skills? Better to finish own or join?

Both are good. With your own project, you can probably get it working quickly and get it out there for people to improve and comment on. If you join another project, you get to experience one of the things you'll be doing a lot at any programming job: trying to understand, fix, and/or, improve someone else's code. This will be good experience.

I'd say finish one of your own projects, then contribute to something else for a few months. Then go back and do a new revision of your own thing. You'll be amazed at how much you learned from the other project.

Jorenko
+5  A: 

A natural talent, at least two working languages, and a mathematics background?

It sounds like you're already better than at least 50% of the "professionals" out there. Seriously.

In a couple years, you'll be good. In 10, you'll be excellent. You've said what I like to hear. If you're right in your personal assessment, you've got what it takes to play ball.

Have a little confidence and go get yourself a job. :)

C/C++ is fine. If you want to work in C#, you'd better go learn a lot of Design Patterns and Anti-Patterns to be able to communicate with those people without being made fun of. The design patterns would be good to know anyway, but many of them are quite obvious.

That's a lot to learn before you even start. I'd go find a C++ job and learn C# at home if you must.

EDIT: I don't mean you've got all you need. Far from it. You've got a lot to learn... but you've got enough to start now. I think you'll do well. Continuous improvement.

darron
I totally agree.
Edouard A.
+16  A: 
  1. 33 is not that old.
  2. Instead of saying "I made bad choices in the last 10 years," just say you are looking for a "career change." However, do explain that you've been a hobbyist programmer all of your life.
  3. As some have said, unfinished work still has value.
  4. Why don't you pick one of your unfinished projects and finish them? A company may be more willing to take a chance on you if you have something to show them.
  5. Join an open source project so that you get a feel for what it is like working with others. Working with a team is important when working professionally. It probably won't be the same, but its a start.

Also, your (written) English isn't too bad, and certainly on par or better than some professional programmers I have worked with. Of course, continue to improve, but don't use it as a knock against yourself.

Giovanni Galbo
+1  A: 

I am in some ways similar to you in that I have always worked abroad and spoken a second language. However, I did start earlier and have been to university.

  1. How big are my chances to achieve this?

Not unrealistic if you have low expectations for pay and conditions.

  1. Should I focus on my spoken language? (excellent communication skills are often demanded)

I have a lot of experience here. First of all, at 33 your capacity to improve on your english is diminished. Secondly if you want to improve your language skills, they will come simply by being a member of English society. Thirdly, the type of idiot that will pull you up about 'poor communication skills' because you are speaking a second language, is not worth appeasing.

  1. Should I go to the University or it is not as much important?

You mighty as well if you get the chance, it always looks good on a CV, and usually gives you some skills as well.

  1. Should I finish my own or join a project to prove my skills? Better to finish own or join?

Finished projects are the gold dust of the recruiting process. This is what will put you head and shoulders above the rest. Finish some good projects, put together a good website, and you are guaranteed to get hired.

Fergie
A: 

Try producing an Open Source project. This has opened a lot of doors for my self thanks to a very simple project.

Ubersoldat
+1  A: 

Peter Norvig is pertinent here.

Ten years from now you'll be 43 regardless of how you choose. If you'd rather have a chance at being a good developer at the time, go for it.

I started my software career 11 years ago after a long career as a mechanical engineer. If you had told me on the day I started that I'd know what I do now I would have jumped up and down for joy.

duffymo
A: 

(...) I program since age of 13. My background is Pascal, C (K&R), UNIX and C++. I my opinion it is good old school. And most important: I believe I have natural gift to programming, designing. Also always have been one of the best in mathematics, physics and chemistry.

That would do the trick.

ohnoes
A: 

Experience should be the key, not age for a developer (even though this might not always be the case). Even experience from other line of work could be an advantage since you often develop for someone else, for a business etc. Ability to understand the business, target user environment or end user or whom ever you developing for is always valuble.

Language skill (spoken) is important, language barrier will cause a lot of problems/missunderstandings and can anchor you down.

Even if you can join a project and contribute, finishing you own projects show that you're not only a starter, but that you care about the whole process and that you can take and idea and implement it to a fully working concept.

:)

//W

superwiren
A: 

Hello, I personally believe that there is no any age bar for learning or updating oneself.It only depends how deeply you are involved in doing the job maybe it can be learning/driving etc.Just do it sincerely and have deep passion in it and only after that we can achieve our dreams which we though of. What we had done in the past,nobody can repair it of get rid off it.I think it makes sense to forget not fully coz its difficult to do it but at least one can have control over it but never delete it just as we do it with our HDD. What i feel is that you should focus 100% in any work you do and see the results.This technique will definitely yield very good results as 5 to 6 months is sufficient to show any results. So just concentrate on what you do and follow your inner strength in positive way.

Thanks, Rahul