「MoreThanJava」当大学选择了计算机之后应该知道的
- 「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」。
- 当然 不论新老朋友 我相信您都可以 从中获益。如果觉得 「不错」 的朋友,欢迎 「关注 + 留言 + 分享」,文末有完整的获取链接,您的支持是我前进的最大的动力!
一、计算机 = 互联网 = 高薪 = 996?
你真的了解计算机专业吗?
不论你是自己选择的计算机专业还是家人帮你报的名,首先恭喜你!因为计算机是少数的几个 「不用拼爹」,完完全全可以凭借自己的努力就能够获得回报的专业,而且从近 20 年来看,回报还相当不错!
那 计算机专业 是做什么的呢?
简单来说,计算机专业是以 计算机等技术 为主要研究工具,以扩展人类的信息功能 为主要目标的一门学科。
计算机是个大门类
翻开本科专业目录,会发现计算机是个大类,包括计算机科学与技术、软件工程、网络工程、信息安全、物联网工程等等等好多专业。其中,最核心、最基础的专业就是 计算机科学与技术 (Computer Science and Technology – CS) 了,这也是各院校计算机系招生的主要专业。
百度百科 给出的计算机专业概念的论述是:计算机专业是指计算机硬件与软件相结合、面向系统、更偏向应用的宽口径专业。
总之计算机是个很大的门类,不光编写应用软件的 软件工程师:
还有制作硬件的 硬件工程师,例如我们日常使用大到手机,小刀计算器,一切物理设备的底层逻辑都是由它们负责编写的:
还有 网络工程师,但也有黑帽子、白帽子、运维等等很多的分别:(这图感觉明显比较黑和帅呢..)
and more…
另外想说一点是,随着技术的进步和世界的复杂程度的加深,社会分工越来越细之后,大学专业也随之变得越来越细化,这些都不要紧,无论在哪一个方向 深耕 都能带来不菲的收获。(即行行出状元)
计算机专业都学哪些课程
了解一门专业最快的方式就是了解它的课程。我们来看一下 网易云课堂顶尖中文大学计算机专业课程体系 给出的标准的 CS 体系的课程表:(链接可戳,下图课程全部免费)
可以看到计算机专业的课程大致分为基础课程和专业课程两类:
- 主要基础课程:高等数学、大学英语、线性代数、大学物理、概率论、离散数学等;
- 主要专业课程:数据结构、C 语言程序设计、数据库原理、操作系统、计算机网络、算法分析与设计、编译原理、软件工程等;
“计算机热” 还能持续多久?
计算机有多热门呢?看一下现在 漫天飞 的程序员培训广告就知道了,在前几年,这些地方还被英语培训占据着。(关于计算机培训逐步替代英语培训这事儿,有兴趣了解更多可以 戳这里)
于是总有人担心,报选计算机的 人太多,竞争太激烈了,或者是传言说计算机行业已经 快饱和了、互联网泡沫正在酝酿 等,但实际情况是怎么样的呢?
我们先来看一段采访:
全球最大豪华车制造商戴姆勒奔驰(Daimler Benz) 的总经理在最近的一次采访中表示:
“我们的竞争对手哪里是其他汽车公司,我们的竞争对手已经变成了特斯拉,谷歌,苹果,亚马逊等科技公司……
科技公司的发展让我们不安,我们面临着巨大的转变。”
不难发现,全社会正在 信息化中加速前进,计算机和互联网已经 渗透到生活的方方面面,促使许多传统行业发生变革:
-
招聘:LinkedIn 的出现,正在蚕食美国4000亿美元的利润丰厚的招聘行业。
-
零售:Amazon 的出现,让美国零售业人人自危,尤其是知名百货 Macy’s,因业绩不振已经连续关店及裁员。
-
交通:Uber 一辆“出租车”都没有,却是全球最大的打车公司,改变交通行业的游戏规则。
-
住宿:Airbnb 从不盖楼造宾馆,但是把目前世界最大的连锁酒店集团 Marriott 逼的不得不重新进行战略布局。
-
医疗:人工智能医疗机器人、智能诊断、可穿戴医疗设备…新的技术给医疗行业多个领域带来发展机会。
-
金融:金融领域也因为互联网和数据的发展,发生着剧变……一夜之间铺遍所有商家的 “扫码支付” 就是最好的例子。
-
就连 国防领域,也越来越以软件为基础,对科技人才的需求日趋迫切:
-
软件驱动的无人机发动空袭,不再让人类飞行员面临风险;
-
情报机构利用软件进行大规模数据挖掘,以发现和追踪潜在的恐怖主义活动;
-
从某种程度上来说,计算机行业不但不会饱和,并在大口 “侵食” 其它行业!几乎所有的公司和领域,都需要计算机相关的人才!
有人说,未来世界将只剩下三种职业:
- 娱乐人士;
- Pizza 快递员;
- 程序员;
不过,基于现在的发展来看,娱乐可以被 VR/AR
渗透,Pizza 快递会由送餐机器人完成,而世界最终需要的,就是程序员。
对程序员的认识
高薪是真的,996 也是真的
工作 996,生病 ICU(重症监护病房)。
诚然,程序员的薪资水平普遍都要率高于其他一些传统行业:
- 图片引用自:设计资源网
但高薪的同时,也意味着高投入。
中国的信息技术产业,特别是过去十多年崛起的一些大型互联网公司,他们的重点主要还是在对技术应用的开发上。过去十多年来,中国互联网产业的发展所提供的机会,使得业界认识到:投入到应用中的收益,显然比基础研究的收益更大。
随着这些基础的开源技术开发工具的进步,中国的程序员的入行门槛也越来越低,这和市场对程序员的需求数量越来越多这一趋势又是匹配的。随着资本参与互联网的大战,“快” 成为互联网行业的共识。其实由于开源生态的存在,技术开发如今本身已经快得不能再快了,但市场竞争是残酷的,没有最快只有更快。
这就产生了一个矛盾:产业迅速膨胀,从业人员的水分也越来越高,但市场对公司的效率要求也越来越高。在这种态势下,技术应用方面的研发,很容易落入劳动密集型的实质当中。
难怪如今程序员往往自嘲为 “码农”,意思是 “写代码的农民工”。程序员褪去了 “智力劳动者” 的光环,似乎成为了和车间工人没太大区别的工种:无论是从工作的复杂程度来看,还是工作时长对工作的产出来看,都越来越接近了。
当然,把程序员和传统的产业工人做类比其实并不完全正确,这主要是因为:脑力劳动,或者说智力和知识,在信息技术开发的工作中起的作用太大了。
程序员的「行业偏见」
在极光大数据的 2018
年中国程序员研究报告里,对于 「外行对你的职业最大的误解是什么」 的这个问题,有 46.1%
的程序员选择了 “很会修电脑”,42.7%
的人选择了 “可以轻易开发出任何软件”。
每个行业都存在各自的行业偏见,例如遇到健身教练就想让人帮你 3
天瘦 10
斤,还得不打针、不吃药、不节食、不运动。这些偏见都无可厚非,重要的是你怎么看待这事儿,是选择被贴标签就靠近标签,还是选择做自己。
什么样的人适合学习计算机?
4 点吧:兴趣、逻辑、就业、静下来学习。
兴趣
计算机行业的 知识迭代 相比其他行业来说速度要 快 上不少,加之市场对程序员的 要求 也越来越 高,这就要求了程序员需要更多的时间来学习。而说到底,计算机是一个偏实践性的理论知识学科,你不仅需要 花费大量的时间学习 枯燥的基础的理论知识,还需要再画 大量时间去动手实践 最终将这些知识 融会贯通 起来,这个过程可能略显枯燥和冗长,而 兴趣会帮助你跨过不少的无趣。
在 《黑客与漫画》 一书中有这样一段描述:
在达·芬奇的年代,绘画并不是一件很酷的事情,达·芬奇用自己的工作推动绘画成为一种伟大的表达方式。同样,编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作。
「兴趣是最好的老师」 这句话再怎么吹也不为过,你对一件事情的兴趣和热爱,在很大程度上决定了你做一件事情所取得的成绩。
看到有网友调侃:”给我妈买的智能洗衣机教了 n 遍都不会用,后来给她买了台麻将机,不仅会用还会修呢。”
还看到有网友吐槽说:「也可以先结婚后恋爱的..」,这… 你们自己品吧…
逻辑
现代的计算机还没有足够的「聪明」,当你实现一些东西和想法的时候,需要考虑 「足够多」 的细节,这就涉及到 「逻辑思考,讲求因果」 的能力了。
这事儿我在 「知乎讨论 – 编程到底难在哪里?」 看到了许多有趣生动的例子,这里我们截取一个关于 「树上有十只鸟,开枪打死一只,还剩几只?」 问题的讨论来论述:(例子略长.. 不感兴趣的读者可以跳过..)
某日,老师在课堂上想考考学生们的智商,就问一个男孩: “树上有十只鸟,开枪打死一只,还剩几只?”