作为一个转专业的降级生,从计划转专业到现在,总是会听到有人问,“为什么想要转专业啊”。而我每每只能尴尬一笑,然后搪塞过去——不是别的,只是觉得考虑实在太多了,很难一言以蔽之。所以在这个人技术博客的第一篇,我想我有必要再好好梳理下我想要转专业的理由,作为今后走在技术之路上前进的动力与方向。


兴趣

我一直觉得,在考虑专业的选择或人生的规划问题时,兴趣应当是最重要的因素。我相信只有对一件事感兴趣、有热情,才有把这件事做下去、做好的可能。但同时我还觉得,真正意义上的兴趣的发现是很难的事,在深入学习一门学科之前,我们往往并不知道自己是真的对它有兴趣,还是只是崇拜一些高手,或是只看到了它某些光鲜亮丽的部分。因此,我不敢大言不惭的直接说“我对软件工程专业有浓厚的兴趣”。但我仍认为自己在自我发现的道路上,已积累了一些对自我的认识。当把理性作为感性的旁观者,我认识到了一些自我在直觉层面的好恶。而这些,在许多方面是与我对软件工程专业的认识是匹配的。

对秩序和构建秩序的创造力的兴趣

我喜欢秩序。相比混乱的、不稳定的、不断趋于恶化和膨胀的,我更偏爱井然有序的、稳定的和健康平衡的——前者往往带给我一种不适甚至恐慌的感受,而后者则令我安心而向往。我发现自己有着遇到问题总试图找到程序化的解决方案的思维习惯。小到房间的整理,大到高考的准备,我总是乐意在脑中生成一个条理清晰的、类似程序的执行方案,并不断的完善优化其中的“算法”。你可能会觉得这是一种死板和缺乏活力,是一种“装在套子里”的表现,但我相信任何“套子”表现出的死板都是“套子”不够大不够好造成的。而把“套子”做好的过程中体现的创造力更是非常具有活力甚至魅力的事。也许面对一个较为复杂的问题,当前的程式化解决方案会引发各种“bug”,那么改进这个程式,修复这些“bug”在我看来是非常充满智慧和趣味的。对这一点的认识,是我认为我会喜欢软件工程专业的重要原因。“程序”这个东西的本质恰好与我上述所向往的事物属性相符:计算机会根据你编写的程序按照一种绝对的逻辑和秩序执行,不会出错,一旦有问题,则一定是你编写的程序不够好。这一点无需多言。更高一个层次讲,整个软件行业对我有着同样的吸引力。通读过一遍《构建之法》后,我得到的最直观感受就是软件行业的从业者和软件工程学科的研究者们始终在为建设软件工程的秩序而不断努力,书中的几乎每个知识点,各种各样的框架模型流程,在我看来处处体现着秩序与秩序构建的美。

对写代码的兴趣

仅仅是对秩序与秩序构建这样比较形而上的东西感兴趣是不够的,毕竟学习软件工程,作软件工程师,最多的时间还是在与代码打交道。如果对写代码毫无兴趣,甚至有所排斥,那一定是不适合这个专业的。幸好,通过自学并写一些入门级的小程序,我至少可以确认自己不排斥坐在电脑前写代码这件事。更重要的是,在某几次较为复杂的练习中我甚至隐约体验到了忘我的快感。这让我想到高中时读到的阿里巴巴的神级程序员多隆的故事。

多隆是阿里巴巴首批合伙人里唯一的程序员,他做事一个人能顶一个团队,比如说写一个文件系统,别人很可能是一个项目组,甚至一个公司在做,而他从头到尾都是一个人,在很短的时间内就完成了。从 03 年到 07 年,淘宝搜索引擎就是他一个人在写,一个人在维护,而且这还不是他全部的工作,另外他还做了其他很多事情。多隆不擅交际,不常分享,也不玩什么社交网络,一般很难在公众场合见到他,只要能不参加的会议、采访,他都不会参加。就算去,他也常常会带上笔记本。据说他也曾经带着笔记本去outting,在车上写代码。虽然被所有人视为神,但他真的由心底觉得自己是一个凡人,他做的最多的就是默默的坐在工位上,对着屏幕上的黑框,写代码、解决问题。在别人纠结着是不是要转型管理,是不是要转型业务,是不是要发挥更大的影响力,是不是要获得更多的权力,是不是要得到更多的回报时,他却从一直在考虑怎么通过技术改进,把问题解决得更好。

