komponisto comments on Advice On Getting A Software Job - Less Wrong
You are viewing a comment permalink. View the original post to see all comments and the full post content.
You are viewing a comment permalink. View the original post to see all comments and the full post content.
Comments (41)
Any advice for software developers that are in a rut? Basically, I have been working my first post-college job the last 3.5 years or so, but honestly what I do is pretty basic web app stuff.
I really want to get into a job where I have a lot more responsibility and more interesting work, but I feel like I have shot myself in the foot by working at such an easy (but decent paying) job for so long.
I am very interested in pretty much all programming related topics and study them for fun, but having not built any super awesome software makes me feel inadequate.
Honestly, I should probably just apply to some places and see if I can get a better job, but for some reason I am afraid I will just get turned down.
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.