不久前在51CTO上看到一个迷茫的网络工程大一学生发问,即兴回答了一番,今日看来依旧感悟,特记录于此。

一个迷茫的网络工程大一学生发问

冒着触怒各网络工程师的风险,我还是写下这篇帖子,只求一个回答。
写这篇帖子的直接原因大概在于我物理挂科了,并且知道下个学期会开更多的物理类的课,比如电子电工技术,物理实验之类的。
先说说我的情况吧,我是山东某大学网络工程专业的,上大学之前最感兴趣的就是计算机这一块,很崇拜Bill Gates,后来看了《17岁的CEO》知道平泳佳,也很崇拜。高考608,理科。当初选择网络工程有以下几个原因:1 听说这是个新兴专业,就业不错;2 我对信息安全和网站制作感兴趣。但现在我感觉自己选错了专业,因为我感觉这里学的东西和我所希望的有差距。
先说说上学期期末考试成绩,高数92,英语87,其他最低84,只有物理53分。但我想物理挂科可能不完全是我的问题。
学过大学物理的肯定都知道吧,里面一开始就会用到微积分的内容,而这些,是高等数学的才有的,也就是说,学完高等数学之后才能继续学习物理。但我们学院竟然在上学期就开了物理(据我所知,还没有一所大学这样做过)。大家学得都很痛苦。
我知道物理对于一个搞理科的人很重要,但我们学院(信息工程学院)软件工程专业也学完整版的大学普通物理,是不是有点过了?有没有明白人告诉我,物理到底在一个搞IT的人的世界里占个什么地位?


上大学后又知道了一些英雄,比如戴志康,马化腾,以及Mark Zuckberg。很欣赏他们的人生经历和生活方式。反观我的专业,好像和他们很远。不用给我说什么网络工程就业前景很好,工资很高。就业前景再好也不过是个技术人员。看51CTO网络工程的论坛,我发现大多都是设计布线之类的工作。而我,对硬件真的不怎么感兴趣。当然我知道只有深入了解硬件才能开发出内核级的东西。我会努力去学,但不会以此为专业。因为我觉得硬件的发展空间不如软件和网站大。硬件再好,也没有软件或是网站统治的时间长。而且,把硬件玩好需要大量的实践,而本人家庭还没富到新机子买来就拆的地步。
我觉得真正有前途的行业是这些:移动通讯技术,信息安全,嵌入式开发,人工智能。而网络工程,恕我直言,无线宽带的发展有可能最终将这一行业写入历史。
众所周知,我国计算机行业的现状是低端人才太多而高端人才还是严重不足。我想做一行就精通,因此决定转行软件工程,很多人说如果学不深就学计算机科学与技术,我觉得我能学深。我不知道这篇帖子是不是体现了我的浮躁——这个年代程序员最应该杜绝的。但我真的是时间有限,我不想考研究生,因为发现进去后不过每月领几百块钱帮导师看作业。我不需要高的文凭,只要过硬的技术。我很爱编程,有很高的热情,我看过《如果你喜欢编程,给你七个建议》,我相信一个优秀的程序员绝不会找不到好的工作。

我只想有个明白人能为我指一条明路,我现在真的有点焦虑和迷茫,毕竟青春就这么几年。这篇文章或许有很多口气很狂的话和一些对概念的错误理解,就海涵把,毕竟我还没有20周岁,还在一个很狂妄的年龄。

----------

偶的回答:

从你对IT的认识和其他课程成绩来看,你是优秀的,有思想、有能力。你一定能克服暂时的困难。现就我个人经历发表一点初浅的看法,希望有所帮助。

1. 我在中国的两个电子科技大学分别读了本科和硕士(专业计算机应用技术,方向计算机网络,与你的网络工程专业是一致的吧)可以肯定地说高数、物理(包括日后的线性代数、复变函数、信号与处理)等课程是绝对有用的,只是你所在学校把在大一上学期开设大学物理课程是绝对错误的,现在很多学校开设课程不是从课程内在规律来安排,而是看任课教师是否有空,但这不是你能控制的事,适应它,解决它,往前走。

2. “生产工具决定生产力水平”。IT就是扩展人类智力的生产工具。人可以使IT的创造者、应用者、使用者。研究、设计电视机的人是创造者,制造电视机的人是应用者,在家里按遥控器看电视的人是使用者。IT始终围绕路、车、货的问题发展,说的专业点就是信息的生成、传输、处理、存储、再生等问题,人的精力是有限的,需要找到着眼点进行深挖洞、广积粮。

3. “我国计算机行业的现状是低端人才太多而高端人才还是严重不足”一语中的。我读书时曾戏言,“要成为计算机高端人才需要本科学数学、硕士学物理、博士学计算机”,这是一个广度与深度、基础与成果的问题,我国“现代毕升”,北大已故教授王选先生好像就是学数学出生的。

4. 移动通讯技术,信息安全,嵌入式开发,人工智能确实是目前IT发展的前沿领域,网络工程是要综合所有各种技术,满足实际需要进行集成、开发。注意工程是应用、是集成、是再创造,不局限于某个具体技术。好的网络工程人员(不是施工人员)需要扎实的理论基础、丰富的实践经验和对目标需求、环境的理解熟悉。

5. 我没有看过《如果你喜欢编程,给你七个建议》,但我开发过很多小软件、解决了很多实际问题,但现在不干了,原因很简单,被维护拖垮了。建议在深入学习具体开发语言、开发环境、开发构架之前先找一本软件工程的书(最好找国外的、有案例的)读一读。另外优秀的程序员不一定能成为CTO、CIO甚至CEO,人的素质是多方面的。

	我很羡慕你,不到20岁,年轻就是资本。海阔天空地想,脚踏实地地干,找准目标、坚持走下去。有机会再聊。我的Email: sandhiller@163.com.