Tenmar said:
Since this is a computer programming/computer science topic I have to ask this question. How hard was it to get into computer programming? Would you have any recommendations in learning a computer language? Are any of you certified or know what one would need to do to become certified?
I can tell you what criteria I use when I hire developers for my team. From your position it is tricky, although I don't require a degree to work for me I highly value a knowledge of computer science, development practices as well as some elementary math (statistics). That said I have excellent people who have two out of three of these without actually taking a degree in CS. In this day and age I don't think you can expect to get an entry level development job without some practical experience. So the first thing I would do is what other people have mentioned is start writing some code (python is acceptable but so is Java and C/C++). After that I'd start participating in some open source projects (or start your own, or get picked for a "summer of code" type project). As a manager I need to see that you not only can write "hello world" in a few languages but can write code that has a real business purpose. You can even make some money doing this (Google: Open Source Bounties).
Ok from there I need to see some of the heavier stuff like software development methodology, etc... Some of this can come by taking specific courses at your local university or college. If possible take a course that requires group development projects.
You should also read some books that will give you a good grounding in modern development ideas (or at least supply you with the vocabulary allowing you to talk to other developers)
- Design Patterns - A free - but possibly not legal - copy can be found here http://shannon.springnote.com/pages/899800/attachments/379482
- one of the "Mastering Algorithms" books from O'Reilly
- Structure and Interpretation of Computer Programs - http://mitpress.mit.edu/sicp/full-text/book/book.html
- a book or two on programming style: i.e. O`Reilly`s "Beautiful Code"
While you are doing that, talk to friends, neighbors relatives and get some small contract jobs. Web development work is good because it's easy to send a potential employer a URL to work you have done.
Now start to look for more serious work. I'd start looking for contract jobs.
When you submit your resume:
- don't submit a resume with a laundry list of IT skills on it. People from one year to thirty years of experience do this. Stop it. Nobody cares!
- When you are listing all those jobs you did make sure you mention *THERE* what platform, tools, environment, etc you used.
- If you must put non-development work on your resume to fill it out only put one job. I don't want to know how many places you served coffee at.
When you have your interview:
Bring some sample code with you. Be prepared to comment intelligently on it.
Be prepared for some kind of skills test. I personally expect any candidate to:
- Be able to write off the top of their head SQL for a simple join and a subquery. I can't count the number of university graduates that can't.
- Write a simple program in some reasonable language or possibly do a take-home exam but you will be required to answer questions about the code under review by one of my developers.
Sound like hard work? Well it is. ;-)
Lukeje said:
Surely just learning something like HTML would be helpful? People always like it if you can do their webpages for them, and it adds to your CV.
Not today. If I'm looking for a web developer that is going to write UI code. I want to see some pretty extensive knowledge of CSS (including coding for multiple browser support , accessibility as well as a good sense of aesthetic). As I mentioned above being able to point to places online that are using your code is incredibly helpful here. Also in this particular case you could have your own web page showing off cool or interesting CSS tricks. I'd also throw in some examples of interesting tools you have built using external technologies like Flash/Flex. You should be able to talk intelligently about AJAX/RIA and have some experience writing in one of the RIA toolkits (GWT, Dojo, etc..)
General note:
Some other things I had forgotten about. Many universities have online lectures available through open courseware or iTunesU. Google has a bunch of lectures and notes on development practices too.