萌芽之初 —— 认识计算机

这是《我的产品技术之旅》的系列文章,每篇文章,我都尽量保证是一个完整的故事,但不可避免会有些前后关联,毕竟这是一个成长的过程。

这篇介绍我那不堪的学业生涯,回忆过去,发现很多事情有因必有果,即便再来一次,也许我依然会走向同样的道路。

计算机专业不就是玩电脑吗

我是计算机硕士毕业的,但我并非科班出身(本科不是计算机专业),在上研究生之前,我对计算机的认识,只是停留在 —— 这专业不就是玩电脑嘛。别笑,真是这样。

大二的时候,才拥有自己的电脑,那是一台联想笔记本,当时预装的是 Windows Vista 操作系统,然而,用了几个月,在还不清楚「操作系统」是个什么概念的时候,我就把它换成了 Windows XP,从此一发不可收拾。

在这台笔记本上,我几乎把所有的系统装了个遍,除了 Windows 的各个版本,还包括 Linux 的各种发行版,从 Ubuntu 到 Federo 到 Debain 到......,这还不算完,后面还整了各种双系统,XP + Ubuntu,Windows 7 + Federo 等等。

这台电脑也因为不堪重负,在上研一的时候,终于被我搞挂掉了,硬盘整出坏道了,后来换了块硬盘,目前扔家里,竟然还能用。

第一台电脑虽然挂了,但是鼓捣系统之心一直没灭,借写论文之由,又买了一台新的笔记本,HP 的超级本(好像当时很火的一个概念),在这台笔记本上,除了联想电脑经历过的那些,还包括:黑苹果,安装上了 xcode,甚至还写了一个 iOS 的 App demo,这个单独再说。

说到这里,关于计算机最初的印象,就是在安装各种版本的操作系统,现在看来,认知不够是多么可怕的事情,浪费了多少美好时光,当时做的那些事情,对现在似乎没有半点实际用处,除了能作为调侃自己的谈资。

我也说不清楚,当时的自己,为什么就是想要去折腾,也许觉得这样很酷,或许是因为对新产品的好奇心,每次发布新版的系统或是软件更新,总是忍不住想要去试一试。

这个经历对于现在来说,没有实际的价值,但是在当时,倒是帮助我做了一个重要的决定,那就是要考计算机专业的研究生,考研的过程虽然辛苦,但不算太难,反正就是看书做题嘛。

即便我有丰富的装系统经历,但是面对那些真正的计算机专业课,也是一脸蒙逼。因为本科是物理专业,考研专业课要考的那 4 本书(计算机组成原理,操作系统,数据结构,计算机网络)都没有正经学过,简直就跟天书一般。

自学这些专业课,跟帖子里教你如何安装系统,完全不是一码事。不过,好在凭着一丝的兴趣,也是硬着头皮看了下去,最后的考试成绩,不算理想,但也没有特别拖后腿,如愿考上了计算机专业的研究生。

终归还是当不了程序员

说来惭愧,上研究生之前,我几乎都没有接触过软件开发,唯一沾点边的是,本科物理专业学过单片机,使用的是汇编语言,这门课是我大学学习生涯里,唯一一个得满分的课程,一度让我觉得「诶,难不成我在编程领域有点天赋,要不深入一下」。

后来倒是自学过 C 语言以及数据库一些知识,兴趣使然,还是很轻松的考过了计算机二级以及三级证书,不过那种程度的编程,完全只是停留在考试层面,都不能算作是软件开发。

真正让我开始接触软件开发,是我的一个研究生同学 LC,他当时给我演示了,他用 Java ME 给自己的功能机写的那个工具软件。那个瞬间,似乎打开了我的一道门,居然还可以给自己手机写软件,这都是我之前想都没有去想过的事情。

于是,我也开始学习 Java,当时,并不是觉得 Java 厉害或真的对编程感兴趣,完全是盲目的学习,觉得能够给自己写软件,是一件很酷的事情,就像之前无数遍安装操作系统一样。

研究生的课程几乎跟写代码没有任何的关系,学的都是基础理论知识,但那时的自己意识不到孰轻孰重,花了大量的时间去学习应用层面的东西,而忽略了基础理论(算法相关)的学习。

现在看来,其实是舍本逐末,就目前来看(已经毕业 6 年了),Java 几乎忘得一干二净,而当时学习的数据挖掘相关算法理论,却是越来越有用,即使对一名产品经理来说,这些基础知识也是异常的重要,因为目前的互联网产品,几乎都离不开诸如聚类、分类以及关联分析的相关算法理论。

这些都是后话了。即便是学习 Java,我也没能深入的扎下去,其中有一个主要的原因:我似乎更倾向于整体概览的了解,而不是某个技术点的深入。这也有可能是我做不了程序员的主要原因吧。

快毕业那会,还学了一段时间的 iOS 开发,而那时没有 Mac 电脑,还整过黑苹果,都不知道我是为了整黑苹果而学习的 iOS 开发呀,还是为了学习 iOS 开发,而整的黑苹果。

在这样的状态下,一不小心就毕业了。毕业之后,成为了一名产品经理,一直至今。