I’m like a lot of my friends who are programmers. My major has absolutely nothing to do with my work.
I was an East Asian Studies Major specializing in Japanese History, Culture and Language. Doing IT stuff, programming, web design, graphic design were hobbies to help pay for school. I was actually an engineering Major to start college but I found it restrictive (they were baffled about why I wanted to take non-engineering related classes). Because I was unhappy with my courses, I didn’t do as well as I could have. So, I switched majors to something I really enjoyed and wanted to learn about. As a result, I did much better in school and became much more well rounded individual in the process.
Once I was ready for work, I simply went full time with my computer related jobs since my employer didn’t want me to leave. In a weird way, I think my non-engineering background helped me a lot in programming because I was able to “think outside the box” much better than most of my coworkers and I’ve enjoyed a lot of success in my field of work. Like you mentioned, I want to know EVERYTHING and made an effort to know a little bit about everything. In terms of web development, it really worked out to my benefit being able to do design work, front-end development, business logic development, and back-end development. It meant a couple of things.
1. I was never on the bench. Since I could fill any role, many Project Managers wanted me. Also, it meant that they didn’t need as many consultants on the project that had a fixed income. Of course, that meant more work for me sometimes but I always enjoyed it.
2. I was often given lead positions. Because I had better communication skills and a better sense of the overall picture, I was able to meet with clients face-to-face to manage expectations and coordinate between designers and programmers. Often, designers wouldn’t understand programming issues and vice versa.
3. I was able to choose which projects I wanted to be apart of. Because every PM wanted me on their project, I often got to choose (unlike many coworkers) and request the people I wanted on the team.
So, those are just a few examples of my experience. It’s probably not the most “normal” way to go but it’s worked for me and I’ve been pretty successful with it. :wink: