<p>I love computers and coding, but I'm still having trouble deciding whether it's something I'm willing to do for the rest of my life.
Some of my concerns are:
- How often would you have to learn new material in order to keep up with technological advances?
- I'm not very good at problem solving, and am more of a person who solves problem that I've seen before. I'm willing to spend plenty of time and effort into the major, but I'm afraid that it's something that you either get or you don't.
- Some people say that as a CS, you won't be as demanded when you reach a certain age, is this true?</p>
<p>Number two is my major concern. I've always been the type of guy who lacked creativity, thus I struggled in classes that introduced problems with multiple approaches of solving a problem (i.e geometry, english.) I don't know if that makes sense but I'm better at problems with a definite answer, classes like (biology, algebra) I did well in because I can spot the problem and know what to do. I don't know if this is taught or something you're just born with.</p>
<ol>
<li><p>It is very important that you don’t stagnate as a developer. For that reason, you will always have to learn new things and keep up with current trends in technology.</p></li>
<li><p>I think this is a difficult question to answer.</p></li>
<li><p>“Some of the best and most accomplished/successful software engineering professionals that I know are over 50, which is older than some of the candidates I hear claiming possible ageism. One trait that the overwhelming majority of these engineers have in common is that they didn’t stay in any one place for too long to stagnate. I don’t think that is a coincidence.” – fecak on Reddit</p></li>
</ol>
<p>Your second concern is largely dependent on how you’re taught; some professors prize creativity in problem solving similar to the way mathematicians do, and some have aspergers like me and prefer a clear, unchanging structure for getting something done. There are pros and cons to both approaches and therefore equally valid. Both types of people end up in computer science, so it’s not uncommon to have a mix of both in your classes. This is generally a good thing since this is what the real world will look like in terms of being on software engineering teams.</p>
<p>Often. But the material is not completely new. For example, you might need to learn some new programming language but it won’t be entirely new if you already know a different one. The syntax might be different but you will be doing the same kind of basic things.
You might need to learn some new techniques/ SE principle or lifecycle models but they will be easier to pick up if you have been doing those kinds of things for a while.</p>
<p>
That’s a lie propagated by Computer Scientists/CS students. You get better at it the more you do it. </p>
<p>
No.</p>
<p>
Once you have been coding for a while you can spot the problem and know what to do. There are a big variety of problems in CS that occur all the time and there are patterns to solve those problems, so we also look at the problem and apply the pre defined pattern(definite answer) to solve them. Sometimes there are algorithms that are the best or the right answer to the problem you are looking to solve.</p>