我的大学(讲稿)
大家好~我是软工 1501 的翁培钧,今天我给大家带来的演讲题目是“我的大学”。我将向大家简明的讲述一遍我是怎么在信息科大度过这四年的学习生活。
我的网络 ID 是 pjhubs
,一名开源爱好者,目前在滴滴出行任 iOS 实习生,最近自己完成了一件大事,让自己的大学生活能够圆满的画上了一个句号,我拿到了 Apple WWDC 2019 Scholarship
,这是个什么东西呢?到后边再讨论。
在开始前,先给大家看一个视频,这个视频对我影响很大……
在视频中,我们可以看出每一位前辈他们都很喜欢这个行业,。我的大学可以浓缩成三句话:
- 找到自己喜欢的事情;
- 做好自己擅长的事情;
- 不喜欢的事情我不做。
在做自己喜欢的事情时,开源了几个小的产品,总共收获 830+ star
和 120+ fork
。在这个过程中,我一直在接受“正反馈”,我从社区中汲取,然后再把自己所学回馈给社区,这是一种会让自己感到自己“有用”的状态,会刺激自己持续学习,持续输出。
在去年,也就是 2018 年的元旦凌晨,在欢庆迎来新的一年时,我给自己定了一个目标,“我要在 2018 年里打满‘小绿点’!”,之前很多人都说过,当一个人把 github 小绿点打满时,也就是每天都提交代码,那 BAT
的门票就到手了。当然,这肯定不是绝对的,但能够保证的是,当我们真正的做到了每天都在提交代码,尽可能的把小绿点打满,工作真的会找上门,在后边放了几张图。
我非常喜欢写博客,我喜欢在网络上留下自己的痕迹。在 2018 年全年,我写了 59 篇文章,今年呢截止到今天写了 20 篇文章,从大一到现在我总共写了 50 万字左右。大部分都是技术文章,还有一部分是生活的感想等一些感性的内容。文章写多了,对很多事情的看法会形成自己的一套理念,在遇到问题时会比较有次序的分析它,然后解决它。
这是我的掘金信息,我在掘金上有 1600 多个关注,只要我每次把文章发表出去后,都会得到大家的反馈,这是一个很难得的事情,用学术圈的话来说,我的每一篇文章都有几千次的同行评审,大家对我的反馈越多,我的下一篇文章就会越注重细节,越注重细节就会让自己对某个技术理解得更深入,对某个技术理解得更深入就会产出更多的文章,这是一个相当棒的“正反馈”!
上面所说的这些东西,就是想达到一个目的——打造个人品牌。我们要把自己当作一个产品去做规划,把自己这个牌子打响,而且还要尽可能的早。当时还是大一的我,对博客这种东西还不太了解,只能通过“百度贴吧”来让自己做输出,这个贴吧现在还在,叫“风暴眼工作室吧”,语言很青涩,现在看起来都是在自娱自乐,当时的想法太天真了~
如果你真的有意去打造自己的个人品牌,会发现工作什么的都不是问题,问题是你想去哪一个。
很多人通过不同的渠道看到了我写的博客后,对我目前的生活状态感到羡慕,羡慕我的时间规划,觉得我是一个很懂得生活的人,但实际上这其中的原因只有自己才明白,只能跟大家说“这是一个浮躁的时代,每个人都想与众不同,每个人都想成功,但成功的方法就是战胜浮躁”。(这话不是我说的
对技术有敬畏,敬畏技术是一件非常重要的事情,你不敬畏技术,最后吃亏的还是自己。这样的同学很多,学校教了 Java Web
,不管做什么都是 Java Web
一套全弄完,有些人会说,这说明我很熟练啊,我精通它!这是自信吗?不,这是盲目自信,最后自己的视野会变得很狭义。不会前后端分离,不考虑组件拆分,只会复制粘贴和百度,这样人能找到满意的工作吗?能不被 996 吗?最后还在怨天尤人的说“哎呀,学校只教了这些”,其实我现在吃饭的技能跟学校一点关系都没有,全校写 iOS 还能写得让自己能吃上饭的,据我所知包我在内就三个人。这三个人的 iOS 开发技能跟学校有啥关系对吧?学校只是一个平台,靠兴趣和爱好支撑起来的事业才能够可持续发展,而不是青春饭。
Apple WWDC 2019 Scholarship
是什么呢?WWDC(Worldwide Developers Conference 即“苹果全球开发者大会”)每年定期由苹果公司在美国的加州圣何塞举行(最近几年都如此),目的是让苹果公司向开发者们展示最新的软件和技术。苹果公司会在全球范围内挑选出 350 份优秀作品,为开发者颁发 WWDC 奖学金。奖学金内容包括一张价值 1599 美元 WWDC 门票和一周免费食宿、与 Tim Cooke 合影的机会以及参观苹果总部 Apple Park 等一系列福利。WWDC 可以说是 Apple 开发者的最高的技术盛会,而 WWDC Scholarship 则是所有开发者中最值得骄傲的荣誉。
我得知这个奖学金项目很晚,去年已经结束了才知道。跟随当时的奖学金得主们逛了一圈 Apple Park 和 WWDC 会场。看着这些意气风发的奖学金得主们脸上洋溢着自信的笑容,我十分的想成为这 350 位 Apple 选定的天才少年们中的一员。
今年我看到比赛消息时,只有十天的时间去做一个把自己想法的实现出来的产品,最要命的是 Apple 并没有给任何命题,完全是开放式的。如果我在这十天的时间中,使用 ML
或者 AR
来做一些好玩的东西,肯定会很粗糙。接着我又想到了 Apple 仅两年对教育文化和环境保护方面十分看重,而且 Apple 还一直是非常注重用户体验的公司,那我就来个弯道超车,通过视觉效果取胜。
最后我的作品主题是——“黎锦”,黎锦是体现黎族人三千年历史最好的证明。
我很快确定了作品主题,接着在第一天做了脑暴,确定了交互细节和主要 UI,在接下来的每一天都推进了很大一部分,就算白天要去实习,晚上回到学校后也会争分夺秒的推进进度,几乎都是跑着回宿舍。
这是最终成品中一个我比较喜欢的细节,作品整体是采用“拼图”的方式进行,当用户选择一块拼图后,我运用了数学知识,比如运用三角函数转换,做了一个“定位引擎”,帮助用户把拼图快速的放置到最近的位置。当时提交完作品后,整个人非常累,眼睛都快睁不开了,但是这十天我过的非常满足,这是我大学四年最有意义的十天。
最终的成果呢?我成功入选了今年的 WWDC Scholarship!感觉自己的付出得到了认可,自己努力的方向是正确的,自己所做的这一切都是值得的!今年中国(包括港澳台地区)共有 33 名小伙伴入选,北京市只有我一个。
可以说,这是我的“朝圣之旅”,这是我的第二次高考。说句玩笑话~如果没拿到这个奖学金,我很可能会含恨毕业。
经历过这件事情后,我更加的要求自己去“挑战‘不可能’的事”,去做一些自己曾经想都不敢想的事情。
我事后进行了总结,我到底是怎么做到两个小时把创意提取出来,十天零散的时间从 0 到 1 把一个作品做出来的呢?对技术要像狗一样,像狗鼻子的一样的灵敏。一门新技术出来以后,我们可以不需要完全掌握,但是要非常敏捷的第一时间了解它是什么,能够做什么,这就够了,在未来某些时候需要它的地方,再全力以赴的完全掌握它。
说起来很简单,遵循 MVP
模式,然后不停的锻炼,我算了一下,我平均每隔两个月左右,就会推出新的作品。不是说要把一个东西打磨得接近完美才能被众人所知,不是这样的,遵循 MVP
我们只需要保证产品的核心流程,也就是主逻辑是顺畅的即可。尽可能早的接触用户,尽可能早的用起来,如果反馈不好,我们直接放弃掉,因为这只是原型。
这是我其中的一个作品——PLook。核心功能就是识别荧光笔涂抹的区域,拍照自动识别覆盖,借用 iPhone 的 3D-Touch
压力触控功能显示和隐藏。我花了差不多一个星期时间,抱着一本 OpenCV 3
的书啃下了这个作品的核心功能,理解了计算机视觉中的常见处理方法。
这个作品是去年暑假旅行回来后萌生的一个想法,我想标记出我去过的地方,而且还可以收集自己打的点到瓶子中进行展示。瓶子理的小球实际上是会随着设备的陀螺仪角度进行移动。这个作品当时是用了一天的时间在五道口的一家咖啡厅完成的交互逻辑和 UI。这是一个完完全全按照自己的设计理念去做的产品。
这是大二报的大创。当时我突然就对硬件感兴趣了,甚至着迷到了上高数课都在刷硬件的相关内容,但是我们都知道硬件的开发成本比软件高太多了,比较好的一套 Arduino
开发套件得将近 400 块钱,我当时真的一下子拿不出这么多钱来支持自己的兴趣。无奈之下,报了大创,好在是国家级,经费比较足,玩了很多硬件的东西。这是当时结合微信公众号做的类似智能家具的原型。
如果大家也想通过 MVP
的方式锻炼自己的“嗅觉”,千万要注意最长不超过一个月的时间,要不然你会产生厌恶的心理,感觉自己永远看不到头。逼自己做出来一个原型,一个学期来个两三次,一年来个四五次就足够了,慢慢的你会发现自己对很多东西都有了独特的见解。
灵敏的嗅觉还可以来自参加各种比赛和进行开源项目,比赛就不说了,这其中的产生的效果大家想必都能明白。要重点说的是,我曾经也非常缺乏重视的开源项目,曾经我也认为没什么好开源的,后来经过几次 MVP
的练习后产生的成果不忍心丢弃,就想到了可以借用社区的力量去完善它,后来在 PLook
开源时,经过几位 iOS 界大佬的宣传,冲上了当前 github repo Objective-C
语言分类的全球第一,那天晚上开心得睡不着,后续在学习 Flutter
时也把成果进行了开源,冲上了 Dart
语言的全球第五。
我还会经常性的参加一些社区的活动,比如 GDG 的“女性开发者”节,担任《Python
从 0 到 1 》的助教,协助女性学员学习 Python
。
这是去年 ifLab 社团和思特沃克以及全国 13 所高校同时举办的“女性一日编程”活动,我和 ifLab 社团的几个小伙伴担任了活动的教练和助教一起完成了这个活动。
这是去年参加 @Swift
大会时的活动照片。当时这个活动据说是来了中国 Swift
界的半壁江山,认识了一些有趣的小伙伴,也学习到了很多,重点是和自己的偶像合了影。
这是前年参加 Qcon
大会志愿者时的照片。Qcon
的门票七八千人民币,如果你是讲师助理志愿者,就可以坐在全场最佳的位置去听。每次去 Qcon
都感觉自己学的假的计算机,根本听不懂,我刚从 Qcon
做完今年的志愿者培训,明天是 Qcon
的开幕,我要去参加三天的 Qcon
志愿者,同样也是讲师助理,希望今年能听懂一些吧哈哈哈。
其实当时我还加入到了学校的志愿者联合会,呆了一年多,跟着志联参加了很多有意义的活动。
学会放松。放松不是指的回到宿舍直接葛优躺开始刷手机,而是要学会让自己多走出校园,接触更多事情,从而激发自己的灵感。我是 798 的常客,天气很好的时候会去一次,有特殊的展览会去一次,突然想骑车了去一次。能够让自己领略到不一样的世界。
在经济条件允许的情况下,要走得更远,读万卷书,行万里路。每一个地方的风土人情都会在未来的某一个时刻激发你,前面给大家展示的旅行打卡的产品就是在去青海湖的路途中萌生的。
这是跟舍友去的新疆之旅,这是我第一次去祖国的西北地区。
这是陪伴了我两年多的小山地。我骑着这辆小山地几乎把北京城逛了一遍,最远的一次骑去了昌平,来回 60 公里。推荐大家夜骑长安街,这么大的长安街上没多少车,骑车特别爽!
这就是我说的学会放松。
现在呢,我步入到了“自我实现”阶段。去追求做一些能够实现自我价值的事情。
在进入“自我实现”阶段之前,我还经历了这几个阶段,刚开始的“怀疑和恐惧”,知乎上流传过这么一句话:穷人的孩子学计算机,富人的孩子学金融。在这里我所理解的穷指的是视野窄。因为现在真正意义的上穷人很少很少,穷到揭不开锅,穷到没有饭吃就更少了。如果每天接触的东西都是差不多一样的,视野就会变得比较小,来到信息科大后每天都接触到了不同的东西,就会开始怀疑“什么?事情还可以这么做?”,后来我慢慢的接纳了这些改变,而不是恐惧。同时也找到了自己喜欢的事情。去坚持做自己想做的事情,去做一些事情回报社区,比如协助翻译了 Swift
4.2 的中文文档,目前还准备帮助社区翻译 Python
一些相关库的中文文档,不得不说,翻译真的是一个增长英语的好姿势。大一的时候因为我看不懂英文,当时只认百度,大二大三的时候,慢慢切换到了 google,发现 google 真香,但还是在看中文的资料,到了大四,慢慢发现自己在研究的东西中文资料极少,甚至都没有,到现在能看英文资料就不看中文资料。不是说中文不好,而是有价值的太少了,都在抄,从简书抄到 CSDN,从 CSDN 抄到百度知道,没法搞。到现在是自我实现,到现在有能力对自己不喜欢的事情做不,有能力去做自己喜欢的事情不算能力,很多时候这是逃避,而有能力对自己不喜欢,不想做的事情说不,才是能力。
现在,我的闲暇时间主要在做的其中一个事情是开发 Vary
app,它是一个“轻量级的社交网络,重量级的创造工具”,Vary
是 17 年的时候作者 dandy weng 在宣传 Vary
测试版,我给自己争取到了一个测试名额。使用了快一年多的时间,在去年 8 月份的时候发现了一个复现周期比较长的 bug,当时跟 Dandy 聊了一会,他直接邀请我加入 Vary
开发组!我二话不说立马加入,这种感觉真的太棒了!
这几张照片呢是在一家宠物公社拍的,这家粉色的宠物公社叫 PIGPEN
。在去年年初的时候,社长找到我,想让我给公社做一个小程序,我和社长是在我之前的实习公司认识的。我们讨论了一下要现在已经未来要要做的事情,发现小程序无法满足需求,最终决定做一个 app。做到现在,这个产品成为了我的毕设,当初想要做这个事情一方面是想要拓展自己的知识面,第二个是宠物行业目前发展态势十分良好。
这是产品设计图的小部分截图。
现在呢,我变得更加开放,并且会找尽一切办法让自己输出,去沉淀自己的所学,从而激励自己朝着更好的方向去完善自己。
我的实习生涯经历了四个个阶段。可以说在这四个阶段中,我把差和好都体验了一遍。
迈出面向社会的第一步是在大二下刚开学那一会儿,群里有位学长在发布一个外包,仅仅只需要写一个 iOS 客户端,并不需要做其它额外的事情。这个机会被我抓住了,当时心里只想着能够让自己通过技术来赚到自己的第一桶金。
在后续的开发工作中,因为我相当于是乙方,做的东西上有很多需求不明确的地方,要不断的和甲方沟通。
不过最后还算顺利,自己通过所学技术赚到了第一桶金。现在想起来这快一个月的时间让自己感受最深的是转变了自己的思维,也认识到了只待在学校里是一件多么可怕的事情,待人接物和学会说话是一件多么重要的事情。
随后又有一位学长(暂且称为 X 学长)在群里发布了招聘 iOS 和 Android 实习生的消息,我立马联系了这位学长。
到了面试当天,学长问了我都做过什么,我一五一十的把自己的所有都展示了出来。在学校等了一两天,学长说通过了,当时开心不得了,大二的我已经可以出去实现了!
但对于当时的我来说每天也是开开心心的来,开开心心的回去,因为每一天都在学习新的东西,让我完全熟悉了 iOS 中的 MVC
架构到底是怎么回事,同时也熟悉了工厂模式等一些之前完全没听过的设计模式。换句话来说,这段两个多月的时间,我是去熟悉 API 的哈哈,给自己一个大量练习的机会。但我经历过后,不推荐大家去外包公司实习。
后来暑假快到了,又踏上了找实习的道路。在这次找的实习中,我的胆子放大了很多,投了看上去好像挺不错的公司。当时自己还是没有习得多少面试套路,基本都是被面试官带着耍,自己之前做过的很多东西都没办法去展示。
在京东的面试让我感到最意外,整体非常舒服,确实是对准在了 iOS 方面上,也确实是让我说到了自己不能说为止。面试官在最后推荐了我几本书去加强基础,非常感谢他!当时我更愿意去接触实际生产环境中遇到的问题,通过遇到的问题来折射出我应该去学习什么知识,这样有目的性的学习动力会更强。
随后在蜗牛睡眠的面试中经历过了前几次的教训后,我借用了“还是大二,目前还有很多东西需要继续学习”等的思路对待一些我回答不上来的问题。非常高兴的是,一两天后我得到了 HR 小姐妹的回复,下周可以直接入职。
boss 给我和另外一个同为实习生的同学开了一个新的业务线——游戏。我们选择了使用 Cocos2D-X
这个跨平台游戏框架。
正是因为在蜗牛睡眠的这段游戏开发的经历,对游戏开发有了一个完整的认识,理解了一个游戏是怎么从无到有开发出来的,也因为这是一个全新的产品,也让我学习到了如何去与团队中的其它同学进行沟通,如何跟 UI、PM 等同学进行描述自己遇到的问题,同时也熟悉了如何在 App store 上架一个 app,也收到了苹果爸爸发来涉及抄袭的邮件。
经过了蜗牛睡眠的实习后,我已经大三了。从新疆旅行回来休息了一个多星期后,我原本想着让自己继续休息,但某个夜晚难以入眠,又开始思考起了我大学的意义。最后我打开实习僧,浏览当时在招的实习生岗位。有了之前的实习经验后,我开始关注大厂,比如爱奇艺、美团、滴滴等。
最后,我选择了滴滴,直到现在我还在滴滴,并且已经拿到了滴滴的秋招转正 offer。仔细一算,到今天为止,我在滴滴待了一年半。在这个过程中,我的心态慢慢的发生了很大的变化。
到了大四后,我专注在挖深自己的技术领域,在这个过程中,产出了一些成果,分享到各种技术社区中,这会经常的给我带来惊喜,比如会不断收到猎头或者各个公司技术人员的工作邀请,正如前面所展示的百度、头条、快手等的工作邀请。但是,经过我自己的个人考虑后,还是选择留在了滴滴。