Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Brief Background: I have a Master's Degree in Clinical Psychology, and have worked for 5-years in a clinical setting at a major University Health System doing cognitive psychometric testing. I have been passionate about technology since childhood (longer than my passion for psychology) and want to change careers, specifically into Web Development (ASP.NET).

I have been teaching myself C#, the .NET stack, JavaScript, HTML/CSS, etc for the past 1 1/2 years. I spend ~1-3 hours daily learning about code or writing it. I even convinced my department to grant me server space to host an MVC3 app I wrote to help me with work duties. This being said, I don't feel ready to apply for jobs in Web Development.

My questions for the community are such:

  1. What, if anything, does a degree outside of programming mean to a prospective employer? (Are there any pros? Cons?)
  2. What can somebody with a non-CS degree do to enhance marketability and raise the likelihood of finding a job?
  3. Is this type of career change one that should be expected to be particularly daunting or impossible?
  4. (The impossible question): How does one know when he/she is competent enough to make the switch without crashing and burning?

I'm particularly interested to hear thoughts from actual employers who are involved in the hiring process. What is the impression of seeing that "BS, MS in Psychology" on a resume?

I recognize questions about careers border on inappropriateness at times; however, after dozens of searches, reading the SE FAQ, and reading: "Are Career Advice questions useful to anyone except the poster?", I believe my question can be generalized to the community because there must be other coding enthusiasts working outside the field who are wondering what they can do to make the switch.

share|improve this question
2  
As someone who graduated with an Anthropology B.A., then worked as a secretary, and now works as a programmer for a large international company, I can say that if you can show you can do the work or you can learn quickly enough, you can get the job. My only suggestion is you may want to expand your skill set. While my current day-to-day work involves C#/.NET, Java (and associated frameworks that come with it in an enterprise environment), and PLSQL, I have used Groovy, Ruby and JQuery as well. It all depends on what needs to be done. – TomJ Jul 20 '12 at 23:47

closed as not constructive by GrandmasterB, Walter, gnat, ElYusubov, Ryathal Jul 23 '12 at 17:36

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

6 Answers

  1. It will be more difficult to land that initial programming job, but after that you should be fine. You might also hit a glass ceiling in some companies, I worked someplace that didn't allow promotions unless you had a degree.
  2. Getting some certifications from Microsoft can help. I would also look into publishing your MVC app (if that is possible), or join an open source project and let potential employers look at it. It is one thing to be certified, but actually knowing it is a whole different ball of wax. We have interviewed plenty of certified candidates and often times they had no clue about some very basic coding practices.
  3. No, it is not impossible to switch careers this way. The interviewing manager will most likely have questions as to why you switched, so be prepared for that.
  4. Go on interviews and see how that goes, do you understand what they are asking and can make intelligent answers. Don't be afraid to fail. And keep in mind, unless you are a contractor, managers are not really happy to fire new hires. They want to give you a chance. Also, if you participate in open source projects and are able to make valuable contributions then chances are you are going to make it.

It sounds like you have a good regimen to learn how to code. I would also spend some time learning about the soft skills of computer programming. Books listed on this post are a great place to start, as is Code Complete.

Good luck!

share|improve this answer
1  
Many thanks. I came across "Code Complete" recently. Definitely will check that out. – ArloWilkinson Jul 20 '12 at 22:36
You hit most of the main points but unless the askee is ruthless in his personal education he will be facing a severe knowledge gap on theory elements. Not all of them are important for standard line of biz apps but they often make you more aware of missteps as well as open opportunities to more interesting projects. – Rig Jul 20 '12 at 22:46
@Rig Totally agree, and this is a consideration I've had about my situation. Even if I am more than 'ruthless' in my personal ed, I have doubts that I will fully learn theory elements or best practices in the same way that somebody in a University setting would. People learn from others, and they learn from doing, so my hope is to do everything I can get in the field and find a job that facilitates a furthering of my education on the job. – ArloWilkinson Jul 20 '12 at 23:18
2  
@ArloWilkinson: you might consider taking the Algorithms 1 & II and Compilers courses being offered at Coursera.org. For free :) It's likely a big time commitment, but much better IMO than paying for local university courses. – gws2 Jul 21 '12 at 1:15
@gws2 Amazing tip, thanks. I've heard of Sedgewick, and had no idea he was involved in any way in a free online course. This is great – ArloWilkinson Jul 21 '12 at 1:54

It's possible to change careers, yes. But like any change, you may experience a salary setback during the time that you are a junior.

Also, there's somewhat of a tricky situation with how you market yourself. As time goes on, the job market tends to segment a bit. In your case, there is something of a distinction between a .NET developer and a web developer, even though obviously you are a combination: a .NET web developer.

