There are a lot of different things to touch on here, too many to adequately be digested in this thread, but I will try to get you going in the right direction.
I found myself in a similar situation about 6 months ago. I graduated from the University of Michigan three years ago with a degree in Electrical Engineering from the University of Michigan and a 3.5 gpa. After college I got an amazing job opportunity in a rotation program at Intel, the mecca for aspiring computer architects and I had the world at my finger tips.
Fast forward two years: the rotation program had come to an end and I had come to the conclusion that working on hardware wasn't what I thought it was and what I really wanted to do is software. I was working in a post silicon validation group writing C++ on a tool used for Random Instruction Testing, but I felt like I wasn't growing. No one that I worked with was a good coder and I felt like I was getting worse and not better.
I started thinking a lot about what I really wanted to do, what kind of place I wanted to work and what kinds of skills were in demand at those places. I spent every spare minute that I could for several months learning Ruby, Rails and everything I could about web development. I've been going to Meetups, meeting other developers, and making as many connections as I can. I am happy to report that I just quit my job last week and am starting at a startup working on Ruby and Rails full time in a couple weeks.
Find interesting new technologies that you are excited about and start building something outside of work. Look at the job postings for places that you want to work and work towards building those skillsets. Keep at and don't get discouraged. Find other like minded people to work with.
Keep a positive attitude and good things will happen.
I've been to this site before and its a great place to just play around and test your intuition on design and learn how to develop an eye for good design and what makes it good.
I have a 1st round in person interview with Apple this week following 2 phone screens. Hopefully it's not the first of 30.
All my previous interviewing experience is right out of college. I interviewed at several large tech companies and each followed a similar format: 1-2 phone screens, 1 all day on-site, 4-5 interviews.
I know many companies have a 'hire', 'no hire', 'need more information' policy, so it might just have been that your colleague's spouse just kept falling into that need more information category.
I found myself in a similar situation about 6 months ago. I graduated from the University of Michigan three years ago with a degree in Electrical Engineering from the University of Michigan and a 3.5 gpa. After college I got an amazing job opportunity in a rotation program at Intel, the mecca for aspiring computer architects and I had the world at my finger tips.
Fast forward two years: the rotation program had come to an end and I had come to the conclusion that working on hardware wasn't what I thought it was and what I really wanted to do is software. I was working in a post silicon validation group writing C++ on a tool used for Random Instruction Testing, but I felt like I wasn't growing. No one that I worked with was a good coder and I felt like I was getting worse and not better.
On the recommendation from a few friends I read The Passionate Programmer (http://www.amazon.com/Passionate-Programmer-Remarkable-Devel...) and it changed a lot of how I thought about my career. I highly recommend it.
I started thinking a lot about what I really wanted to do, what kind of place I wanted to work and what kinds of skills were in demand at those places. I spent every spare minute that I could for several months learning Ruby, Rails and everything I could about web development. I've been going to Meetups, meeting other developers, and making as many connections as I can. I am happy to report that I just quit my job last week and am starting at a startup working on Ruby and Rails full time in a couple weeks.
Find interesting new technologies that you are excited about and start building something outside of work. Look at the job postings for places that you want to work and work towards building those skillsets. Keep at and don't get discouraged. Find other like minded people to work with.
Keep a positive attitude and good things will happen.