我想多隆在写代码时的状态就是我一直以来追求的所谓 flow的心理状态。这是一种完全忘我的状态,全身心的投入到正在做的事情中。我相信这是人能经历的最优体验,我把它构建为我人生的意义之一。多隆的故事,自己做练习的经历,让我相信写代码是很有可能为我带来这样的体验的,起码我有绝对强烈的意愿追求之。

对创造和编程艺术的兴趣

我热爱艺术。在高中,我渐渐从一个只知道学习和运动的学生变成一个文艺爱好者,艺术成为我生命中最不可或缺的东西。我对一切与艺术有关的事情感兴趣,并有意识的在培养自己的艺术素养和品味。然而,我深知仅仅是有品味,懂欣赏是远远不够的,我必须学会一门手艺,有所创造。世界上最著名的程序员之一 why the lucky stiff (_why) 先生曾在推特上说过这样一段对我影响至深的话:

when you don’t create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create.

(当你停止创造,你的才能便不再重要,剩下的只有品味。而你的品味会裹挟你,让你变得排斥他人。所以,创造。)

而编程,正是这样一门手艺,一种艺术,一种最适合我在大学本科作为专业学习的创作手段。我相信编程是门艺术,虽然我知道它与其他更传统的艺术形式相比有很大不同——更多时候它是以用户需求为创作导向的——但我仍然认为这里有非常广阔的创作空间和艺术美感。《通灵芯片:计算机运作的简单原理》中对编程作为艺术有如下描述:

程序员的艺术是把心中的构思精确的描述出来的艺术。

对于每种计算机语言,都有莎士比亚级的大师。读它们编写的源代码无异于一种享受。一个编写的好的程序,同样具有风格、技巧,甚至幽默——条理之清晰可与最优秀的散文媲美。

我想编程,是一个足够大的平台,足以满足我对艺术和创造的兴趣。


_why先生的自画像


现实

兴趣很重要,但同时也要考虑到现实的因素。我相信未来的世界是属于软件的。2011年美国著名风投Andreessen Horowitz创始人Marc Andreessen的文章 Why Software Is Eating The World 中预测了软件吞噬世界的大趋势。我相信在未来,软件行业将会变得越来越重要,对优秀的程序员和软件工程师的需求将会越来越大,他们的待遇和薪资会越来越好,地位越来越高。而更重要的是,我认为软件行业的工作者与科学研究的工作者不同——勤奋与能力相比运气占据更重要的地位——或者说更有确定感,发力点更明确。因此我相信自己能够通过努力成为一个优秀的待遇不错的软件工作者。虽说要“工作上讲究,生活上将就”,但客观的讲,我认为自己是工作生活都比较讲究的人。我绝非一个沉迷物质享受的人,但我还是非常看重物质生活的品质。这不是什么值得骄傲的事,但坦率地讲是我对自己的认识,是我想要学习软件工程专业的理由之一。


理想

除了兴趣和现实因素外,更加宏大的理想和愿景也是我选择软件工程专业的重要原因。

参与到世界的秩序设计中