If I were you, I would focus on 1 of 2 career paths for your immediate future. Either:

  1. Expand your .NET skillset as much as possible and market yourself as a .NET developer (with web dev skills on the side)
  2. Expand your web development skillset as much as possible and market yourself as a web developer generalist (with .NET and whatever other backend framework skills you acquire)

Eventually, you should do both of these things, and more, but you have a lot of time in front of you since you are at the start.

Don't underestimate the power of persistence. If you show passion during interviews and in your resume, you can increase your hireability greatly.

Large companies and part-time jobs at startups are both great ways to get your first job, since there is less of a requirement to know everything at the outset.

share|improve this answer
I've never really considered the marketing aspect you describe, but this makes a lot of sense. Expanding one focus at the outset of a career is something to consider. – ArloWilkinson Jul 20 '12 at 22:38
  1. You won't need a CS degree to compete. I don't have a degree at all - yes, it's stopped me from getting in the door at a few places, but ultimately (good) companies will be looking at your code portfolio and coding ability more than they will be looking at your degree. Get a demo app built and put it on Codeplex or GitHub, and if you want to hone your programming chops in order to get ready for interview-type questions, go play with sites like ProjectEuler and HackerRank.
  2. Since you've already devoted yourself to Microsoft technologies you could get certified as an MCPD or MCTS. This won't necessarily raise the likelihood of landing a job, but it should help get your foot in the door.
  3. No, it's not impossible to switch careers in this way. Good programmers are always needed! Keep your current job, have patience, and keep an eye out for positions that you might like. Even if your first few interviews are rough, you'll learn a lot from them.
  4. Competency is tough to gauge. I'd recommend getting involved with your local .NET community (find some meetups), find local code camps, and dig into the .NET-related tags over at StackOverflow. If you can keep up with the people in those crowds, you're technically ready for at least a mid-level development job.

You sound passionate about code... do not underestimate how far that can get you.

share|improve this answer
I never came across ProjectEuler/HackerRank, so that's fantastic, thanks. I've heard mixed things about certifications in the sense that an employer may give little weight to them. I absolutely understand what you mean about using it to get the 'foot in the door.' – ArloWilkinson Jul 20 '12 at 22:34

I changed careers after working 18 months of self-study along with getting experience working with small businesses. I went from the hardware side of IT to the programming side.

What I found, since I wasn't able to get a degree in IT, was the lack of a degree didn't matter to anyone I interviewed with. I wasn't able, due to the limitation of 24 hours in a day. I kept my day job with 40 hours a week and worked 10 to 25 hours part time doing the programming, with an emphasis on the 20+ hours as an average.

Not having a degree may have prevented me from getting some interviews, but I can't know that for sure. Of the two interviews I received, I had job offers from both and didn't have to take a pay cut to make the change, as I had originally estimated in my plan for the career switch.

My point to all this is I don't believe employers look for the IT degree as the litmus test alone for hiring. If you have it, great, but it's not the end all. Adding to the previous comments, passion for the work, enthusiasm, and logical thinking would have to rank very high with the highest being good programming experience - no matter how you come by it. Good I would define as commercial level experience.

share|improve this answer
1  
An underlying theme in all the answers I've received thus far has been the emphasis on individual drive and passion, which is one of the reasons I love tech professions. Passion doesn't get you very far in other fields (like psych) which focus on education/experience. I think that the drive to learn new things is fundamental and necessary in programming, and I love that. – ArloWilkinson Jul 20 '12 at 22:43

A career change certainly isn't impossible, but it is a major life decision, and probably should be daunting! In addition to building up the skills you need (and, if possible, a cash reserve to hedge against the risk), you should do what you can to determine if your new career will fit you better than your old one.

To this end, I strongly recommend taking on a significant project in your new field, before leaving your old one (this is much easier in programming fields than in many others). Also, some kind of portfolio would be helpful: if you want to work in web development, you should build a web site in order to help acquire, exercise and demonstrate your web expertise.

I have managed a programming career without completing a degree at all. My impression is that a field-related degree opens doors in some fields, and any kind of degree can be a distinct advantage over none (so your master's is still an asset). However, in many fields (possibly including web development), degrees aren't particularly relevant.

share|improve this answer

You will land your dream job!

Just express your LOVE in what you do, and your PASSION to learn and improve your skills during the interview. That is very important characteristics about candidate, and of course some relevant experience in building software.

Beside mentioned characteristics and skills it might be helpful to look for certifications and becoming a certified software developer. It will add up confidence in your skills and differentiate your resume to be noticed. Some companies prefer to hire certified software developers, if they do well during the interview. That said, your knowledge should at least cover fundamentals what you resume states.

You may start with database or application development depending on your interest.

Good point would be, learning technology/frameworks with details and learning all its aspects while preparing for the exams. Plus, when becoming a certified developer will show that you are interested in improving yourself.

Microsoft, SUN, Oracle, etc. has certification exams, just Google for them and find the appropriate once.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.