# 前言
韩陈昊
今年短暂的就职了一家服务于政府的科技公司,在工作的过程中我突然意识到,IT技术在十年前飞速发展,但是在十年后的今天,国内计算机领域的专业人士并没有随着行业发展而增多,反而劣币驱逐良币的态势愈发明显。
造成上述结果的原因可能有两个,一个是大部分的企业或者业主缺乏工程师文化,从大学到毕业,到成为一个专业人士至少需要10000小时的训练,而事实上不少情商高的人在国内的市场,并不需要做太多的技术就可以转入管理层,稍微有点经验的人都不干具体的活了,于是干活的都是最没有经验的人。
另一个是同行们对计算机科学的理解太片面,充其量只能解决一般的工程问题,对于技术的品味不足,设计同样一套系统,怎么能够做的够艺术,这里就有很多讲究,这要求从业者要能够理解计算机科学中的本质,要清楚计算机科学中的边界,知道哪些能力所及可以做到,知道哪些事情暂时还做不到。
今年和几位大学老师在西北工业大学联合出版了《数据结构与算法研究》,在完成书稿前,编辑问我:“怎样才能成为一个合格的IT行业从业者?”“成为一个合格的从业者真的需要学习算法和数据结构么?”根据我的经验,如果要成为一个好的IT从业人员需要解决如下三个问题:
- 判断什么事能做,什么事不能做。要明白做事的边界,然后在边界内做改进,比如现在ChatGPT很火,那考虑清楚LLM能做什么,不能做什么就很重要,否则很多努力都会花在制造不可能实现的永动机上。
- 确定清楚是否已经存在,在了解预先要求。在尝试前人未做过的事情时,先看看前人是不是真的没有做过类似的事情,在了解这件事的预先要求是否满足。其实在1997年就有人在用并行处理工具来处理大规模计算了,只是那个年代的互联网速度不够快,跨数据中心并行计算不可行,因此进入21世纪后互联网骨干网速提升,云计算工具才成为了可能。
- 对计算机科学的深刻理解。这种理解包括空间上和时间上的,所谓空间上的就是知识的深度和广度,所谓时间上的就是计算机科学的过去、现在和未来的发展规律,有了这样的理解,才能在遇到复杂问题时,能够找到简单有效的解决方法。数据结构和算法在工作中可能并不会常常用到,但是它应对问题的思路和角度,可以帮助我们解决很多难题。
《数据结构与算法研究》面向在读大学生,分门别类的讲解了我们该如何合理设计日常工作中的复杂系统。接下来我会试着面向IT从业者,来梳理我对算法思维的理解。
← 智慧城市评价标准设计 计算的本质 →