Academia to Development?
June 15, 2010 9:26 AM Subscribe
If you were interviewing me, could I spin a CS-related minor, plus three years of grad school experience that involved software development, plus several relevant internships that involved development into a good sell for a back-end or generalist web development job?
Posting as anonymous because my department has a few metafilter readers.
I'm curious if I'd be able to transition from mid-way in a doctoral program into a software development position. My department doesn't give out a masters-in-passing, but I've passed my quals (I'm essentially ABD). My undergrad BA was not in a CS-related field, but I have a CS-related minor. For the past two years of my grad experience, I've been heavily involved in software development, both for client-side and web applications. I've coded Ruby, Python, Java, Javascript, and a bit of C++. My degree program isn't CS, but I've worked with a lot of CS people. I've both contributed to and led development and design teams in an academic setting (research projects + some public-facing infrastructure). I'd be interested in, and can demonstrate skills in, back-end (Ruby/Java) or front-end (actionscript / HTML5) web apps. I also have some Java desktop chops, and demos to prove it. I think my main weakness at this point is software engineering, which I've learned entirely by asking questions and reading. I'm pretty confident I could pass a programming skills test in most of the languages I listed. I've made some small contributions to a couple of OSS/GPL projects. I speak Unix fluently, and could probably get up to speed with Windows development environments pretty quickly. At this point, I enjoy the software development more than the research itself, and I'd like to take that and make it into a career.
Am I hire-able? If not, what could I do to improve my profile?
Posting as anonymous because my department has a few metafilter readers.
I'm curious if I'd be able to transition from mid-way in a doctoral program into a software development position. My department doesn't give out a masters-in-passing, but I've passed my quals (I'm essentially ABD). My undergrad BA was not in a CS-related field, but I have a CS-related minor. For the past two years of my grad experience, I've been heavily involved in software development, both for client-side and web applications. I've coded Ruby, Python, Java, Javascript, and a bit of C++. My degree program isn't CS, but I've worked with a lot of CS people. I've both contributed to and led development and design teams in an academic setting (research projects + some public-facing infrastructure). I'd be interested in, and can demonstrate skills in, back-end (Ruby/Java) or front-end (actionscript / HTML5) web apps. I also have some Java desktop chops, and demos to prove it. I think my main weakness at this point is software engineering, which I've learned entirely by asking questions and reading. I'm pretty confident I could pass a programming skills test in most of the languages I listed. I've made some small contributions to a couple of OSS/GPL projects. I speak Unix fluently, and could probably get up to speed with Windows development environments pretty quickly. At this point, I enjoy the software development more than the research itself, and I'd like to take that and make it into a career.
Am I hire-able? If not, what could I do to improve my profile?
You sound highly hireable to me, and I've also hired people with non-CS backgrounds into programming roles (e.g. math), but it sounds like you can point to good work you did, which is way more valuable than a degree.
As for software engineering, most people come out of school knowing approximately jack shit about software engineering, and even the students who are formally taught it usually have to unlearn it because what schools teach is worse than nothing.
To improve, I'd recommend contributing seriously to an open-source project, even an obscure or small one. You'd learn a ton about software engineering over the course of a few releases with a strange team, and you'd have more code in the wild to point to.
There are lots of people with your background in software development: physicists, math people, etc. that went from building software to support their work, to building software being their work.
posted by jeb at 9:37 AM on June 15, 2010
As for software engineering, most people come out of school knowing approximately jack shit about software engineering, and even the students who are formally taught it usually have to unlearn it because what schools teach is worse than nothing.
To improve, I'd recommend contributing seriously to an open-source project, even an obscure or small one. You'd learn a ton about software engineering over the course of a few releases with a strange team, and you'd have more code in the wild to point to.
There are lots of people with your background in software development: physicists, math people, etc. that went from building software to support their work, to building software being their work.
posted by jeb at 9:37 AM on June 15, 2010
I'd interview you. I'd be interested in your problem-solving process and teamwork behaviors if you passed the technical screen.
posted by matildaben at 9:38 AM on June 15, 2010
posted by matildaben at 9:38 AM on June 15, 2010
Sounds good to me, go for it. For many if not most software development jobs, skills and experience trump degrees or certifications hands down.
posted by reptile at 9:39 AM on June 15, 2010
posted by reptile at 9:39 AM on June 15, 2010
You are utterly hireable. Don't worry about the lack of an actual CS degree; many (possibly even most) developers don't have CS degrees.
Get out there and get hired.
posted by ook at 9:42 AM on June 15, 2010
Get out there and get hired.
posted by ook at 9:42 AM on June 15, 2010
Another option: sign up at E-Lance, and do some freelance development work. but even without that, you're hireable, for sure.
posted by Philemon at 9:42 AM on June 15, 2010
posted by Philemon at 9:42 AM on June 15, 2010
I'm the guy who they haul in to to ask laser-specific questions to rattle interviewees and you sound good enough on paper that I would be very interested in attempting to skewer you, then seeing how you dodge, deflect, or whip it right back at me.
I've seen enough people with computer science degrees and lots of certs to know that, as qualifications, they mostly serve as signals to HR and are not perfectly correlated with the ability to perform. I'm more interested in what you know, how you learn, and what your approach is than anything else.
Oh, and don't worry if someone does skewer you with a sharp question. No interviewee will know everything; how you handle the situation where you do not know is a lot more important to my recommendation than having a handy answer. You sound pretty neat from that description already, and, remember, unless you pull a Tommy Boy interview and set something on fire, all they can do is say "no."
Right now, your biggest problem is accepting the wrong job offer.
posted by adipocere at 9:52 AM on June 15, 2010
I've seen enough people with computer science degrees and lots of certs to know that, as qualifications, they mostly serve as signals to HR and are not perfectly correlated with the ability to perform. I'm more interested in what you know, how you learn, and what your approach is than anything else.
Oh, and don't worry if someone does skewer you with a sharp question. No interviewee will know everything; how you handle the situation where you do not know is a lot more important to my recommendation than having a handy answer. You sound pretty neat from that description already, and, remember, unless you pull a Tommy Boy interview and set something on fire, all they can do is say "no."
Right now, your biggest problem is accepting the wrong job offer.
posted by adipocere at 9:52 AM on June 15, 2010
A CS degree is not necessary to get a web development job (I'd go so far as to say it would be overkill). Experience is way more important and pretty easy to come by in that you don't need to convince someone to hire you before you can start building sites to show off your skills.
IME you'd be more hireable if you had some css and traditional HTML/XHTML - 5 is all well and good but not widely supported yet and at the rate certain users/companies upgrade their browsers (IE6&7 users I'm looking at you!) not something we'll be able to rely on for a good long while. Even if you're hired soley as a back-end developer, its still the sort of thing you're expected to know even if you only need to tweak stuff that the front-end guy is too busy to sort out.
For maximum hireability you'll want at least one server-side language (more languages means more options open to you but better to be really good at 1 than OK at 3 or 4), XHTML, CSS (with a good understanding of cross browser "quirks"), a javascript framework eg. jQuery (unless you're a javascript expert already) and know your way around photoshop. Flash/actionscript is a bonus. Even if you only want to be a server-side guy, IME most places will expect you to handle front-end stuff and graphics at least some of the time because there are enough people out there that will have those skills, at least to a level of not having to send stuff back/hold up your work because you need a css/html/graphics tweak, that there would be reason to hire someone who didn't have at least basic skills in those areas
posted by missmagenta at 11:05 AM on June 15, 2010
IME you'd be more hireable if you had some css and traditional HTML/XHTML - 5 is all well and good but not widely supported yet and at the rate certain users/companies upgrade their browsers (IE6&7 users I'm looking at you!) not something we'll be able to rely on for a good long while. Even if you're hired soley as a back-end developer, its still the sort of thing you're expected to know even if you only need to tweak stuff that the front-end guy is too busy to sort out.
For maximum hireability you'll want at least one server-side language (more languages means more options open to you but better to be really good at 1 than OK at 3 or 4), XHTML, CSS (with a good understanding of cross browser "quirks"), a javascript framework eg. jQuery (unless you're a javascript expert already) and know your way around photoshop. Flash/actionscript is a bonus. Even if you only want to be a server-side guy, IME most places will expect you to handle front-end stuff and graphics at least some of the time because there are enough people out there that will have those skills, at least to a level of not having to send stuff back/hold up your work because you need a css/html/graphics tweak, that there would be reason to hire someone who didn't have at least basic skills in those areas
posted by missmagenta at 11:05 AM on June 15, 2010
I've worked as a web developer/software engineer for the last ten years now. I have a BA in Psychology and I never once took a programming class when I was in school.
posted by drjimmy11 at 2:01 PM on June 15, 2010
posted by drjimmy11 at 2:01 PM on June 15, 2010
The main issue you could have without a (CS) degree is getting cold-submit resumes through HR. If you get as far as an interview, 95% of the time all that will matter is experience and interview performance. I don't even look at the education section of a resume when interviewing a programmer.
posted by wildcrdj at 6:43 PM on June 15, 2010
posted by wildcrdj at 6:43 PM on June 15, 2010
This thread is closed to new comments.
posted by Back to you, Jim. at 9:31 AM on June 15, 2010