The only formal education I received is 2.5 years as a major in pure maths with computer applications (sounds like an oxymoron, but basically it's pure maths with some courses on algorithms, discrete maths with some CS applications, and a little cryptography with number theory).
I dropped out (due to personal, not academic reasons). I'm not even sure if an incomplete BS. Degree is worth mentioning in a resume.
Since leaving school this year, I've been focusing on learning back-end web development (PHP, MySQL, CSS/HTML; I've only played with js). I spend all day waiting for the moment I can sit back at my computer and do what I love... whatever the pay, I'd jump at the opportunity of leaving my job and doing something related to web programming.
My only concern is that, lacking a formal education / advisor, I've no idea what is expected of an intern.
I've worked through all your basic "standard" tutorials (forms, building a MySQL database, queries, etc.). I'm now reading Code Complete, relational algebra, Wordpress code, learning the essentials of a low-level language (C, understanding pointers, memory, and so forth). I'm building my own WP theme framework from scratch (with reuse and readability in mind)... but watching the people here at SE, it's clear that I know very little. It's pretty intimidating.
Just how much is one supposed to know before considering a first internship? At what level should I be and how will I know when I'm there?
For what it's worth, judging by the "Programmers' Competency Matrix", this is where I'm at in the following categories:
- Computer Science: I know all level 0's and one level 1.
- Software Engineering: two level ones and one zero (well, sort of: I only know git, and not a whole lot).
- Programming: five level 1's, four level 2's, three level 3's, three 0's.
- Experience: three 0's, one level 1.
- Knowledge: five level 1's, one 0, one 3.
So basically mostly 1's and 0's... low level indeed.