If you completed your major in a non-CS aligned field in undergrad, and got into programming later on in grad school or job, when did that change happen? More importantly, why and how?
I was an aerospace engineering washout. After a tough couple of semesters looking for direction, my counselor said there's a computer degree called Computer Applications, but it can only be your second major. Fine. I paired it with Economics, and got down to business writing report programs, which was a helluva lot more fun than trying to figure out the monetary mumbo jumbo that never could mirror reality. My best courses were taught by a businessman who taught us more just by being himself than by being super intelligent. A typical 'high level thinker who didn't want to be bothered by details' manager who maybe was a good programmer, but was probably in a managerial position just because he hung around longer than everyone else. Anyway, a neighbor of the family spotted a bulletin board notice about the need for programmer/analysts. I was hired by a state agency tasked with implementing a wage information collection system for Unemployment Insurance. The state had hired Arthur Anderson for the bulk of the staff, and a couple 'off the street' programmers. Me and a guy who grew up in adjacent farming towns sat at the desktop PS2's, cracking jokes about this job versus shoveling sh*. It was a blast, mainly because I finally realized that goal of feeling like I belonged. Pretty soon, I was pointing out errors in the consultants' code, laughing about my own screw-ups, and forgetting that this was originally a backup plan.