全栈不仅是会开发那么简单

许多“有抱负”或者热爱编程的程序员,对全栈工程师可能都是孜孜以求。全栈是一种极客精神,对软件的每一种编程语言、每一个开发平台都有着浓厚的兴趣,并愿意为之付出努力,全栈工程师应该对软件各个方面都有广泛的接触面,对软件有深刻的洞察力,这种广而深的见识将让我们开发出更加高效率地开发应用。

我们周遭的人对全栈的描述往往是“我熟悉C/C++,java;swift,Ruby都会一点,还能开发IOS、Android、Windows应用,Web前端后端都做过。用过这些框架:……”

全栈元素周期表,来自[xebialabs](https://xebialabs.com/periodic-table-of-devops-tools/#rd)

是的,在没有接触ThoughtWorks之前,我对全栈的定义就是这样的,什么语言都“会”,至少写过,各个平台上的开发都有经验。在这种定义下,我会略自负地讲自己算是一个全栈工程师吧。甚至,哈哈,除了上面讲的这些,我还开发过硬件平台上的软件(Arduino),自己用PS为自己的Android客户端设计过界面、图标,鼓捣过图标字体。是呀,想想这就骄傲,突然发现自己会那么东西。(当然了,理性地讲,其实自己心知肚明也就是“会一点”。)

窃认为我本人是一个对生活比较有想法的人,当我发现生活中有一些可以用软件来解决问题的时候,我喜欢自己开发出软件来解决:比如 我曾因为看到大学请假不方便,然后开发出给学生、辅导员、任课老师使用的请假APP,这个最后作为我Android开发实践课的大作业作品,老师打了100分;由于学校会经常让学生签到,我和几个同学利用微信公众号首先让学生在微信上签到并且获取他们的地理位置;由于在火车上无聊,我和几个同学做出一个在火车上搭建局域网然后借助我们的系统让乘客在火车上点餐、看电影、看火车沿途风景直播、到站提醒的应用……。在这个过程中,我得到很大的满足感和成就感,也学会了更多的软件技术,似乎离“全栈”更近了一步。

产品不仅是有想法就去干,而是持之以恒的打磨,它许多软件开发的多个角色地合力完成

暑假在腾讯实习的两个月,学习到的技术实际上是其次的;甚至因为实习颠覆了之前对BAT神一样存在的看法。他们的代码质量的确很高,但是并不是不食人间烟火,他们也会写Hard code,也会满百度、谷歌地贴代码。实习中让我看到的更多的是,一个好的互联网企业善于让多个角色之间进行良好的互动,它有一个成熟地为开发代码而做的系统;与我们在学校里不同的是,一个来自与产品和测试的需求、Bug工单流传到开发有一个完善严格的流程。

我做过的许多东西,实际很多都没有投入使用,仅仅是自己的自娱自乐,一个软件产品真正投入大规模使用,需要大量人力去做产品、运营。然后,我热爱开发,但是觉得产品、运营是个麻烦事。

入坑越久,你以为越渊博,实际上不自知视野变小了

校招,加入了我一个很喜欢的公司:ThoughtWorks(TW),TW是一个崇尚分享的公司,她期望我们把我们自己的想法用文章的形式表达出来。在周末时间,公司安排了职前培训,其中有一项任务是让我们在简书上写我们的学习过程、分享心得感受。同时公司的培训团队(“思沃大讲堂”)还会定期统计我们的文章,统计方式是做了一个爬虫抓取简书上的文章信息然后汇总输出报告。

当时,我正在学习Ruby网络请求的知识,看见每周一次发来的文章统计报告,我就萌生了做一个Ruby爬虫的想法。做出来以后我输出了一篇文章到简书,负责TW培训的李鹏大哥(下称“总理”)看到以后,便决定让我的代码来做帮助同学们统计文章的工作,之后让我专门成立了一个小团队:思沃大讲堂爬虫项目组
我最初想成立这个项目组的目的,帮我们统计文章只是其一,更重要的是我想通过这个项目带动自己的Ruby学习进程。而总理的目的则是,希望学习项目开发的过程,让更多的人参与、合作。

到今天,几个月过去了,虽然爬虫组虽然基本能定期给参加思沃大讲堂的同学们发送一份统计报告,但是远远没有达到初衷。个人的出发点,本来想把报告做的更漂亮一点,页面中加入一些图片、报表等直观的视觉效果,加入文章排行提高同学们的活跃度,通过简单的算法实现好文章、优秀作者的推荐,找出最贴心的小buddy等等。从这些我想达到的初衷讲,这个项目显然失败了,而失败的原因,也正是总理 想要我们通过这一项目培养的项目开发、交流合作等方面的能力不足。

这个项目中,作为项目发起人,我最早为项目勾画了一个蓝图,搭建起项目的框架。一个在自己看起来很简单的一个需求点,对于自己看来实现起来也十分简单,但是传达给项目成员并实施却十分困难;首先,对于项目发起人,可能会根据自己的一些经验提出一些需求点,虽然这些需求在提出时就经过自己的大脑过滤是可实现的,但是对于没有相关经验的其它团队成员来说,他们认为的可不一定有那么简单。作为作为软件工程科班出身的学生,在我们“稚嫩”的认识中,软件的世界里似乎只有程序员这一个角色,当然“只有”这个词说的太偏执,诚然我还知道产品、测试、运营、运维等角色,但是长期囿于学校里小型项目的学生,往往长期忽略了产品甚至测试的重要性,产品,提需求的是我们;测试,我们写代码的自己测,不重要的地方就省掉吧;运维,随便搭个服务器呗。我们把软件开发的绝大部分重心放在开发上面,做软件就是开发,这一意识的植入,将会导致深重的开发本位思想,或者做事情的都站在开发的角度。比如作为一个项目发起人,我负责这个项目要实现什么样的功能,带着开发思维,是这样提“工单”的:

实现数据库中插入和更新文章信息(封装成一个方法),用于以后在爬虫抓取文章信息后直接调用

甚至我还会写明大家使用Sqlite3数据库。这样的工单开发思维就比较重了,作为项目发起人、作为产品、作为BA(业务分析),这样的单子就严重越权了,我们的职责应该是作为一个角色,要达到什么效果,这样做有什么价值(As a role,I want to …, so that …),具体怎么做应该交给开发,而不是用什么技术都要规划好。当总理指出我的错误,我却依旧带着“开发”的思维来规划项目时,我想我“入坑”依旧了。

或许,对于一个个人项目,我们可能有非常清晰的意图知道自己接下来做什么,然而,做一个较大的项目始终依托团队来完成,作为“世界上最复杂的逻辑实体”,软件是越来越难被一个人完成的。

我所看到“市面”上的“软件工程师”,坦诚地讲,往往等同于“码农”,或者通俗地讲就是“写代码的”。写代码,码农,从“软件工程”的学科定义来讲,并不能算的上是软件工程师的,更谈不上全栈软件工程师。作为一名“科班出身”的“软件工程”专业的学生,教科书上的定义翻译成通俗点的话是这样的:用工程化的方法来开发软件

而我想,作为工程,应该是怎样规划“施工”,怎样管理团队,怎样让工程更加高效、有序地进行,而这正是软件工程师区别于“写代码的”之本质所在。而全栈,也不仅仅是局限于开发技术上的全栈,而是包括业务分析、项目管理等等软件工程应用上的全栈。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容