Okay, I am 16 going on 17 and I just recently decided that I want to be a double major in Computer Science/Spanish. I am interested in code and am learning through Khan academy just to see the basics. I am also great at Spanish, I am in Spanish 3. But I’ve thought about that I would want to be a Software developer for Applications and I rather suck at Math, but NOT NEARLY as much as I hate/suck at Science. Is being a S.D. a realistic goal with my…learning abilities? I know I can do it, it’s just…would it be smart to start on this path?
Would I need a degree in Computer Science to be a Software developer?
Any tips will be helpful.
Also I’d like to attend college at Pomona College in Claremont, California, any info on that too would be helpful.
The most important thing in CS is logic. You need not be an expert at math, but you need to be extremely well versed in logic (coding) to be able to do well in the field.
The essence of Math and Science is wanting to understand things, how they work, at all levels. You have to really want to discover the underlying logic. It’s about expanding human knowledge. Do you like to take things apart to see how they work?
Computer Science should more properly be thought of as an Engineering discipline (it is at some schools). Engineering is about coming up with things - buildings, bridges, cars, computers, video games, whatever - that people use. It’s about using math and science for real world embodiments. Do you like to put things together, or design and build new things?
There is a lot more to doing well in CS than just logic. You need imagination, spatial visualization, flexible range of focus, attention to details, and, yes, math and analysis. You need to develop and integrate these mental skills. That is, if you want to be any good at it.
My prediction is that if you don’t really enjoy math and science, then you won’t be motivated by the understanding OR the practice of CS.
You don’t need a degree in CS to be a software developer. But you do need to be somewhat obsessed with writing code, and optimizing your code, and understanding the advantages and disadvantages of different families of programming languages, etc. You don’t become a software developer because you want to, you become a software developer because, well, that’s what you already spend all your time doing.