
附:答校园开发者问——如何成为一个更好的开发者?
1、大学生开发者想要斩获 offer,除了专业技能,还需要发展哪些纬度的能力?
婷晨:之前在七牛 1024 实训营结营直播时,老许分享过这个话题,他说其实除了硬性的技能之外,特别重要的是「心性」。心性可以分为三个要素,第一个是要性,即你到底有多想成功多想把事情干成;第二个是叫韧性,即你能否长期为一个目标去努力;还有一个是空杯,即你能否坚持清空和迭代自我,并不断让自己认知升级。
另外可以想一下,自己想要的到底是什么?如果你对一个事情,有发自内心的喜欢的话,你在工作当中原动力、自我驱动力、行动力或好奇心,都会随之而来并源源不断。
2、从技术公司的角度,考虑学生的 offer 获取与沉没成本,对他们的语言选择(如常见的Java、C++、七牛常用的 Go 等)有何建议?
寒星:第一个最重要的就是,语言本身也是一种技术方案的选择,是从项目出发的,你要看项目的需求是什么样的。一般来说,我会建议学生去选择「更现代的主流方案」,因为一般来说,更新的更现代的方案的出现,往往是希望能解决既有的方案的一些问题。
从个人的角度的话,我会建议「多去尝试」就好了。每一门语言的出现都是有它想解决的特定的问题的。在尝试的过程中,去感受为什么这门语言会出现,它是如何去解决它所针对的问题的,在解决这个问题的同时,它付出了什么样的代价,有什么样的好处,又有什么样的差异。相比非常深入地掌握一门语言,像这种快速学习、并去理解设计背后的取舍的能力会更重要一点。
3、学生阶段,编程技术提升的重点是什么?如何让自己参与的项目不千篇一律,在众多简历中脱颖而出?
傲飞:找到自己感兴趣的方向,培养自学能力,从实际中去动手,要在解决具体问题的过程中,去提升自己的技术能力。也可以尝试找到一个志同道合的朋友,一起去做项目,互相学习。
在项目选择上要贴近需求,不能为了做项目而做项目。可以从身边的问题去入手,解决实际问题要比堆砌技术更重要,技术始终是服务于实际需求的。
除了找准项目的价值点,还要重视技术的落地性。项目的可实用性和可维护性更重要一些,最好是能真正跑起来,能服务用户。做项目时要去展示你的思考深度,比如你去记录开发过程中的一些技术决策,总结你遇到的问题,还有解决方案,这样能体现出你对技术的理解和成长。
另外推荐多多参与开源项目,能加速你的成长。除了技术提升之外,参与开源项目能让你学习到良好的沟通和协作能力,这些能力在未来的工作中都是非常关键的。还可以让你有机会和业内的顶级大佬们直接接触,从他们身上能学习到不少有用的东西。
4、校园开发者应如何判断并选择,自己合适且正确的技术路线?
寒星:技术路线其实是一个蛮大的概念了,可能会包括工具的使用、语言的选择等。整个技术方案的选择、判断技术的发展方向其实是很难的,所以从个人的角度来说,不需要去考虑什么是正确的,自己合适才是容易判断的。
关于适合自己的,其实你的兴趣是最重要的。绝大部分人的学习和成长其实是从毕业后才真正开始,所以去看一个人成长速度的快慢,大部分情况下决定的其实是他那种很直觉、很天生的驱动力,而这种驱动力绝大多数的来源就是兴趣。如果你做的是你感兴趣的事情,那么可能不需要太多外界的激励,你就很想把它做好。所以只要你感兴趣的方向,是一个有需求的方向,你感兴趣的技术路线或工具,解决的问题是有很多人会面临的,就遵从自己的兴趣去选择吧。
5、AI和大模型不断发展,前后端未来的趋势是怎样的?传统开发者应如何转型,有哪些新的方向值得探索?(新兴语言?差异赛道?)
傲飞:更应该把 AI 发展看作一种机遇,要主动去拥抱变化。比如目前那种代码的智能补全(像是 GitHub Copilot 之类的),还有一些代码的生成工具都越来越多了,低代码甚至是无代码的平台也都在兴起,所以人机协作开发肯定会成为常态,我们的开发模式就要从传统的编码转变成提示工程。所以对于工程师来说,其实是从代码实现者转向问题解决者,要更加注重系统设计和架构能力,培养自己的产品思维和业务理解,这一点是无关前后端的。
可能比较值得探索的一个新方向,未来 AI 安全会非常有价值。因为 AI 应用现在这种爆发式增长已经带来了很多安全方面的问题,所以未来企业也好,以及政策法规也好,会对 AI 安全会提出很高的要求。
寒星:AI 和大模型,或者说现在的 Copilot 之类的工具,它其实特别像是提供了一种很新的能力很强的抽象手段。那么它带来的结果,就好像是工具库爆炸了一样,可以看成每一个你在项目中遇到过的、其他人解决过的问题,你都不需要再解决了。所以每个项目剩下来的,就是它各自特别的部分。比如,如果这是个业务项目,那么最特别的其实就是和业务逻辑高度相关的那些部分。所以我建议大家在这样 AI 的时代里,更多地去思考业务和产品,要有用技术服务业务的思维,而不是花太多精力在技术或工具本身。
6、相比学生阶段,在工作中能用技术去解决实际问题,对开发者来说,意味着什么?
傲飞:首先是认识到写代码不是单打独斗。在实际工作中,技术是团队协作的一个结果。代码质量、可维护性、文档完整度,这些在学生时代并没有很在意的东西,会变得尤其重要。
第二我觉得是对问题的思考方式,学生时代我比较关注「能不能做」,工作之后我更多思考「值不值得做」,怎么做得更好,需要在技术方案、开发成本、维护难度之间做权衡。
另外是对技术价值的理解,技术本身不是目的,解决实际需求才是。再炫酷的技术,无法服务业务、创造价值,那就是空中楼阁。我现在更关注的是如何用最适合的技术来解决实际问题,而不是一味追求新技术。
* 1024 实训营班主任 长军有话说
对大学生开发者来说,如果把自己置身于竞赛氛围又在相对有压力的情况下,切实让自己往前走一步,一定是有不错的正向激励的。而这种每一次的激励、每一次的进步,就像里程碑一样,是能够见证我们每个个体一步步的成长的。
对于七牛来说,每一次的赛事、每一次的活动,都是作为企业,为校园开发者们在职业生涯的早期所能做的一点点引导和实践,希望能对大家的职业发展有正向的促进作用,也是我们回馈社会、回馈大家的一点方式。同时,我们也还希望能寻找和链接对七牛感兴趣,也适合七牛的人才。