本文主要是介绍林杰:程序员依然是草根跨越阶级的最佳途径之一 | 程客有话说,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《程客有话说》是我们最新推出的一个访谈栏目,邀请一些国内外有趣的程序员来分享他们的经验、观点与成长故事,尝试建立一个程序员交流与学习的平台,也欢迎大家推荐朋友或自己来参加我们的节目,一起加油。
本期我们邀请的程序员林杰,开发者从业时间近25年。
1、请自我介绍一下。
嗯,我叫林杰,98年左右通过制作个人网站进入互联网开发这个行业的。然后在外企、事业单位、民营企业都有担任过软件开发工程师的角色。我自己有2个较为知名的个人项目:一个叫嘻哈之城,一个叫快试音。
目前的话,我主要是担任企业的技术顾问,从事一些软件项目开发和技术团队管理的工作。
2、什么时候开始接触互联网的?如何成为一名程序员的?它为何吸引你?还记得第一次写的代码吗?
托了家乡是国家第一批光钎小镇的福,我在97,98年就开始接触互联网了,那时全国大部分地区还在用56k猫拨号上网,而我们已经是10M光纤了。现在回想一下确实是吃到了时代的红利,也占到了地域的先发优势。
我的第一行代码并不是大家所想象的“hello world”,而是类似这么一句: 你好, 老前端应该知道这其实是句html4的语法(可能现在已经没有font这个标签了),他的效果是打出2个巨大的“你好“。
为什么第一行代码是这个呢,因为在那个上古互联网时代,还没有qq、msn这些,那时最热闹的交流平台其实是聊天室和BBS,而这句话在一些没有过滤html代码的聊天室可以起到炸屏的效果,诸如此类的还有:marquee跑马灯标签,alert弹出窗之类的;就是这些有趣的效果吸引我投入web开发的。
3、分享一下自己的技术成长过程?学习使用过哪些语言与工具?它们的优点与缺点?
现在回想一下的话,最早期的时候应该是在小天才学习机上的basic编程,然后胡乱学了些foxBase,但说实话那时候算法那些没学明白,倒是foxBase的sql语句用了一辈子。30年前是select where,30年后还是select where。
然后真正开始接触行业应用,最早期的时候其实是受了国内一个著名的开源论坛《雷傲论坛》的影响,有学习过一些Perl语言(但是这个好像昙花一现没多久就没人用了),然后随着《动网先锋》等一批asp项目兴起,逐渐接触了asp,.net,sqlserver,IIS这些;因为我一直以来都是偏web的,所以像html,css,js这些是很早就掌握的了,工具方面的话主要就是Macromedia的3剑客:Dreamweaver,fireworks,flash这些;
到了中后期互联网这块开始流行lamp了,基本上就迁移到linux生态下了,最早没有云服务的时候,经常穿着羽绒服去机房维护服务器。这个占了整个职业生涯中的很长一段时间,我到现在还对lamp,lanmp下的生态如数家珍。 然后近期的话已经转golang和rust这些现代语言了,工具也早就转jetbrins全家桶了。你要说好坏的话,那肯定是越新越好,但是每个技术和工具的诞生都是有他的时代背景的,那些在历史上出现过的东西,其实就是在它那个时代最好的选择。
在技术视野上,我觉得我的选择还是有一定前瞻性的,我一开始就是看好web b/s架构的,所以客户端这块,早期的vb,C++,C#包括后来的安卓,ios我其实是没有投入太大精力的,但是没想到现在真的还就是web一统天下了,现在市场上有一大半的客户端是用web技术开发的,即使是移动端也是各种基于web的跨平台方案,每每想到学了快30年的html,css,js现在还能用,感觉是占了大便宜。 但其实也不是每次都能押对路线,回望整个技术生涯,我也学了许多被废弃的东西:flash,coldfusion,vb,cgi这些;现在好多人害怕自己学的技术会过时,然后又怕要学新的,其实大可不必,很多工具和技术虽然被淘汰了,但是他的内在思想和模式是会被其他技术传承的,这会大大降低你以后的学习成本。
4、你最欣赏的顶级程序员有哪些?如何成为一名优秀程序员?
技术层面的话,像Linus、 Igor(nginx开发者)这些都是我比较敬佩的大神,但是我本身更喜欢开发C端产品,所以像张小龙、马斯克、中本聪这些自带产品经理属性的工程师更受我的爱戴。相对于底层的开发,对我来说直面C端用户会更有趣更有挑战,也会获得更多的反馈。
至于如何成为一名优秀的程序员;每个人都他有不同的出生背景和成长经历,没有固定的方法论或成长途径; 但我前几天看到知乎上有个帖子:《吃什么样的苦,才能成为月入6万的程序员?》 我觉得这个问法本身就很有问题,优秀的程序员必然不会把做开发看做是吃苦,他们肯定都是很享受开发的过程,享受一次次攻克难题后带来的正反馈;所以与其问如何成为一名优秀的程序员,不如先问问自己是否能从编程这件事上获得快乐?
5、写代码20多年,你如何评价程序员这个职业?它给带给你的影响有哪些?
其实我并没有持续20年连续不断地做开发,程序员这个职业,5年一个小瓶颈,8年一个大瓶颈; 小瓶颈是指5年左右,基本上你对你能接触到的业务肯定已经了如指掌了,剩下的那些不懂的基本上都是用不到的。然后你会觉得在你所处的工作范围内,已经没有什么挑战了。这个时候会有些自我膨胀,或者说就直接停留在这个舒适圈,不再追求成长了。
大瓶颈则是指你可能会对整个计算机行业产生厌倦,如果你对计算机互联网的热爱不是那么的执着,那时你会发现你的身边的同学朋友,做销售、做管理、甚至体制内的都会获得更高的薪酬回报,这时你就会产生一种怀疑:计算机行业是否对自己来说有前途?很多人熬不过这个8年的瓶颈,可能就会选择转行。
我就经历过这样的周期,在我从事互联网行业的第二个8年,我就减少了对开发的关注,专注到产品经理和增长黑客这块去了,所以当你感觉到达瓶颈期的时候,如果不想放弃,有2条路可以选择:1要么深究技术往底层在走走,为基础设施做出一定的贡献。2要么成为T型人才,积累更多的领域经验,项目经验、管理经验这些。
程序员这个职业,我觉得最大的好处就是:可以培养你的思维逻辑闭环;大家都知道,一段函数从if开始,到else分支,到最后的return结束。这个流程,其实可以把世界上的万物万事都套进去。甚至可以说就是我们这个世界的底层运行原理,一旦你掌握了这个思考方式,很多问题的答案在程序员的思维里都是很容易就找到的。
另外,我认为,在现在这个社会,个人要做到价值最大化,就是要建设个体与世界的对话通道: 音乐家用音乐与世界对话,导演用电影表达自己,作家用文字构建自己的世界;而程序员就是用软件和世界对话,然后软件这个载体,它有些好处:它有网络边际效应,具有指数级传播的可能性 开发对外的依赖很低,独立开发者一个人也可以完成一个很庞大的项目,它和世界的对话可以做到实时互动,这些特性都是难能可贵的,我小时候的梦想是做个发明家,我觉得软件开发者就是当代的发明家群体,我坚持认为在未来10年中,程序员依然是实现自己的发明梦想以及和世界对话的最具性价比职业。
6、你在国内外大厂,国企、民企都工作过,有何不同,有何相似?
我早期有在yahoo之类的国外互联网巨头工作经历,肯定没有现在的国内大厂卷,那时相对来说还是比较轻松和惬意的,主要还是以人为本,相对来说更容易wlb一些。
国企/事业单位的话,其实不建议还在成长期的程序员去,大部分的体制内单位对技术的追求并不高,可能需要花时间研究一些技术以外的事情,长时间待在那里,很容易进入舒适圈,降低自己的竞争力。
民企的话,会更锻炼自己的能力,如果能找到一个处于成长期的公司,自己的能力也会随着公司的成长同步成长。
7、分享一下在「程序员客栈」的远程工作经历?
今年有一个技术顾问的项目就是在程序员客栈上接的,他们是一个基于开源代码二次开发的项目,由于原来的基础架构并没有考虑到高并发这些场景,当用户的业务高速发展后,就遭遇到了性能瓶颈,最后由我带领团队重新设计了系统架构重构了底层核心代码,大大提升了核心模块的业务承受能力。
这个项目受到了客户极大的好评,也是今年我以远程合作形式完成的一个难度较大的项目。
大部分的远程项目都是处于从0-1阶段,创始人对于技术团队这块的把握还不是很充分,远程合作的形式给到了他们相对大的选择范围以及灵活的成本控制。
对于开发者个人而言就是时间安排相对自由,缺点就是沟通起来稍微有点麻烦,还有就是无法感受到那种团队一起合作共事的氛围。
8、如何看待996与35现象?
我反对的不是996,而是无意义的表演式工作,低效率的摸鱼式工作,以及为了kpi而制造出来的需求。
很久以前我所在软件公司有种开发方式叫封闭式开发:把一群程序员关在宾馆里1个月,开发好了再出来,在这种强度面前,996根本不值一提。但是那时大家其实都很有干劲,因为有明确的目标,也有目标完成后明确的奖励,以及伴随项目而来的迅速成长。
就我个人来说,有时当我进入沉浸式开发的时候:头一抬,窗外天黑了;头又一抬:窗外天亮了。当你进入心流状态的时候,时间都在你这里不存在了,更不会在意什么996。
至于35+这个现象,确实目前市场是遇冷了,企业招人的门槛提高了,但大的原因还是经济周期下行导致的,但其实没什么的,在这之前,2000年互联网泡沫一波,2008金融危机也一波,既然是周期总有波峰波谷,中国经济的韧性很强,大家都很勤勉,乘着寒冬苦练内功,提升自己竞争力,等到春暖花开,还是能绽放光彩的。
35-50岁的工程师,正是经验,效率,资源达到顶峰的阶段,有需求的企业不会视而不见的。
9、程序员与嘻哈文化的碰撞,这个很有意思,分享一下嘻哈之城这个项目的始末?
年轻读书的那会儿,很喜欢街舞说唱这些东西的,早期国内的互联网也没有这方面的资讯,也没有一个什么可以让你去交流的地方,所以就去动手做了这么一个人网站。
这是我的第一个个人网站,它在很长的一段时间内都是嘻哈文化在中国传播的重要节点之一。我在这个网站上收获了很多,除了技术本身,你会有机会接触到你的一线用户,从而将自己摆脱出单纯的开发者角色,更多的会以产品和运营的眼光去看待技术在整个链路中的作用。
作为一个拥有一定人气的站点,我早在0几年就接触到了高并发,安全攻防,社区治理这些问题,这些都极大的锻炼了我的架构能力,产品运营意识,让我不单单是一个只会开发的程序员,而是一个拥有 产品、研发、运营能力的覆盖整个项目生命周期的大全栈。
另外一个较大的收益是:研发这条路有时枯燥而寂寞,一个相对成功的个人产品,会时刻给你带来正向的激励,有了激励就会有信心在这条漫长的路上持续走下去。
以前互联网还不是那么普及的时候,那时候有很多网友访问了我的网站会给我写信。我记得有一位很远的边防站解放军战士,他们可能是一个礼拜去他们那个山脚下的县城网吧去上网,在我的网站上看一些街舞的视频然后回去练习,然后写信过来感谢我说每周访问我网站就是他最大的盼望,那个时候就觉得还真的蛮有意思,在中国这么大一个地方,这么一个偏远的一个国境线上,这么枯燥的站岗放哨生活,有人会因为你的项目对生活充满热情,这个时候你会感觉有很多的动力。
所以我对广大研发同学建议:如果时间和精力允许,还是可以开发一个属于自己的作品,不管是c端产品也好,底层框架,第三方插件也好,即使失败了无人问津,你也会发现他带来的回报会远远大于你的付出。
10、是否用过AI辅助写代码的工具?感受如何?它对程序员的影响有哪些? 目前来说ai在我这里基本上完全替代了搜索引擎,并且gpt4的一些插件也成为了我工作不可或缺的部分。
以前有句话叫:所有pc时代的软件都值得重新做个app,后来区块链火了,大家又说所有web2的东西都值得web3再做一遍。那么今天:所有的互联网产品都值得用ai再重新做一遍。
我之前有很长的一段创业经历,那时其实是有自研团队的,我们的工作模式基本上是senior工程师负责一些核心的模块,然后junior会去做一些简单初级的工作。
在ai改变开发流程的今天,我有时感觉似乎1个人+ai就可以达到以前一个团队的效果。 ai的出现,确实对于一些初级工程师会造成冲击,但是对于独立开发者,其实是迎来了一个最美的时代,个人的能力会在ai的加持下被无限放大。
11、从快播、字节的技术无罪,到ChatGPT的强大使人类产生恐惧,如何看待技术的“价值观”?
技术的进步犹如历史的滚滚车轮,任何阻挡技术进步的人都似螳臂当车。掌握先进技术的人就是掌握生产资料的人,你不参与革命,以后只有被别人革命的份。
但确实每个时代都不缺没有道德底线的研发人员,阳光照不到的地方就是会有阴影,负面的东西总是无法避免,作为研发人员我们还是要恪守道德底线,将负面的影响控制在最低范围内,让大部分人享受到的是技术进步带来的便利。
我从98年担任个人站长的那一刻起,就和无数的黑客攻击者斗争,有的时候他们赢,有的时候我赢,此消彼长,道高一尺魔高一丈的事一直发生,最后回顾一下,其实并没有特别大的损失,有时候只要保证力量在正义这边就行了,无须过于担忧新技术带来的影响。
12、对于自己或者程序员的未来,有何畅想或期待?
在2023这一整年中,我作为评级面试官参加了客栈的几十场面试,这其中有大厂的高P,也有和我差不多年纪的大龄开发者,也有培训班毕业1,2年的新人。
但是在和部分研发同学沟通后我看到了:有些人在公司的流水线上做螺丝钉,超过自己职责范围的东西一概不知;有些人虽然从业10年以上,但是经验和水平还停留在入行的前3年中;还有些人只是看着做开发可以挣到钱,那里有钱就去那里,始终找不到自己的正确定位和兴趣所向。
今年是疫情开发后的第一年,市场上充斥各种开源节流,降本增效的新闻,处处弥漫着it人35+的焦虑,起初我也被这样的情绪所笼罩,但后来我发现事情并不是完全这样的:
如果将失业等同于无所事事;那其实我身边热爱计算机互联网行业的人是没有真正失业的;
他们有的人在3,4线城市做远程工作,有的人在做自己的产品创业,有的人在接外包开发,有的人在学习提升某一门技术;总的来说只要调整好自己的心态,降低预期总是能找到适合自己的位置的。
作为独立开发者,更应该在打好技术基础的前提下,判断自己适合走底层路线还是应用路线,如果是底层路线那就应该早点接受更高阶的系统性学习专攻分支领域,如果走应用路线,就应该多增加对行业的观察,对生活的观察,对前沿技术趋势的观察。找到用户的痛点和刚需去开发一款有一定市场价值的产品,同时培养自己除了开发之外的其他技能:产品力,运营能力,沟通能力等等;
互联网计算机行业,底层的基因是创新,github上几千万的用户就是我们热爱创新并热衷分享的最好证明,一个基因是创新的行业,它永远能焕发出勃勃生机:从web1的bbs、电商、网游到移动互联网的app,AR/VR,到区块链的web3,到大数据ai时代,我们从未停下创新的脚步,
这样一个充满生机的行业你何须担忧因为一时萧条而从此一蹶不振?未来的数十年间,程序员依然是草根跨越阶级的最佳途径之一,也是实现自我价值的最好选择之一。
如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
这篇关于林杰:程序员依然是草根跨越阶级的最佳途径之一 | 程客有话说的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!