Regarding getting any type of programming job after doing it yourself for a time, it's not very difficult to do.

I didn't have any difficulty getting a job at a billion dollar company after doing my shareware business for three years or so, after my father was laid off (I lived with my parents, being in early 20's).

Basically, after Startup School 2007, I was thinking of joining a YC startup I really liked (Auctomatic) and they seemed to think I was the #1 candidate.

Being rejected from YCombinator regarding growing my app, and looking at that YC startup I mentioned, I made my eBay-related program free to use instead of paid (because I was thinking I would join that YC startup, or if not, I would look at some more in California), to eliminate any guilt of not supporting it as much as I could while I would be moving on to something else. I also wanted to focus on web based instead of desktop software.

Then, my father got laid off around the same time, and while I was helping my father find a job, I realized that he wasn't getting any responses. So besides creating his resume, as I went through job search sites submitting his, I thought, I might as well submit my own to a couple of companies directly as well, having just shut off my income by making my software free, and now feeling like I should stay in the area while my dad got back up on his feet. I had no problem getting interviews after only applying to a couple of big local companies. My dad finally got one, and I went with him, and they did not want him and instead wanted me. The guy asked me to come back and meet with his two bosses, and I did, though I cut that meeting short to go another interview. I was called and asked to come back again on a third interview, and to continue that interview, as well as possibly meet some executive from New York (their headquarters). (LOL) So my dad got only one other interview in those two months, which I didn't go with him to. :)

The Fortune 100 company that gave me an offer first, I accepted, and declined to meet with that other company. One of the few places I applied was Google, and a Google recruiter called after I had already accepted another offer and said that Google wouldn't fly me in to California after my phone interview with a Google developer, and he thought my credentials were great and that I should try again in March 2008. Basically, I planned on reviewing the TopCoder pages on algorithms and such before the call, but my grandparents "went missing" and my dad and I went looking for them when their alarm went off, so by the time I got home, I was exhausted. Then my parents were in the same room as I, so it was tough to struggle through the phone interview with Google. Worse yet, I was just getting so tired from the interview that in the end, when I likely correctly answered that an algorithm took big O of "n log n" time, the interviewer sounded really excited and surprised and asked me how I got it. I said I don't know, and he kept asking me. I said, I just knew that's one of the common possibilities, and that the algorithm grows faster (is slower) than linear time but grows slower (is a faster algorithm) than exponential time.

I started (at the company I accepted the offer) directly in a real position, while other people I know (and my age) had just gotten their B.S. in Computer Science or Business degrees and then had "Trainee" job titles for about 8 months, even though I was the same age as them (different department) and had about an Associate's Degree at the time.

I quickly found that people do not think the same way as startup founders. The company was very conservative, and also I was the youngest by far of anyone else in my department.

My favorite part of that experience was trying to bring up awareness of the iPhone. I remember, at the urging of the guy who hired me, showing off my iPhone last December to an executive who was walking by, who seemed interested. I worked with the guy who hired me to explain to him and others the difference between web-based and native apps, as well as WAP, and different ways this could be implemented. As well as why the iPhone was a better platform than anything else. Also, getting our IT department to register for the iPhone Enterprise Beta as soon as it came out. And, talking about having API's and and one place to render, so that the same content would simply be displayed differently, depending on the capability of the device--regular phone, iPhone, laptop, 24" monitor. There seemed to a lot of backlash at the time, but then I noticed some of my ideas had become some other person's ideas, such as that of the guy who hired me. I created mockups of what an app might look like on the iPhone.

This company's policy was to buy before build, instead of develop in-house (which made sense) so they got a mobile development shop to build some ideas, with the two guys--the guy who hired me, and the guy in IT I told to sign up for the iPhone Enterprise Beta--running the show, and I was not involved in any way.

My favorite moment was washing my hands in the first floor bathroom late one day, around August, when a person started talking to me. Oh, it's the CIO! He let me know they're going to be pursuing some iPhone and Blackberry apps, and using it and such. I realized therefore that it was the same guy who saw me show him my iPhone in December, and that he must have remembered me, and I asked him of that. He says, yup! And I reply, ( this is still very funny to me ), "oh I heard that you were meeting with this person, and that person, and this person." He looked at me with a blank stare. I asked, "Did you like those mockups in the presentation?" He said, yes! I said, "I made those." Another blank stare. It was just funny because the executive was trying to surprise me about remembering me from a year ago, and I surprised him by basically telling him I made those mockups he saw as well as knowing everything about his meeting.

Of course even though I bought the iPhone and Macbook Pro with my own money and explained things to my manager and stuff, created mock ups, and presentations, I didn't get any credit whatsoever. Another thing, when I was talking with executives (for some reason, I was originally sitting not with coworkers, but near an executive who was in charge of other executives, one of whom was the second most important in terms of strategy to the CIO), and I ALWAYS brought up the iPhone project and ALWAYS mentioned the guy-who-hired-me's name. Apparently, the guy-who-hired-me only sometimes mentioned me. And when I told the guy-who-hired-me that I had run-ins with executives, he instantly asked, "oh did you mention me? did you mention me?" I thought to myself, doesn't he want to hear my cool story? Why is this more important to him? I said, uh yeah, I always do. Lesson learned--next time, I will only mention people who actually do anything useful. I already had a path to executives, I did not need someone else stealing my ideas. Oh, and the project to get iPhone/mobile awareness started out as both of us working together, of course with him having zero knowledge about anything, but as soon as it go interest, the person asked me multiple times, in the presence of another executive (yes, there are too many executives), that he should probably do it... I said.. uh.. what... my current manager has full support of me using part of time on stuff related to the iPhone... why do you ask? However, this happened a couple of times, and always within earshot of an executive, like this wasn't a 50-50 effort.

So in September, I left to get my Bachelor's in Computer Science and Mathematics while learning iPhone development (I signed up for a related class that was originally an independent study meant for development for another platform, but eventually everyone switched to iPhone development by November!) I also took a class on Adobe CS3, as well, of course, three real CS and Math classes.

I think corporate was fun, but regardless, I did not want to stay because they were not going to develop my ideas, but contract them out to a vendor. I couldn't care less about credit; it was that day to day, I wasn't working on cool stuff. As far as ACTUAL WORK I WAS SUPPOSED TO BE DOING, that actually started getting fun and productive when my department finally moved everyone together instead of all over the place, a few weeks before I was quitting. However, I wanted to get my degree and have time to work on my ideas.

Since I remember you posting here as long as I have, and I remember you going through what you did, I just wanted to congratulate you and tell you what I've experienced as well.

Also, I've found that some negative things people have posted here about certain YC startup's hiring practices/treatment of other people are true, though I think I've only officially applied to a couple over the years. I really have to give the hats off to Auctomatic though for asking me to create something in smalltalk for them, regardless of my degree, and these people had gone to Cambridge and/or had deferred accepting attending MIT.