Computer science is an exciting and challenging field and it is constantly evolving. You will never be able to know all there is to know about computer science and what you do know will quickly become "the old way" of doing things. So to be successful you need to enjoy the process — not only of programming but also of ongoing study and learning about new technologies in order to keep your skills current.
Some questions to ask yourself are:
- Do you enjoy working as part of a team? Most software is built by teams of engineers who regularly interact with each other and with the target end users of their software.
- Are you driven to figure out the answers to problems? The best software engineers, when faced with a difficult problem, are like a dog worrying a bone, they just can't leave it alone until they've solved it.
- Do you tend to take an analytical approach to solve problems? Diving right in and starting to code before you've really planned out your work will only lead to frustration, rework and hard to maintain code.
- Do you sweat the small stuff? Programmers have to worry about the details in order to write robust code that works as expected.
- Are you persistent and not easily frustrated? Building a complex program is fun and challenging but you will often write code that doesn't work as expected and it can be very difficult to figure out why.
- Does the prospect of continually having to learn new skills in order to stay current excite you or terrify you?
Of course the best thing you can do to test your interest in computer science and programming is to try it. There are numerous free online training programs that will help you learn just about any programming language and a bit about learning to write programs. And we encourage you to do some research and try one or more of them out.
The University of Waterloo offers a free basic course in Python, a popular computer language. This course is entirely web-based so you won't have to download any additional software before starting.
We recommend that you at least work through section 6D: "Design, Debugging and Donuts." Doing this will give you the chance to work on a simple program to calculate the cost of buying an arbitrary number of donuts when the cost per donut varies based on the total number being purchased.
When you have completed the Donut lecture ask yourself these questions:
- Was it fun?
- Did you enjoy debugging the program? While all of us would like to write bug free code the reality is that we all spend a lot of time trying to figure out why a piece of code doesn't work, or worse, why it used to work but doesn't work any longer!
- Was it interesting enough that you want to learn more?
If you can answer "yes" to the above questions then pursuing a second degree in computer science might be for you!