终于我也是个20岁的人了。感觉20确实是一道坎,以前从17到18,唯一的感觉就是玩游戏没有防沉迷了(而且可以理财了);从18到19,只不过是从大一新人成功过渡到了大二“老生”,眼光都还是放在学校内的。从19到20,或者准确的说是从大二到大三,给人感觉就像突然之间,一个无忧无虑的大学生也开始为将来的工作事业家庭感情做打算,就像是突然有了一丝烟火气息。
序
理论上一年就是一年,不会长也不会短,但是这一年却让我感觉比上一年过的更快。跟大一比起来,大二这一年我愈发感受到来自就业的压力,看到上届的前辈们为大三的暑期实习忙碌,我也隐隐有一种将来出去找不到好工作的担忧。
说来惭愧,大二这一年也没有什么特别大的成果。上学期主要是计划奖励自己,在忙完蜗壳后确实需要一段时间恢复一下。这个学期就有点尴尬了,课程大作业太多了,自从五一长沙游回来之后就一直沉浸在期末月的氛围中。特别要提的是两个学期都有创新实践,都是这个闸总压榨了我的工作时间,WDNMD。下个学期通过一些操作,应该可以实现一周4休,这样就有时间专注自己的小事业了。
这个学年总结,技术方面的可能主要就是在课堂上学的知识吧,虽然不见得以后会用,但也是有所收获的。
虽然说起来有点苦涩,但是实际上还是总会在劳累之余奖励自己出去玩吃点好的,在自闭的时候也还是会很快恢复回来。四舍五入还是幸福的。
其实想一想大家也都差不多。这些困扰也都是到了这个年纪就随之而来的。
我很喜欢看《向往的生活》(而且也成功安利子轩看向往的生活),一方面是喜欢在这个年纪的浮躁里找寻一点治愈,另一方面是我也有着同样的向往。如果说有一天我不想写代码了,我希望能够经常给家里人和朋友们做饭。很多时候真的很向往自己四五十岁的生活,想迫不及待地看看自己以后会怎样给年轻人指点迷津。
如果说对下一年有哪些期盼,我首先希望大家都能好好的,不要有太大的波折。然后希望能够圆满完成蜗壳二期的工作,然后一年后的现在能够找一份满意的暑假实习。
以上。
第一章 · 关于我的专业
对计算机专业一些普遍的误解
“为什么好多人高考填志愿的时候没有明确的目标就喜欢选计算机呢?”
答案当然是因为它现在算是热门…热门的结果就是这样,特别是对于男生,可能高中的时候只想过自己会读工科,然后填志愿一看:机械、化工…emmmm…第二产业的东西,有点看不上眼,想要爬点“高端”的专业。然后再一看:计算机?可以名正言顺地玩电脑,就它了!于是半个月后收到了一份来自计院的邀♂请。当然这是我脑补的,不知道实际的情况是啥。总之,计算机在大多数院校应该都算是大型学院,人多了什么样的理由都会有,同样的,什么样的目标也会有。
如果在看的你也恰好是学计算机的,可以跟着做一下下面几个问题。
第一个问题:你以后会从事计算机方向的工作吗?(这是一个影响深远的选择)
如果不会,那大学时光可能只有期末能给你带来压力,其他时间可以放飞自我培养自己真正的兴趣,而且恭喜你不用被下面几个问题困扰。如果会,先对你表示欣赏。如果不确定,最好不要强迫自己。
第二个问题:(开放式)就业的时候想去什么岗位?
如果你的回答是:“我想去做人工智能/大数据!”……过两年你再来回答我。
前端?后端?Android?iOS?运维?云计算?信息安全(非CTF)?算法?数据挖掘?视觉设计?产品经理?……
其实有时候也不是非得要选一个,有兴趣完全可以全都涉猎一下。那对于正常人来说,假设大二结束了,觉得没有一个是自己特别拿手的,而且也没有特别感兴趣的,那咋整?那就看下一个问题。
第三个问题:考研嘛小伙子?
家长:考!考TMD!
其实对于好一点的学校,985这些的,我并不了解,只是知道一点本校的,四舍五入应该可以代表大多数211高校吧。研究生大致有两类:面向研究的、面向工程的。如果是本科阶段(大一的不算啊,大一都是瞎扯的,人均AI/大数据方向)就想好了要去做研究的,那是目标相当明确的,祝你前程似锦。如果是本科就立志做工程的,建议还是不要骗自己了外面的世界很精彩,去公司里面学习吧。
其实能明确回答出2、3两题的应该是少之又少。我现在也只知道自己肯定不会去考研,至于哪个岗位,还没有想好。这几个问题想要表达的其实是大多计算机专业面临的重大抉择,其实没有最佳答案,只是想要找到最适合自己的那一套其实很难。特别是到了大二还没有未来的大致轮廓的,要加把劲了。
关于考研,再多啰嗦一句吧,“不要因为别人都想考研而去考研”,这是我专业学术英语这门课的老师告诉我的,我记得很牢。
关于AI,人工智能的成果是啥?是一个模型,不能双击运行的那种。人工智能的应用是啥?目前来看也就你能想到的那几样。人工智能牛逼吗?牛逼,但是再牛逼也只是个工具,甚至只是一个应用软件的一个功能的实现。
如果你还没有选计算机(19届的好像已经晚了),选之前请问一下自己996的生活是不是自己想要的。如果你已经就读而且不是计算机专业的,请或多或少接受我的羡慕。
我为什么会选计算机
众所周知填志愿的时候我目标非常明确…其实就是高中就想好了学计算机(甚至想好了以后做哪个方向的工作)
最早接触编程其实也和大多数人一样,是在高中信息课上学的Visual BASIC。在这之前我没有写过代码…所以我想就是我从第一次写代码开始就觉得这件事情很有意思吧。当然肯定不是因为觉得写VB有意思…高中的时候我学习过一点点Android入门知识,但是这并不是最可贵的。最可贵的是我不是为了写安卓App而学的安卓,而是在那个时候就萌生了做Individual Developer的念头,如何解释“独立开发者”这个词呢,按我的理解来说,Developer和Programmer是有天壤之别的,Programmer更像是偏工程、算法的技术人员,而Developer是“开发者”的意思,开发者是集成了产品经理、设计师、程序员(Dev)、运营人员(Ops)的一个综合实力极强的角色。
现在回想起来可能是因为当时我还算是半个果粉,而Apple的WWDC其实是比秋季发布会更吸引我的地方,以前的WWDC更像是开发界的风向标(近几届好像没什么特别亮眼的地方,都是系统功能的更新而已)。所以我除了Android文档,还读过当时旧版的iOS(可能是iOS 9)的人机交互设计指南。不得不说对于开发者文化这块苹果做得确实很好,苹果的文档读起来不仅没有Google文档那样还不如没有的中文翻译,而且对于“设计”这两个字的强调真的是无处不在。受此熏陶吧可能是,我感觉我在做实际开发的时候会更全面地从用户体验出发,我也坚信这才是有用的设计。
比起并不比别人好多少的代码水平,我想这才是我引以为傲的。而且很开心的是在工大我也认识了这么一帮“Developer”。
这大概就是我选这个专业的理由吧。
第二章 · 实践中的一些感想(技术向)
前端
前端真的上手非常简单。最原始的HTML+CSS+JS的框架就可以搭出一个看起来比Swing(Java GUI)、Qt(C++ GUI)不知道屌到哪里去了的界面。
但是,当前端遇上工程化,或者直白一点,接触到了Node.js,这就像是一个无底洞。
假设你现在手上有一个项目,做一个Web应用,要求是要好看一点,高端一点。你去百度“网页制作”,可能会先看到百度给你的答复:jQuery + Bootstrap,然后看着看着,学到了一个名词:“前端”,于是你去百度了这个词,接着,百度给你推了一堆在线学习网站,然后告诉你“为什么Vue这么火”。于是折腾了半天,你打算用Vue做开发,于是去看Vue官网的文档,在“安装”这一栏,你看到了一句神奇的命令“npm install vue”,你用CMD跑了一下发现需要安装npm,再去百度,发现npm是一个很强大的包管理工具,于是最后,你来到了Node.js的下载页面。
并不是说接触Node.js不好,而是接触Node.js,让你从一个入门突然变成了入土进阶。这时候你才发现你被骗了,前端不是这么简单的。前端的工程化也是一个非常有技术含量的工作。
值得一提的是有一些狂热的前端工程师,想要用前端做一切事情。于是,Facebook的React Native,ionic + Angular配套解决方案,甚至阿里巴巴的KPI项目:Weex,都出现了。号称写一个前端页面能够在全平台运行(Web, Android, iOS),看到这里你是不是心动了。其实真正开发的时候还是按需选择是否要用这么不稳妥的方案。更加真实一点地说,这些东西其实并不能帮你省去多少功夫。为什么越来越多的技术团队放弃RN,回归Native(原生),这是有理由的。或许这些框架的最大价值就是体现在大学的各种创业/互联网+/XX杯比赛上吧。
对于学前端的一些建议就是,初期的时候不要迷信各种官网上对自己框架天花乱坠的描述以及各种让人无法理解的形容词,选技术路线的时候专一一点或许是个好事。
后端
后端我其实没啥好说的,主要是自己接触也不多。只知道巨大的项目还是用Spring框架(Java语言)的多一点,说到这里想起来学校的Java EE还停留在SSR这个架构也是有点古老。自己用的话,这学期学了Servlet,也就JSP不太喜欢用,MVC的实现还是挺顺手的。至于稍微工程化一点的,PHP和Node.js应该都还是不错的选择。不过《哔哩哔哩Go语言开发实战》这套基于Go语言的解决方案也值得效仿。
然后自己的项目里面用的是Node.js + Koa框架实现的REST API,理由也很简单:
1、不想写PHP
2、电脑里有装好的Node.js
3、写JS写习惯了,ES7的async/await太舒服了
Android
说出来我自己也记不太清自己是什么时候开始学的Android,反正是高中吧,记得刚开始那会儿Android Studio还是在0.X的测试版本。当时的安卓5.0棉花糖版本。那个时候Google刚推出Material Design,安卓系统才刚跟流畅扯上关系。那个时候的安卓开发网上的资料就以及特别多了,只是可惜API Guide还没有出汉化版,所以对于那个时候的英语水平,我根本就没有太深入钻研这个东西。更何况它是用Java写的,那个时候甚至不理解MVC是啥,所以也就是搭了环境,装了虚拟机玩玩。
现在再重新拾起Android,发现整个生态还是很不错的,以前的各种Support Library如今以及被AndroidX取代,而且也有了更好的布局。一开始的时候只会用Relative Layout/Linear Layout做各种愚蠢的嵌套,现在的Constraint Layout和Coordinate Layout真的比以前用起来现代很多,也让安卓布局思想和Web前端布局有了差异化。而且以前头大的DAO,如今也有了官方的Room框架。还有各种优秀的第三方依赖,可以说生态还是非常好的。而且随着Kotlin语言逐步取代Java在Android开发的地位,以后代码写起来一定会更舒服。(而且Android Studio这款IDE也是越来越强大,越来越具备生产力了)
总的来讲我觉得写Android的体验比写前端更能给我成就感一点。而且安卓有一个官方的推荐的方向,前端后端这些都有各种各样的技术路线,对于一个选择困难症患者来讲还是挺难受的。
深度学习
这个其实接触不多,也完全是一点皮毛的东西。其实要不是因为创新实践这门课,我可能都不想碰这个东西。不过既然碰了,还是或多或少有学到了一点东西的。
创新实践做了一年的图像识别,做得整个人都傻X了。第一年大概看明白了CNN的网络搭建部分的代码,会了一点调参数。然后接触了一下TensorFlow,做了一下安卓端的模型移植。其实并没有觉得这东西有啥意思。然后第二学期就更无语了,跑通了一遍YOLO V3,但是由于CUDA的各种掉链子,训练轮数跑不高,根本给不出能用的模型。不过怎么说好呢,至少把现在流行的图像识别(Classification/Object Detection)还是感受了一下,尽管核心的代码还是看不懂,但是勉强会用就完事了,毕竟自己也不喜欢往这个方向走。
粗浅地讲一下吧,个人感觉学这个应该更像是学数学。真的想学的也鼓励你们学嗷,毕竟这个东西就业应该是不愁的,头顶凉不凉另说,我也不清楚。
第三章 · 生活上的
你看呐
我们从小小的人儿着急着长大
现在责怪岁月匆匆一刹
总说年轻好年轻人却不早点回家
等吃苦了又埋怨不提醒他
可笑吧
我们花时间怀念来不及的年华
新愁旧伤尝遍酸甜苦辣
人生有那么多遗憾随着时间蒸发
到头来也希望能说出一句
“其实我不差”
——《憾》金玟岐
非常感谢能够因为种种机缘巧合和某人走到一起,从大一开始到现在,真的挺好,有人陪伴是一件非常幸运又幸福的事情。然后还有我的这群朋友们(大致按时间倒序,不分先后):509/516的室友们、开发部的朋友、实验班的大佬们、真是逗的老朋友们、GG战队的DotAers、12班的皮皮们、9班的老年团、还有极少数初中和小学就一直要好的朋友。希望以后我也能有机会去你们的婚礼骗吃骗喝。
不过这个暑假还是过得相当凄凉。截至今日我一共和同学出去玩了 1
次…我记得去年的暑假可是三天两头就有一顿聚餐啥的,而且也能组织起来团体的超过1000公里的旅行。今年,唉,就突然之间,感觉所有人都像是去工作了一样,而且大家的时间居然也刚好完全错开,lzzscl。
第四章 · 对于未来
也许吧,想多啦
谁的理想不曾恢弘远大
现实啊,不复杂
说服你要低头别再犯傻
承认吧,是我傻
才让感性牵着理性去挣扎
等明天,太阳又会落下
也许我们就已经忘了
今天的胡话
——《才华有限公司》金玟岐
public static final String[] TAGs = {"wht"
, "少加班"
, "最好能去大公司"
, "能有多点时间去关心生活"
, "拥有一台MacBook Pro"
, "小米智能家庭"
, "跟好朋友们住的近"
, "偶尔还会想起来打几把DOTA"
, "会做一手好菜"
, "拥有洗碗机"
, "有一个设施齐全的厨房"
, "当一次伴郎?"
, "拥有一台大电视"
, "身体健康"
, "万事如意"
};
结语
Be kind, for everyone is fighting a hard battle.