事实上,我相信目前的世界已经不只是被软件吞噬,更可以说是在被软件重新定义1。越来越多的行业开始用软件替代传统的人力劳动,世界虚拟化的程度越来越高。世界将会因软件变的越来越有秩序,而我非常渴望能够参与到世界的秩序设计中。我有一个伟大的构想:实现出这样一个搜索引擎,它能够读懂自然语言,并提供一切客观可知世界的答案。比如某个地铁站的第几个闸门离出口最近,某一首音乐的作词编曲或者录音师是谁,奥莱莉亚内莫尔在1972年创作的画作《白色骑士》长什么样(我在上海的蓬皮杜现代艺术大师展上看到后印象很深,回来后却查不到了)……这些问题完全不涉及主观因素,也许经过一定程度的调查都能知道答案,那么为什么不能有一个搜索引擎可以为我们提供所有的客观信息并且不需要任何所谓“搜商”呢?试想这样的世界将会是多么高效而美好。当然我知道这只是一个构想,要实现还是有很长的路要走,包括人工智能和机器学习技术的发展,还要满足一定的商业逻辑,平衡各方利益,等等。但我愿意为之付出努力,因为我相信它的实现能够实现一定程度的信息平等,即我所理解的现代社会真正意义上的平等。学习软件工程,进入软件行业无疑会对实现这一理想有很大帮助。


奥莱莉亚内莫尔,《白色骑士》,1972

以计算机为创作工具,成为一名艺术家

成为一名杰出的软件人才是我的职业目标,而成为一名真正的艺术家则是我人生的终极追求。这两者并非平行线,我相信掌握计算机和编程技术可以对我今后的艺术创作有所帮助。软件工程师、艺术家Golan Levin在Ted上的表演让我惊叹不已,他的艺术家网站更是令我看到了新的人生可能性。我渐渐产生了利用计算机来成为艺术家的想法。这个理想可能听来更加虚无缥缈,所谓艺术家并不指向某种特定的艺术形式,只关乎个人对世界和自我的探索和相关的艺术表达;而在这种情况下,计算机是最佳的创作工具,我相信它有无限的潜能,只要具备足够的知识和技术,它能实现各种各样的艺术创想。而学习软件工程专业,无疑是我在这条道路上的最佳选择。

Golan Levin, Augmented hand series, 2014


最后

这篇文章作为我的第一篇博客,其实并不是为了要提醒自己“不忘初心”。我一直不相信什么“初心”,我觉得所谓成长,就是不断否定过去的自己。所以可以想见,将来的我也一定会对这篇文章的某些文字感到幼稚,甚至嗤之以鼻。都没关系。以上只是我当前的一些想法,而非要指导我接下来的整个生涯。希望自己在未来还是要时刻保持理性,不断思考前进的方向,然后记录下来。不怕被打脸,持续的成长。


  1. 参见:微信公众号:歪理邪说. 作者:霍炬. 《为什么你招聘不到程序员,以及软件如何定义现实世界》 ↩

