Three things that must be taught in Computer Science

Source: Internet
Author: User

Author: Alan skorkin

Compilation: bole online
Agile translation group-
He Qiang

Original post address: http://www.jobbole.com/entry.php/463

Yes, there are only three things. I hope to learn many things during college, but I know that no major will give you a complete and thorough education. A major is to teach you basic knowledge and teach you the skills to learn other knowledge. However, as a software developer, with the accumulation of experience, I find that I am more and more regretting that I have not learned to understand the three things listed in this article before I work.

I believe that any computer Major that can focus more on these three things will become more meaningful. If you study these three things more deeply before work, I believe that I will have more practical experience, rather than doing everything necessary to complete the work. I will respond to work needs more calmly and become a better Member of the IT industry.

  1. Open-Source Development

I found that the University has never taught open source. Although some students contact and join, most of them do not know. In a person's life, no stage can be the same as in a student's life, and he has spare time to engage in open source development. And this is good for each other. The reality is that the two (students and open-source sports) often fail.

I believe that most computer science disciplines should encourage students to start new open-source projects or join existing projects. This should be part of the university curriculum and Grading Process. Open-source projects can earn valuable contributions. At the same time, students can not only gain practical experience, but also use development tools to experience the development process and gain valuable interpersonal communication skills. These are not provided in the simulated environment of the school. (Note: an article compiled by bole online in February last October has mentioned that "for students without any work experience, the work experience of open-source projects is definitely a highlight of their resumes ", see programmer: three ways to increase programming experience.)

  2. Agile development process (such as extreme programming and scrum)

I will keep revising this article: I want university courses to teach any development process, or even waterfall models, but to a minimum degree of understanding for students. I found that all content related to the development process was perfunctory. Indeed, some courses involve the development process, but none really explains the necessity of using the development process and there is no relevant practical application. In this case, students almost cannot accept this concept.

It is a good thing for students to learn agile development because they are now more relevant to the industry. Teaching agile development to college students may be the best way to improve the software industry. The Student Union will have a real understanding of how to build software, and will not be brainwashed by technology-lagging companies (there are still many such companies around ). However, the reality is that students are affected by the company's environment after they take part in their work and completely ignore the correct way of doing things. This is a huge loss for students and the IT industry.

   3. Enterprise politics/establish interpersonal relationships

Most people may think this is irrelevant, but I believe this is the most important thing at present. At this point, I was disappointed by my computer science major. Over-emphasizing technology will make you never know what your company's life looks like. Of course, it is hard for you to understand this.

For students who have just graduated from computer science, you think technology is the most important thing in the world. So when you gain a firm foothold in the company, you will be surprised: Everything looks so abnormal and progress is slow. You will understand this until you understand that technology is not the most important at all, and corporate politics govern everything.

Even in high-tech companies, politics is dominant and the cornerstone of politics is interpersonal relationships. Proper interpersonal relationships will make your work better and your life better. However, political and interpersonal relationships are not clearly defined and there are no rigid rules. Everything is relative and flexible. Of course, this is the most frustrating thing in the world for people with full brains.

However, like other things, things are not necessarily the case. The establishment of political and interpersonal relationships has basic principles. These principles can be learned. If so, why do the industry still need technical talents with strong interpersonal communication skills? Not because graduates lack interpersonal communication skills (many computer science graduates have strong skills), but because they lack the ability to use these skills to establish interpersonal relationships.

This is all about my family. I have graduated for several years, and the situation may have changed during this period, and all the things I mentioned above have become part of the university course (this is unlikely, ). You may not agree with me (some or all of them ). What other important subjects do you think are involved in computer science? Please tell me in the reply.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.