I never thought about choosing computer science as my major when I was a kid. I have loved being creative. While I was choosing my major, I considered almost all majors relative to design, like architecture, which my dad said I was stupid to think about it. Then I thought coding and programming are very creative as well, and they are always hot topics. Then I chose CS as my major.
Thought about CS in the past
Before the beginning of my university life, I just knew very little about coding. In the past, in my image, people who study computer science always sit by laptops and type very fast to hack and program, just like the hackers in the movies and dramas. They can do every hacking job alone, complete their teammate requirement. And in my mind, when people find out how to code, then everyone can build up everything.
However, I was wrong.
Thought about CS now
In fact, I didn’t know a bit of computer science before I started studying, because I have discovered that coding is not computer science. The relation between coding and computer science is like the relation between physics and math in my thought. Mathematics has already been described as “an essential tool for physics”. Programmer code base on CS. The much deeper I Study in computer science, the much harder that I think computer science is, the more I want to become a programmer. CS can be explored when people learn enough knowledge, which is the most mystical and attractive characteristics that CS have.
It is interesting to be a programmer, especially watching projects build up step by step. However, as a 4A CS student, I believe that none of interesting programmer jobs is solo work which can be done by one man. One single IT job can involve with different people in diverse area no matter what the job is.
For example, a software engineer needs to let other programmers know about his code; a QA (quantity insurance) needs to know about the program before he goes into test; a programmer need to deeply understand both clients’ and managers’ requirement. Obviously, a programmer must keep in touch with his teammate, manager and user. Then I found some useful skills in the workplace.
Way to make a programmer life easier
- Give information people want to know.
Most people don’t care how the works be done. They don’t know what you are talking about if you said many specialized words. My project manager, who does not know software design so much, wanted me to add a new feature to the application and he explained to me what the feature will be like and asked can it be developed. What he wants just a simple yes/no answer. I won’t give him the detail about why it can or cannot, because he won’t know what I said if I start my analysis.
- Ask before start
Knowing about all detail of the project is important. Before start coding an assignment or a project, read though ALL the requirement. And remember to ask professors or manager if there is any confusion. Do not use ordinary senses in work. Sending an email or making a call may cost less time than do a project in a wrong direction.
Once I was asked to build up a showcase website, I looked up for numerous similar website then build up a similar one, but my manager was not happy with that site because it was so far away from his imaging.
- Write documentation
Good documentation and commons are used to make others understand your works easier. Most of the company have their own formal way to write documentation and commons. Writing documentation and commons are time consuming. However, it can save a lot of time in the future and make a better day for everyone.
I took a job which was continuous to finish someone’s project. There is no documentation and commons at all. Therefore, I had to email the guy who leaf this mess to me and ask about any detail about his code, which took me and him a lot of time.
It is interesting to study computer science and being a programmer.
Hope you guys enjoy the CS study of University of Waterloo and Good Luck!