有师弟师妹在讨论技术成长, 几个同学提到自己从非计数机专业转行到计算机领域的艰辛过程. 我也分享一下自己的经历.

专业非计算机没有关系,主要看兴趣和信心。 我看到好多工科理科转计算机的。文科要少很多。只有有兴趣,然后有足够的信心能走下去(做最坏的打算,最坏怎么样),如果最坏的情况能接受,就照自己喜欢的方向走下去。 我学的高分子材料,基础课都是自己自学的,刚刚大三找工作的时候拿了一家 世界五百强做塑料的德企的offer。后来想想这不是我的兴趣所在,继续面了很多家,最后拿到了 BenQ 的offer,顺利转行到了软件领域。当时面的是 测试的职位,因为看到招聘要求估计开发的要求要计算机专业,结果面试的时候其他人的笔试成绩大都比我要低。自学还是有不错的基础,因为在学校的时候自己做了几个小工具,编码的练习相对比较多。然后笔试提前也做了充分的准备,翻了好几本书。后来入职之后提出来转做开发,就一直在做开发。 测试跟开发都很有价值,个人更喜欢开发,有更多创造新东西的感觉。

有足够的兴趣,会帮助你走得足够远。现在学习的资源和渠道多了很多,自学起来也比十几年前容易了很多。 同时也因为信息量过大,可选择太多,从这个角度而言学好软件开发,成为一个专业人士,难度其实是更高了。

系统化学习,把技术做透,理解技术背后的本质会比较重要。 这个技术的体系是怎么样的,有哪些主要的概念,有哪些细节的枝叶,用在什么场合,解决什么问题。这个技术的底层涉及到哪些基础的技术,每一块的基础管理是什么。每一种技术的背后都由更细分的技术组成,这些细分是哪些,原理是什么样的。每一个技术都有历史,从哪个技术发展而来,发展的历史是怎么样的,有谁提出来的,为了解决什么问题。这些都多花时间弄明白.

技术由背后更细粒度的技术组成。像现在的 docker,区块链,深度学习,背后都有一大堆组成它们的更细粒度的技术,技术都之后都归结于几块基础的技术。 操作系统,网络,数据结构,算法,数据库,编译原理,体系结构,加密算法,微积分,概率统计 之类的。

巴菲特,稻盛和夫对于是否从自己感兴趣的事情开始做的不同观点。