PDA

View Full Version : [SOLVED] Self Taught Programmer



Nosferatu1
August 26th, 2008, 05:54 AM
Hi all.

I would like some advice from people working as programmers in the industry as to whether it is possible to get work as a self taught programmer (in Australia) without any formal qualifications?.

I am not very mobile due to illness and am unable to attend classes. I have considered online courses but my condition makes it really difficult to stick to a schedule, and I may be unable to fulfill the course requirements in the required time given.

I have no doubt that I would be able to re-learn programming, as I have had experience in the past at Uni/College with Cobol, Pascal, Fortran and BMDP.
(I have very fond memories of Pascal :))

I would like to embark on "LaRoza's Path To Programming Nirvana" i.e., Python, C, Lisp; although I am very tempted to jump straight into Lisp first.

Any thoughts and comments are most welcome.

slavik
August 26th, 2008, 05:58 AM
I am not employed as a programmer (I started learning experiment with web dev) but it would be much more difficult unless you get some code out there (good code that lots of people use).

tinny
August 26th, 2008, 06:17 AM
Hi all.

I would like some advice from people working as programmers in the industry as to whether it is possible to get work as a self taught programmer (in Australia) without any formal qualifications?.

I am not very mobile due to illness and am unable to attend classes. I have considered online courses but my condition makes it really difficult to stick to a schedule, and I may be unable to fulfill the course requirements in the required time given.

I have no doubt that I would be able to re-learn programming, as I have had experience in the past at Uni/College with Cobol, Pascal, Fortran and BMDP.
(I have very fond memories of Pascal :))

I would like to embark on "LaRoza's Path To Programming Nirvana" i.e., Python, C, Lisp; although I am very tempted to jump straight into Lisp first.

Any thoughts and comments are most welcome.

Hi

Here is one suggestion. (A Java related one, but there will be others coming :-) )

1. Without a formal qualification it is going to be hard to get a programming job (I know both the New Zealand and Austrian markets). So the first thing I think you should do is increase your odds by looking at learning Java programming (most programming Jobs are in Java).

2. Look at flexible training.

Sun Certified Programmer (SCJP) is a good qualification that can be studied towards in a flexible way. You can attend training (I believe the training is expensive) in the form of classes, take online courses or buy books and study completely at your own pace and then when you are ready you can sit the exam (after studying the book).

http://www.sun.com/training/certification/java/scjp.xml

Also,

Free java training...
http://www.javapassion.com/

jinksys
August 26th, 2008, 06:25 AM
my condition makes it really difficult to stick to a schedule


The software industry is full of deadlines, meetings, etc. Are you going to be able to handle the corporate day to day hustle?

If not, you may want to do free lance work on a site like http://www.rentacoder.com

I've never used them so YMMV.

Nosferatu1
August 26th, 2008, 06:51 AM
jinksys. i'm hoping that my condition will not be permanent, and will be able to function normally in a corporate environment again. If not, I will use my programming knowledge in open source projects etc.

jinksys
August 26th, 2008, 07:09 AM
jinksys. i'm hoping that my condition will not be permanent, and will be able to function normally in a corporate environment again. If not, I will use my programming knowledge in open source projects etc.

That's good to hear, hope your recovery is speedy.

Although most job postings will say that a CS degree is required, there can be cases where a degree is overlooked for someone with proven experience. I suggest taking a look at monster.com (or whatever the aussie equivalent is) for your area and seeing what skills are in demand.

tinny
August 26th, 2008, 07:32 AM
That's good to hear, hope your recovery is speedy.

Although most job postings will say that a CS degree is required, there can be cases where a degree is overlooked for someone with proven experience. I suggest taking a look at monster.com (or whatever the aussie equivalent is) for your area and seeing what skills are in demand.

http://seek.com.au/

nvteighen
August 26th, 2008, 09:42 AM
Also, I wish you a quick and full recovery! And give you a smiley as a present: :)

samjh
August 26th, 2008, 10:26 AM
Hi all.

