本期对话嘉宾:@Loco
访谈编辑:芒果果前端
Loco 是目前我采访过的最年轻的程序员,虽然才 22 岁,但从基本的软硬件到产品设计到运营再到安全、风控、区块链、边缘计算等各类领域都有涉猎。ios
与他的对话能够明显感受到那种年轻人的张扬和「天才性格」中常见的「愤世嫉俗」,用一个烂俗的词来讲应该是有点“愤青”,会由于网上杠精的发言气愤,甚至花几天时间和对方讲个清楚。程序员
然而他却将本身评价为“菜鸡”、“咸鱼”,这与个人预料彻底相反,彷佛不该该是如此意气风发的年轻人对本身的认知。但看到他对待工做的态度是那么认真、细致、慎重,让我从新审视了 Loco,但我已经不敢轻易对他作出判断和评价,只能从更深刻的交流中慢慢了解这个年轻的程序员。shell
Q:尝试用两种不一样的方式介绍本身。编程
没有两种,只有一种。segmentfault
对外统一介绍文案:98 年的前爬虫工程师、现全干工程师、BUG 体质携带者、NightTeam(夜幕团队)成员。知识面貌似算很是广的那种,从基本的软硬件到产品设计到运营再到安全、风控、区块链、边缘计算等各类领域都有涉猎,擅长将多领域知识整合起来进行输出。windows
Q:所在公司和职位?后端
目前在一家处在区块链行业中的创业公司——幂度 Midu,一开始是做为爬虫工程师入职的,不过如今公司业务调整,其余的啥活也都干过一些,因此通常对外我已经自称是全干工程师了。安全
Q:何时开始接触编程的,契机是什么?网络
小学玩 DNF 的时候看到别人开外挂全屏轮子刷怪很牛,而后就学着用易语言写外挂本身玩了…
不过有一说一,易语言写外挂之类的东西是真的简单,不少东西别人都给你封装好作成模块了的,小学生看着教程都能本身写出来,并且玩过金山游侠之类的内存操做工具的话本身加一些功能均可以。
不过如今想复制这种操做确定是不行的了,之前安全行业里作反外挂、反逆向这些方面人的还很少,如今若是不是一个专门的团队每天对抗都无法作。并且因为警企联动加上法律完善,作这种事情还很容易被抓 hhhh。
Q:小学就尝试写外挂了,当时有没有特别自豪的感受?这算是兴趣的启蒙吗?
好像当时没有特别自豪,由于主要是别人的封装的好,内心有 x 数 hhh。兴趣的启蒙可能更早吧,只不过不是编程相关的而已,在学写外挂以前就已经有过研究 windows、bios 各类功能、尝试写脚本实现一些效果的经历了。
Q:掌握的技术栈?目前主要使用的编程语言是?
技术栈比较普遍,平时喜欢折腾些东西,加上以前作写爬虫的时候反爬对抗搞得也不少,因此基本上啥都会接触到,一我的从产品设计到出 Web+APP+ 桌面端的成品再顺带把运维、CI/CD 之类的全作了都没问题…目前主要用 Python 和 Go,偶尔用用 Javascript(写前端)和 Lua(写 openresty、kong 的插件)。
Q:作爬虫与其余开发岗位有什么不一样么?
作爬虫这种逆向开发岗位的人一般思考问题的方式要与作正向开发的彻底不一样,若是你不懂得逆向思惟的话你会很累。
并且作爬虫会用到不少不一样领域的知识点,若是知识面不够广,在碰到一些难搞的东西时你可能都想不到解决方案。固然这方面目前方法论也挺多的了,主流的一些操做通常都能找到对应的、统一的方法来解决。可是,总会有些能让你感到匪夷所思的东西,这时候若是你能想到一些骚操做的话极可能就是降维打击了。
Q:爬虫如今很火,也有不少人想转行作爬虫,对此你有什么见解?
我不建议转行作爬虫,特别是不懂技术的人和思惟方式已经固定死了的人。实在有兴趣最好先学一段时间试试,若是学习效果能够,也能解决一些有难度的问题再说。
Q:您在产品设计、安全、风控、区块链这些领域都有涉猎,那么从我的的角度来讲最驾轻就熟的是哪部分?
最驾轻就熟的应该是大局观和思惟方式?毕竟在知识面广了以后不少东西实际上是能够直接想到的。
Q:目前接触的技术层面比较多,之后会专一哪一方面?有什么规划吗?
目前没有专一某一方面的打算,由于比较倾向于给本身干活,专一某一方面在这种状况下不太合适。
Q:工做中最常使用的几个工具是什么?好用的插件推荐?
最常使用的就Jetbrains全家桶了吧,还有就是Xshell,爬虫方面的一些工具以前写在文章里了,这里就不提了。插件方面基本上是用啥装啥,目前没有什么感受是必需品的开发相关的插件。
Q:最近有没有尝试新的编程语言?
没有,目前用的几个编程语言暂时足够了,其余的像C、Java之类的都是用的时候临时对着文档写,反正基本上是差很少的,不会有啥问题。
Q:分享一下你的工做流,有什么我的的特别的工做习惯么?
先弄清楚需求,而后大体看一遍作这个东西的麻烦点、耗时点在哪,在脑子里列个清单,而后再对一些须要细化的东西提早用伪代码/文档/思惟导图的方式作一下设计,最后再开搞。
没啥特别的工做习惯,这种工做流应该仍是挺多人在用的,虽然麻烦点可是习惯了以后能作到对空填答案的感受,作起来的时候会比较舒服。
Q:有什么高效学习的方法么?
高效学习方面,其实每一个都有本身的方法,但核心的点其实仍是多作、作本身想作的,用欲望(兴趣、利益等)来驱动学习,只要你真的很想学,那天然就会很高效,也天然能记得住。
Q:目前为止最满意的开发项目是什么?
以前搞的一个公司用的爬虫框架,特别针对公司需求设计了快速添加简单难度的资讯网站、快速添加新的链(区块链)的功能,对难搞的一些网站和 APP 也作成了模板化添加的处理,而后其余的监控、推送、开放 API 啥的基本操做也都作了,能够说是我作爬虫几年来弄过最完整的一个项目了。
可是,这玩意用了应该是才一两个月就被迫吃灰了,由于搜索引擎项目直接被砍掉了…
Q:工做以后有哪一个瞬间让你以为颇有成就感?又有哪一个瞬间让你“怀疑人生”?
成就感这东西不论是在工做以前仍是工做以后,都始终是本身作了点什么有意思的东西或者把什么东西的流程搞通了的时候会出现。
怀疑人生的话,也就以前搞APP逆向的时候偶尔会怀疑人生,毕竟有些作安全的人搞的东西是真的恶心。
Q:通常经过什么方式和渠道提高本身的能力?
我一般会是经过实际作一些东西的方式来进行学习(好比学 k8s 的时候就试着把以前写的服务迁移到本身建的 k8s 集群上面去,而后对其进行压力测试尝试解决实际碰到的问题)。
而且会在这个折腾的过程当中,我会用一些思惟导图、知识图谱之类的工具对了解到的知识进行整理。在水群、刷论坛的时候也会把看到的一些新奇事物记下来。不少时候在遇到一些问题时,这些被整理好的知识就会被想起来,而后就会有一种恍然大悟的感受,接着这些知识就被融会贯通了。
这种学习方式我称之为:广度学习法。它是从上至下的,相比于不少人的那种从下至上的学习方式而言实用性会高不少,而且也不会那么枯燥无味。
另外推荐一个最近发现的工具——roamresearch,这个工具和我以前想作的一个工具几乎如出一辙,功能和相关的卡片式笔记理念和我使用的这种学习方式很是契合,有兴趣的能够用用看。
Q:生活中有什么爱好?平时会经过什么方式释放工做压力呢?
写文章、打游戏、写点本身用的工具、折腾些没弄过的东西。
Q:若是能够从新选择是否还会选择这个职业 ?
若是是指爬虫的话,会的。由于作垂直爬虫的时候会须要大量的逆向开发,作得多了以后会对前端、后端、网络、安全甚至硬件等各类方面都有了解。而且在掌握了逆向思惟以后结合已经了解到的东西,学新的东西时会很是快,思路也会比别人广一些。
而后作爬虫也会了解到不少相关产业的东西、认识一些作安全/灰黑产的人,能见到不少骚操做,一些骚操做换个用法其实就是别人平时想不到但效果很是好的。
Q:与思否的故事?
这个有点尴尬,基本没啥故事…
不过思否的各项功能在我短暂的使用中感受仍是挺舒服的,能明显感觉到技术社区的简约和功能性的感受,不会像其余一些社区那样不实用的东西花里胡哨还一堆广告。
Q:如何看待国内社区的环境和氛围?
整体而言技术社区的环境和氛围仍是挺好的,基本都是就事论事,有人提出奇怪的问题的时候也会看到不少热心人去帮忙解答。
可是像一些非技术类社区的那种会有不少喷子、杠精存在,好比以前就有个知乎的杠精连本身的逻辑都理不清楚就开杠,给他拆解分析了几天都仍是硬杠,最后忍无可忍把他拉黑了。结果没过多久这人还开个小号专门写了个回答扭曲事实继续@我抬杠,就很莫名其妙。(并且这种人知乎是无论的,举报也没用)
Q:对社区有哪些建议和意见?
好好作技术社区,作好社区内容建设和言论管理。
Q:对编程初学者和怀抱梦想的年轻人有什么建议?
不要为了找工做而学编程,最好是兴趣驱动。我见过不少人就是为了找工做而学编程,实际本身没啥兴趣,平时也不会想着写点什么东西提高本身的效率,后面就只能发帖或者在群里抱怨,挺难受的。
小编有话说:
Loco 的天赋是日常人羡慕不来的,虽然对本身的评价不是天才型,但小学就能本身写外挂能够算至关厉害了,这样的男生在小伙伴里应该很受欢迎吧。
年纪轻轻就掌握众多技术栈,也证实他是一个好学、有执行力的人。虽然工做上踏实努力,但也没有磨平少年意气,甚至会在网上与人「吵架」。
从与 Loco 的谈话中我感觉到,这才是一个年轻有才的人该有的样子,充满自信也脚踏实地。
欢迎有兴趣参与访谈的小伙伴踊跃报名,《思否有约》将把你与编程有关的故事记录下来。报名邮箱:mango@sifou.com