I recently transferred to UCSD as an undeclared major, and I am going to be applying for CS major after I take a couple classes. The problem however is that the cutoff is a 4.00, so although I’d like to think I can get an A in every class I take (and not an A-) there is a possibility I may fail in my endeavors.
I love programming though and am currently working in a small startup company, have lots of personal projects and code to show on my Github, and I’m extremely certain I would like to program for a living. I had heard that the Math/CS major would be a good backup route, however as of this fall that too is impacted. I would like to declare a major to have whilst pursuing getting to the CS program so that my priority registration isn’t affected and I’ll have a backup in case I do not get in.
Right now I was thinking of Cog Sci with specialization in computation or physics. I know they’re both somewhat unrelated to a software development position, but I wanted to know if it would be a good idea to major in one of these with the intent of getting a job in development.
Yes, some physics graduates do go into computing jobs (perhaps after finding physics jobs scarce), but that is not really the optimal route compared to majoring in CS.
It may have been better to transfer to a school where you are directly admitted to the CS major, or where entering the CS major does not have such a high GPA requirement.
Frankly, I am inherently enthralled by the cryptic mysteries of physics and feel like I would excel in it out of sheer curiosity (I have always enjoyed reading about theoretical physicists and their work), however as I mentioned I would like to get into development of some sort after graduation. I know there are at least a few careers that require a background in physics and computing, such as designing graphics engines, which I would be very interested in too.
And how difficult would it be to find a development position with a degree in Cognitive Science with a specialization on computing? I have been fascinated by AI and machine learning and was interested in perhaps pursuing this field of study.
In industry, it is not that rare for people to go into software development jobs from non-CS backgrounds, due to self-education in CS. However, that is a more difficult or roundabout way for most people than just studying CS in college. Physics and cognitive science can be useful for some specific areas of computing, as you have noticed.
If you have to major in something other than CS, you may want to take as many of the lower division CS courses as you can, plus whatever upper division courses of interest that you can get into. However, given how impacted the CS major is, it is likely that the upper division courses are very difficult for non-majors to get into.
My DH has a CogSci degree from UCSD, his early career was spent as a developer until he transitioned to now working in cybersecurity. He went into the degree with that as his goal, choosing it over CS (which was not impacted at the time) for a variety of reasons. He has never regretted his major, he loved it. Obviously that was a while ago, times, and job markets, have changed. But I think what remains true is if you have skills employers are looking for and experience to back it up, you are in a good position. It sounds like you are already working in the field? That’s good, keep doing that and look for more opportunities, in and out of the classroom to grow your skill-set and expand your network.