最近我表弟找我聊天,主要是问我一些关于2022年高考填报志愿和大学计算机专业的问题。他对计算机很感兴趣,想报考软件工程系,以后进入计算机行业。他想提前了解一下计算机系需要学的知识、软件从业人员的工作方式和软件开发行业的前景,于是我给他分享了一些我的个人看法和入门建议,并记录下来,给更多有相同疑问的朋友满足一下好奇心,看看围城内的世界是怎样的。
我的看法是这样的:
首先,你要明确一点,你是对计算机行业感兴趣还是对程序开发感兴趣?前者属于一个比较广泛的话题,可以说现在“计算机行业”的普适性是比较强的,大到系统架构、项目经理、产品经理、游戏开发、应用开发、应用测试、数据库开发、网络工程、动漫制作等,小到系统维护、公众号、小程序、自媒体、短视频制作、网页制作等,都可以叫计算机行业。而后者就比较有针对性了,特指需要做系统架构设计,需要写代码的高强度脑力输出的岗位。可以是开发,也可以是测试,开发可以细分为前端开发和后端开发,测试也可以细分为黑盒测试和白盒测试。而且在你学会了基本语法,满心欢喜地准备动手写代码大干一场之前,还需要先去学习一堆计算机相关的专业知识,譬如计算机组成原理、操作系统、计算机网络、数据结构与算法、设计模式、编译原理等。老实跟你说,这几部分知识,相当枯燥乏味、抽象难懂、望而生畏但又无法绕过。然后根据你想从事的内容,选择不同的程序开发语言,譬如做物联网开发的可以选择C、Java、Python等,做人工智能的可以选择C、C++、R、Python、Java等,做应用开发的可以选择Java、C#、Go等,做游戏的可以选择Lua、Erlang等,做大数据的可以选择Java、SQL、Scala、Python等,做区块链的可以选择C++、Simplicity、JavaScript、Solidity、Python等......技术一大堆,好多人听到这些专有名词,就心生退意,包括好多我以前的大学同学,毕业后没能坚持住留在软件开发行业,纷纷转行,也是这个原因。
其次,你要确认的是,你做选择的动力是什么?也就是你为什么选择计算机行业或者软件开发行业?是因为看到某个up主拍视频或者某个网红直播带货,赚得盆满钵满刺激到你?亦或是你觉得软件开发是吃政策红利,普遍收入高?还是说你根本就是喜欢跟计算机打交道,想做点什么产品出来帮助人们更好地工作和生活?如果是以赚钱为目的而不是因为兴趣驱动的,不好意思,我劝你尽早离场,因为你走不远,你很快会因为复杂的工作任务和高强度的脑力工作而产生抵触情绪,最后还是选择了转行游戏开发程序员学什么技能特效,浪费时间。如果你认为是政策红利给予的高收入,那么我要泼你冷水,近年来计算机专业的毕业生越来越多,企业用人要求也越来越高游戏动态,毕业就失业的人不在少数。你报考大学专业可以哪个热门就报哪个,但毕业后求职就是另外一回事了。企业只招人才和内卷严重(别问我什么叫内卷),加上这2年还有新冠疫情的影响,行情已经十分差,人口红利早就过去,你没有强大的心脏、浓厚的兴趣、扎实的技术和踏实的作风,是吃不了这碗饭的。这一点,你真的需要垫高枕头好好地思考一下,你图的究竟是什么。
再者,在国家还未立法明确解决“35岁优化”的行业潜规则问题之前,你要做好不断地看书学习,更新技术储备的准备,并为止奋斗到至少35岁。这是一个技术更新迭代非常快的时代,别想着有一门技术学会了就可以一劳永逸,不存在的。另外,企业的降低成本提高利润的初衷永远不变,所以你还要考虑35岁之后会怎样?要么你做了企业技术高管,要么你还是在中层浑浑噩噩,要么你被优化掉被迫中年转行,要么你自己觉得卷不动了想进体制,要么你觉得赚够了想做点小生意,要么你娶了白富美或者嫁给了高富帅从此躺平......这个天知道,等国家最新政策吧,一切自有安排。
最后游戏开发程序员学什么,假如你进行了一轮思想斗争之后终于冲破万难,下定了不入虎穴焉得虎子的决心,非要选择软件开发行业的话,那么我先恭喜你,同时也好好的请你,学,就要脚踏实地的学,做,就要专心致志的做。我会将我所学所知,知无不言言无不尽,给你分享,让你少走弯路,少点脱发。
没有最好的技术,只有最适合的技术。下一篇,我将以Java开发语言为例,从推荐我看过的书开始说起......