On the other hand, I’m kind of curious about what it would take to get a job like the one you’ve currently got. From your description, it sounds like it shouldn’t be too hard, but there are some slightly worrying cautionary notes in the post (“It isn’t an overnight project; getting basic competence will take months, and true skill takes years”), and it isn’t obvious from the outside what sort of specific skills one would need to demonstrate to impress an employer of this type. (That is, what specific sort of programs one should write at home in order to prepare, as opposed to just going through Project Euler or something.)
Here are a few specific things that either I look for or I have been asked about:
You should know how the web works—be able to explain, for instance, how cookies work, or what happens from the moment you click a link to the moment a web page appears in front of you. Don’t worry about anything below TCP/IP here.
Also, be competent at relational databases—if someone gives you a problem, be able to correctly design a database for it, quickly. Know what normalization is and when to use it and when not to.
Have read a book on design patterns.
Be able to write code on a whiteboard.
If you list a programming language or technology on your resume, be prepared to answer questions about it.
It requires decent knowledge of Java, XSLT, Perl, *nix command line fluency, Web stuff (HTML, CSS, JavaScript), caching, SQL, and RESTful web services. I may not have been entirely fair in calling it “pretty basic web app stuff” it is just paltry compared to what Google and Facebook (for example) do.
HOWEVER, an acquaintance of mine with no programming knowledge, no degree, just a passion for technology got a job as some kind of Visual Basic forms programmer (it is an extremely limited subset of the language). He has since taken some night classes to learn programming more formally and has moved to a normal programmer-type position. This place probably hired 3-4 people to do this.
On the other hand, I’m kind of curious about what it would take to get a job like the one you’ve currently got. From your description, it sounds like it shouldn’t be too hard, but there are some slightly worrying cautionary notes in the post (“It isn’t an overnight project; getting basic competence will take months, and true skill takes years”), and it isn’t obvious from the outside what sort of specific skills one would need to demonstrate to impress an employer of this type. (That is, what specific sort of programs one should write at home in order to prepare, as opposed to just going through Project Euler or something.)
Here are a few specific things that either I look for or I have been asked about:
You should know how the web works—be able to explain, for instance, how cookies work, or what happens from the moment you click a link to the moment a web page appears in front of you. Don’t worry about anything below TCP/IP here.
Also, be competent at relational databases—if someone gives you a problem, be able to correctly design a database for it, quickly. Know what normalization is and when to use it and when not to.
Have read a book on design patterns.
Be able to write code on a whiteboard.
If you list a programming language or technology on your resume, be prepared to answer questions about it.
It requires decent knowledge of Java, XSLT, Perl, *nix command line fluency, Web stuff (HTML, CSS, JavaScript), caching, SQL, and RESTful web services. I may not have been entirely fair in calling it “pretty basic web app stuff” it is just paltry compared to what Google and Facebook (for example) do.
HOWEVER, an acquaintance of mine with no programming knowledge, no degree, just a passion for technology got a job as some kind of Visual Basic forms programmer (it is an extremely limited subset of the language). He has since taken some night classes to learn programming more formally and has moved to a normal programmer-type position. This place probably hired 3-4 people to do this.