I would like some advice from people working as programmers in the industry as to whether it is possible to get work as a self taught programmer (in Australia) without any formal qualifications?.

I am not very mobile due to illness and am unable to attend classes. I have considered online courses but my condition makes it really difficult to stick to a schedule, and I may be unable to fulfill the course requirements in the required time given.

I have no doubt that I would be able to re-learn programming, as I have had experience in the past at Uni/College with Cobol, Pascal, Fortran and BMDP.
(I have very fond memories of Pascal :))

I would like to embark on "LaRoza's Path To Programming Nirvana" i.e., Python, C, Lisp; although I am very tempted to jump straight into Lisp first.

Any thoughts and comments are most welcome.

Generally, most employers and employment agencies highly prefer degree-qualified graduates. Otherwise, you will need to demonstrate your practical skill through commercial work experience (usually unpaid), certifications, or very significant contribution to important open-source projects. Even graduates find it hard to get a job as a programmer without several months of volunteer work (I know this first-hand, as a CS grad from a sandstone university).

Take a look at Open Universities Australia (http://www.open.edu.au/): a colleague is doing a business degree through OUA, and it's very flexible. As for me, I'm juggling full-time work and part-time external study (law) with University of New England (http://www.une.edu.au/); their external program is very well made.

Otherwise try to get certifications, especially the Sun Java ones mentioned earlier. The majority of Australian programming jobs require either Java or ASP.NET knowledge.

Whatever route you choose, you MUST have a substantially large and high-quality body of code, and preferably commercial project experience to go with it. Most employers I've dealt with ignored any non-commercial work. Others weren't interested unless it was one of the huge projects, like GNOME, OpenOffice, etc.

Oh, and about the "Path to Programming Nirvana"... neither Python or Lisp are likely to earn you a job anywhere. C might get you somewhere, but you're going to need to demonstrate superior skill compared to other applicants, which will be difficult.

tinny
August 26th, 2008, 10:37 AM
Very good advice samjh! However IMO I don't believe the OP will need quite the level of practical experience (working on commercial projects for free) that you suggest. After all they will be looking for a graduate developer Job.

samjh
August 26th, 2008, 12:05 PM
Very good advice samjh! However IMO I don't believe the OP will need quite the level of practical experience (working on commercial projects for free) that you suggest. After all they will be looking for a graduate developer Job.

New-graduate developer jobs are rare. And when they do get advertised, competition is fierce! He'll probably be competing against students with fantastic GPAs who have done significant projects outside of coursework, and perhaps with three months or more of work experience under their belt.

I'm not trying to sound pessimistic. It's just reality.

Just after my graduation I spent two months looking for a "analyst/programmer" or "software engineer" job at junior/graduate level. I had done some pretty interesting firmware and low-level desktop projects, with code to show. The only offers I received were "without pay for the first X months", but due to bad personal circumstances, unpaid work was unacceptable so I eventually took a non-IT job. When rejected, the answers were invariably along the lines of: "there is/are (an)other applicant(s) with more experience, and as a business, we prefer people who can hit the ground running."

Experience matters, and if the OP is hoping to get a programming job without having to stay in the Centrelink queue for too long, he'll need to get as much as he can.

Zugzwang
August 26th, 2008, 01:15 PM
I'm not trying to sound pessimistic. It's just reality.


Nice to have someone here who has some personal experience on the "market" (although I'm quite sure that there are local differences).

I've got an important question for you:
Do you think that internships generally count as "work experience"?

samjh
August 26th, 2008, 02:12 PM
Nice to have someone here who has some personal experience on the "market" (although I'm quite sure that there are local differences).

I've got an important question for you:
Do you think that internships generally count as "work experience"?
Depends on what you do in your internship. Some students get bad internships where they don't get to do much hands-on work (some of them even get dumped into an admin department to do unrelated work). Others will get their own work to do, and have a mentor assigned to them to provide guidance and training. Obviously you want the latter.

In Australia, all 4-year Bachelor of Engineering students (which includes electronic/computer/software) were/are required to do 3 months of "vacation employment" in a relevant engineering field in order to graduate (largely because it is a requirement for the Institute of Engineers Australia membership). IT and CS grads weren't required to do it.

Before doing an internship, you should talk with more senior students and find out which employers treat their interns well, give good references, mentorship, etc. Lecturers and Professors can give guidance too, as they will often hear from students about their experiences. Sometimes though, you'll just have to take what comes.

I'm in Australia, by the way, same as the OP (but in a different state). Things could be different in your country.

ajackson
August 26th, 2008, 03:21 PM
Just to add my thoughts to this thread.

I worked for 10 years as an analyst programmer before having to take an enforced break due to ill health, on one of my jobs I had the task of being the programming advisor to the IT manager when we needed to hire a couple of junior programmers. All but one had a degree in either computer science or information systems (or some such not-quite-CS degree) but the person who didn't have a degree had the best prepared CV, showing good examples of problem solving (not all IT related) and I suggested that he be given an interview despite my managers reservations. He was offered the job and did a very good job of it before the firm was taken over and all of us made redundant.

So the moral is, if you don't (or even if you do) have qualifications, use your CV/application form wisely, for programmers they will be looking for people who can solve problems, think in a fairly logical manner and above all have a "can do" attitude.

If you are trying to go through sharks (err I mean recruitment agents :)), then you are buggered as they have a list of key words that they look for, if you don't have them on your CV you don't stand a chance.

memories
August 26th, 2008, 03:24 PM
Hey. I'm a self-taught programmer (have never taken a CS class) and have a great job working as a web developer.

Here are some notes:

* It IS hard to find a job without a degree, but definitely not impossible. An internship will help, but either way, you basically need to prove to the employer that you do know how to code. I think experience counts much more than a degree.

* You NEED a portfolio. There's no way around this. As far as employers are concerned, No degree + no portfolio = you've never programmed in your life.

* Web development jobs are really in demand. Learn Rails, Ruby, SQL, PHP5, etc.

* Start at a low to average rate for your first job.

* I would look for web dev jobs first, possibly with a startup. Java/C jobs will almost all require a degree... though I have a self-taught-programmer friend who landed a C++ job during his first year in college.

* If you don't get replies, just keep applying for jobs. If you don't have any connections, GET SOME. Connections can land you a sweet job instantly.

* Get a LinkedIn profile and have your name up on reputable sites, either as a contributor (open source, etc) or otherwise. Employers will Google your name before anything.

* Learn how to sell yourself in your cover letter and resume. This is harder than people think.

pmasiar
August 26th, 2008, 04:03 PM
If you are planning to return to traditional 9-5 industry job, go with advice of people who know and understand local IT market in Australia. I don't, but let me add some kind of different advice:

Consider getting into jobs where telecommuting is accepted. Looks like you are on some kind of disability or something now, right? So you have some (even if little) money, and time to invest. You will not be judged by your presence or certifications, but your ability to finish the job, quickly. Your gameplan would be to become an expert in some web-application package, like webshop Satchmo or ERP package TinyERP, or TurboGears expert.

Of course this is high-risk strategy (you invest time in learning technology which might become obsolete), and you need to be very very good in what you do, but also consider that traditional 9-5 jobs are done traditional way (physical presence) in traditional languages, while companies using non-traditional technologies by selecting that technology already proved they are flexible.

There **are** jobs to be had in Python, even if they might not be advertised on traditional job boards: Check python-jobs list, check planetpython. Of course there are not plenty of jobs like in Java, but If you are good in what you do, that job might be be more flexible than average java job.

You should be really good in solving a problem using the technology you are expert in.

PaulM1985
August 26th, 2008, 04:38 PM
I agree with samjh's response, a few posts back.

Open University is definately something that might be worth looking into. I am currently studying BSc Computing at Open University in England and I am able to complete my work in my own time. You are also able to chose as few or as many modules to study at any time so it makes it easier to handle your work load. Also, I don't have to attend any classes, just submit coursework online, deadlines tend to be 4-6 weeks apart. If there is an Australian equivalent, I think it would be really worth having a look at.

Paul

Tomosaur
August 26th, 2008, 05:09 PM
It's hard enough getting a job with a degree in software development - the vast, vast majority of positions demand a few years hard-earned commercial experience - so I can only imagine it will be harder if you have no formal qualifications. I graduated in June with a first-class honours degree in Software Development, and am still looking for jobs. You are very much at the mercy of the market in an industry like this unfortunately - the best chance you have of finding a good software dev job is to really know your stuff. You'll need a broad range of knowledge of different languages and technologies, and even then you might not be able to find a job. The real issue, I believe, is that software houses tend to group together in some kind of technology park, and if you don't live near one, or cannot commute easily to one - you're pretty much out of luck unless you can find a company which requires a few software developers in-house.

From my experience, and that of my graduate friends - software development has moved from a kind of 'academic' subject to a more arty subject. It is worth investing time in creating an impressive portfolio of things you've created which demonstrate a good deal of knowledge about various technologies. While it's always been the case that many employers will ask you to show them something you've worked on in the past, and explain what you contributed - it seems now that they are beginning to look more at your personality and personal amibition and desires rather than simply your skill and knowledge. This is also evidenced by the fact that many dev job advertisements now include something along the lines of 'If you do not possess all of these skills - please get in touch as we can provide training'. They will hire people without formal qualifications (although evidence of ability is obviously always helpful!) if they think the person is a good 'match' for the kind of people they like to employ.

While I would say that having some kind of qualification will greatly increase your chances - I think that if you can demonstrate your skill with a portfolio of some kind, then they will still take you seriously as a prospective employee.

Either way - it can never hurt to try! The worst they can do is knock you back, and at least then you can ask them why they turned you down, and work on those areas for future applications / interviews.

LaRoza
August 26th, 2008, 05:12 PM
I would like to embark on "LaRoza's Path To Programming Nirvana" i.e., Python, C, Lisp; although I am very tempted to jump straight into Lisp first.


In this case, it seems web development might be a viable options. You could do freelance/contract work with web development without any formal education, but you have to have the skill/knowledge to show to get people interested.

In this case, I would recommend learning XHTML, CSS, ECMAScript and PHP/Python/Ruby and suitable frameworks (which of those three is up to you. PHP is the most widely used, Ruby is very popular, and Python is rising in popularity)

Oh, by the way, have you ever seen "Nosferatu"?

It is in the public domain: http://www.archive.org/details/Nosferatu_DVD_quality

Get the high quality pieces if you want to watch it.

Sydius
August 26th, 2008, 07:10 PM
I'm self-taught (23), and it took me about a year to get my first programming job--it was in C++ for $500/mo. My next job was PHP and C++ for $20/hour (full-time). Now, three years later, I'm working at a different company doing PHP and C++ for $45k/year. So I'm slowly climbing the ladder. I find that companies hire me for PHP because they expect me to suck, then find my C++ to their liking (I prefer C++, so I weasel it into projects, just to keep it on my resume).

There are plenty of examples of the ultra-rich who got that way in the software industry with no degree. We all hate Bill Gates, but there's also Richard Garriott (one of my personal heroes--made the Ultima series of PC games), and even my cousin is high-up in Yahoo! and makes more money than I can even comprehend... and none of them have degrees (well, Bill just got one like a year ago, but that doesn't count). Problem is, they got in when there were few/no computer degrees to be had. Good side is, at least the latter two value self-taught programmers at least as much as those with degrees and many/most of the people Richard hires don't have degrees either.

Granted, I'm in Silicon Valley.

The key is to have some awesome demos and to be able to BS your way through the trick questions the senior programmers will throw at you. I went up against a Y! senior, and he thrashed me pretty badly, heh (if they ask you to write a regular expression to test for e-mails, it's a trick--it's much harder than you'd expect, to make a truly RFC-valid one--and they like to watch you squirm as they say "you're still missing something").

Nosferatu1
August 27th, 2008, 11:11 AM
Thanks to all who responded. I think I have enough info now for a more informed choice after some consideration.