想着约会丨@AKevin:《武林秘籍》在网吧广为流传,转学计算机专业的我被推荐送到了北大,不过当时小十八的高中计算机老师三线城市似乎教不了什么东西,阿凯文开始去网吧“自学”。说是自学,其实更多的是为了玩游戏。当时,他编写的游戏按键脚本就像武侠秘籍一样,在当地网吧众多“大侠”手中广为流传。然而毕业后的AKevin并没有继续写代码,而是加入了一家科研机构,完美的错过了移动互联网飞速发展的岁月,又因为怕丢了本领而跳回了这个圈子。在互联网技术圈的这些年,AKevin做过很多不同的工作,包括App的排名和推荐,跨境物流,现在是一名Python讲师。Q:你是如何走上编程之路的?其实我大一的时候在商学院,但是课程太简单了,整天无所事事。干脆把专业转成计算机,刚开始学计算机挺痛苦的。课程那么多,一个微机原理可以分3门课,还有抽象代数我根本看不懂。转专业的还有很多课要补,然后咬牙把所有的课都学完,拿到了保送北大的资格。毕业后去了一家科研机构,感觉自己完美错过了移动互联网发展最快的那几年。怕自己的coding功亏一篑,所以迅速跳槽到互联网技术圈,离开百度后,薪资涨幅会比较大。也算是找回了初心,也算是对得起自己学了这么多年的电脑了。Q:我转学了计算机专业,因为休闲课程太简单了。真是任性。那么你是什么时候开始学习Python的呢?在开发外卖应用程序时,我曾经做过工程和算法。为了兼顾算法的快速迭代,我学习了Python。学了之后感觉打开了一扇门。原来Python就是这么万能。我使用Python计算特征并运行机器学习模型。我也用Python写过脚本来爬取数据。当时外卖业务加班,我们从淘宝上爬取了很多标准的商品数据。问:你尝试过一种新的编程语言吗?你一般通过哪些方法和渠道来提升自己的能力?最近试用了Groovy,打算把一些单元测试和集成测试的代码改成Groovy。比Java方便,可以早点下班。我喜欢反思总结,慢慢打磨自己的方法论。通过CodeReview和观看优秀源码提升技术水平。站在面试官的角度偷偷告诉大家,基础差的同学可以多做题,提升自己的“钱”前景。从事业单位到技术岗位再到讲师,AKevin做过的每一份工作都可能成为某人的“人生目标”。另外,AKevin也不是书呆子,在工作上也是满满的成就感。问:教学生和从事技术工作有什么区别?这种转变是如何完成的?我从小就想当一名老师。在读书的时候,我也辅导过很多学生考上名校,进大厂。也许我有点喜欢“做一个好老师”。讲课和技巧需要扣细节。讲课怕一些细节不清晰误导学生,做技术又怕细节不清晰导致系统出错。问:你的工作习惯是什么?能介绍一下工作流程吗?不管项目大小,我都是先设计再开发,开发完了还有测试代码。做之前想清楚,提前做好框架设计。思路越清晰,工作就越顺利,出错的可能性就越小。我开发的系统很少出错,因为评估需求后,我会花时间进行系统设计。如何设计更好的扩展性,如何设计更健壮、更简洁。想好系统设计后,开始手写代码。在写的过程中,我喜欢用单元测试来验证代码,而不是每次都启动系统去请求接口。设计、开发、测试时间几乎是1:1:1。以我的经验,这样搭建的系统可靠性是最高的,能够适应快速迭代不出错。Q:下班后的哪个时刻让你最有成就感?最满意的开发项目是什么?看着系统每次上线快速滚动的日志,我能感觉到我开发的系统已经服务了无数用户。看到线上渠道用户的好评,瞬间就会有成就感。最满意的应该是模拟考试系统,它是一个免费的系统,已经服务了数千万用户。从微博上,经常可以看到用户对它的好评。看到用户的好评让我觉得自己的工作很有价值。模拟测试系统瞬时并发高,差不多10wTPS,写请求占比高。为了系统的稳定性,我为它开发了很多集成测试和验证,也会有自动化的压力测试,随时评估系统的稳定性。非常自豪的是系统在我手上从来没有死机过,每一次模拟考试都稳定的服务了几十万考生。每周有一次模拟考试。模拟考试结束后,很多人会在微博上发布模拟考试的话题。这个时候你会看到哪些用户分裂了觉得题目太难了,哪些用户很开心。模型测试结果很快发布。我又进步了,到处贴成绩单。看到很多网友在社交媒体上讨论模拟考试,知道自己做的技术真的帮助到用户了,感觉很充实。Q:有没有遇到过让你很受打击的情况?一开始,我在百度做机器学习。我经常运行模型迭代一两个月而没有改进。这时候,我会很泄气。做一个算法真的很难。在不确定性中摸索之后,我写了很多程序来自动运行模型并调整参数来适当提高迭代速度。后来觉得自己的工程能力还不错,就把重点放在了后端架构上。AKevin对自己的评价是“过度谨慎”。他觉得这样的自己做事有点笨拙和慢,但是也保证了代码很少出错。不过,他也补充说:“我个人对快和慢的理解是不同的,我的数理化都拿过省一等奖,成绩也是专业第二,我相信我不是真的傻。”我打算继续慢下来,想清楚再行动。”Q:过于谨慎的性格会让你事事都提前计划好吗?生活中也一样吗?工作计划做的不错,但是生活技能比较低。比如旅行总是计划外的,无缘无故多花钱玩得不好。我见过能力强的人,工作和生活安排得井井有条,值得深思。努力工作的同时,也要安排好自己的生活,与家人共度美好时光。AKevin在工作和学习上都没有落伍,运动当然也要跟上。他非常喜欢游泳,他甚至不觉得累。当他想做有氧运动时,他会加快速度;当他想放松时,他会慢慢游泳。AKevin说:“很多人说游泳太累,我觉得一定是姿势不对。游泳重在放松,注重人与环境的平衡,顺应潮流。我觉得人生就是这样。”“Q:如果可以重新选择,你还会选择吗?选择这个职业?当然,你可以用电脑创造产品,没有比电脑更有趣的职业了。学航天的同学,自己在家能造火箭吗?学材料的同学,能不能不计成本的做研发,实现流水生产?我学计算机,我有电脑我可以做APP,做PC端产品,批处理可重复操作,写脚本刷羊毛……这蕴含着经典的经济学原理——“完美在于所有伟大的企业,都有规模效应和低边际成本的特点。”电脑兼具规模效应和低边际成本,无数年轻人终于有了做梦的权利,一个键盘或许真的可以改变世界。it!互联网技术好找工作,大概工资是多少,全球职位差距……上网查一查吧,在现在的市场环境下,计算机的工资涨幅还是很快的,就拿普通的以二三线城市的70后为例,做了十几年的小学老师,工资从2k涨到现在的4k,收入终于翻了一番。对于普通计算机从业者,从1.5w增长到3w只需要两年左右的时间,如果你对科研感兴趣,计算机专业,不管你是做架构研究,还是机器学习理论与应用研究,目前比较感兴趣和实用的话题。也许你会说计算机没有社会资源。老实说,你觉得做基层公务员有资源吗?家里没有医疗系统的积累,当了医生就能C位出道?四十岁能当主任医师?这个社会制度的设计是一个金字塔结构,普通人能有什么优秀的社会资源。但是我是学计算机的,可以结合自己喜欢的行业去创新,赚到比较多的钱,没有原罪。青少年喜欢玩游戏,可以学电脑做游戏开发;如果你觉得人工智能很酷,你可以学习计算机来补充一些基础数学;如果你觉得金融可以让你一夜暴富,你也可以学点电脑做量化自动化模型交易,去全球金融市场感受一下大庄家的实力,比整天听金融经理说买买买强多了一些正在亏损的金融产品。AKevin谈思考:一开始我在Thinking上了一节关于面试的课,后来又上了一节Python课,收获了很多好评。师傅的CEO和CTO也多次邀请线下见面,共同探讨如何把课堂做的更好,帮助更多的开发者。师傅的价值观很正,不会骚扰用户卖昂贵的课程。我们将更多地讨论如何帮助开发人员。我也很认同这种价值观,所以一直在思考要不要迭代课程,现在正在更新一门Python课程。章节很多,从基础到实例都有,价格也很低。希望对社区用户有所帮助。小编有话要说:真羡慕这种认为学习太轻松的人。我要是有这种脑子,那我不就考上北大了。AKevin先生从事业单位到技术岗位,再到讲台。虽然没有离开过技术圈,但也算是见识过不同的风景,工作经验丰富的人。上Mr.AKevin的课一定没错!欢迎有兴趣参与采访的朋友报名,《思否有约》会记录你与编程相关的故事。报名邮箱:mango@sifou.com