我为什么要转到软件工程专业相关推荐

  1. 计算机科学软件工程专业大学排名,2020软件工程专业大学排名及录取分数汇总(2021理科生参考)...

    选择科目 测一测我能上哪些大学 选择科目 领取你的专属报告 > 选择省份 关闭 请选择科目 确定 v> 计算机科学与技术和软件工程专业都是国内比较热门的大学专业,那么2020年软件工程专业 ...

  2. 让思考成为一种习惯:一位软件工程专业学生的大学生涯规划

    背景 三年前误打误撞进入一所二流大学,接着糊里糊涂的转入软件工程专业,由此而成为IT界的一员.浑浑噩噩的过完两年,发现自己把自己给弄丢了,很迷茫,很颓废,很屌丝.一次巧合的机会接触了我真正的第一门编程 ...

  3. 杭州电子科技大学保研计算机,杭州电子科技大学计算机学院软件工程(专业学位)保研条件...

    杭州电子科技大学计算机学院软件工程(专业学位)保研条件信息,是考研之前需要获取相应的考研信息,比如考试大纲.招考专业.招考目录等等基本信息,这些内容是进行考研前期工作的必要准备.考生可以从各院校的研招 ...

  4. 软件工程领域相关的技术标准_女生是否适合学习软件工程专业,以及是否能够有好的就业机会...

    首先,当前IT互联网行业有很多女性从业者,这些女性从业者的岗位分布也非常广泛,包括程序员岗位.产品经理岗位.UI设计岗位.测试岗位.运营岗位等等,所以当前女生学习计算机相关专业是完全可以的,未来的就业 ...

  5. 软件工程专业(互联网应用开发与优化方向)软件工程实践二环节教学大纲

    软件工程专业(互联网应用开发与优化方向)软件工程实践二环节教学大纲 培训课程 Phthon Web开发 实训公司 XXX 总周数 3周

  6. 软件工程专业实习可以做什么_想要获得软件工程实习机会? 这里有一些想法可以帮助您...

    软件工程专业实习可以做什么 by Tatiana Doyle 塔蒂亚娜·道尔(Tatiana Doyle) 想要获得软件工程实习机会? 这里有一些想法可以帮助您. (Looking to land a ...

  7. 带你一起学习实用计算机英语!(IT行业、四六级党记起来)《软件工程专业英语》第二单元的重点词汇+名词缩写+重难句+软件需求规格说明

      英语是全球IT行业的行业语言,英语技能是IT行业最基本的技能之一.因此熟练掌握相关英语技能对于发展职业生涯具有积极的作用.   <软件工程专业英语>适用于高等院校软件工程.计算机科学及 ...

  8. 带你一起学软件工程的专业英语!(IT行业、四六级党快记起来)《软件工程专业英语》第一单元:启动软件项目——单词、短语、名词缩写、难句、备忘录的基本格式样本(必备技能)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究)   英语是全球IT ...

  9. 为什么喜欢软件工程专业_为什么我喜欢自由软件

    为什么喜欢软件工程专业 欧洲自由软件基金会(FSFE)是支持和促进自由软件使用的慈善机构. 他们最新的2017年收支报告显示,除了基本基础设施成本,公众意识, 法律工作和政策工作之外,他们的许多工作重 ...

  10. 北邮 复习 软件工程_软件工程专业最厉害的32所大学,共分4个档次,第一档当之无愧!...

    每一年的高考中,那些热门大学和热门专业都是最吸引人眼球的.读一所热门的大学,读一个热门的专业,就能赢在大学的起跑线上.2019年的高考就要来了,今年又会有哪些专业成为热门专业呢?在众多的专业中,有个专 ...

最新文章

  1. AIOps-一位研发工程师的学习笔记
  2. 磐石云服务器_磐石云爆款高防云服务器3年仅699元 限量100台 BGP线路 1核2G
  3. 小时级部署,客户数上千,神策数据的私有化部署靠什么取胜?
  4. Java基础篇:对象拷贝:clone方法 以及 序列化
  5. 到天宫做客(2017寒假培训测试压轴题)
  6. 趣文:如果编程语言是车
  7. python--线性回归
  8. curl error code 60 51 代码解决方式
  9. 俄罗斯方块游戏设计的有关问题
  10. 图形界面编程成就了C++
  11. FastStone Capture无法录制系统声音解决方法(win10)
  12. 【解决方案】IGCCTray.exe参数错误
  13. UGUI ContentSizeFitter 嵌套 适配
  14. 网络攻击知识之几种IP地址攻击方式
  15. UniApp 小程序实现PDF电子签名 拖拽
  16. 华为鸿蒙系统支持19款机型 有你的手机吗,华为鸿蒙OS再生变数,首批只有19款机型可升级,有你的手机吗?...
  17. python virtualenv迁移,迁移virtualenv环境
  18. 如何使用WordPress建立亚马逊会员商店
  19. ▷Scratch课堂丨模拟物理算法:万有引力、曲线运动,值得您的收藏!
  20. 关于J2EE,J2SE,J2ME

热门文章

  1. “Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000005C8ECFFA80 处。”
  2. 一元钱一瓶汽水,喝完后两个空瓶能换一瓶汽水,问:你有20元钱,可以喝到几瓶汽水?
  3. 手机二维码应用潜力无限
  4. Scan Context 学习记录
  5. Python自省机制
  6. APP微信支付java demo
  7. EXCEL表格将两列数据进行排列组合
  8. http 405错误
  9. MAC下串口助手合集
  10. [Python人工智能] 十八.Keras搭建卷积神经网络及CNN原理详解