@
maythrive 首先,我认可你前面的观点,确实是这样 [因为这些人更多,所以遇到问这些问题的人的概率会更高] ;
其次,哪些优势可以加分? 可以先思考下面这两个问题:
1. 如果你是老板,你期望招一个什么样的程序员?
2. 计算机这个领域,如何能快乐地长期做下去?
## 如果你是老板,你期望招一个什么样的程序员?
我理解,老板希望招两类的程序员,1 )一种是稳准狠的,不管提什么需求,都能稳准狠的搞定; 2 )另一种是通过技术手段能给业务带来增量;
1 )第一种,对应了首先你要懂公司的技术栈,要学精;比如 java 领域,不管什么公司,核心无非就是语言、框架、消息、缓存、分布式、db 、安全这些;现实情况是,单单 spring 框架的文档,那根本看不完;因此,理解原理就非常重要,你知道了核心能力和能力边界,你就知道这东西能干啥,适合干啥;轮到你要干时,你找到文档的对应章节,照葫芦画瓢就好了。懂原理、知道看文档,有时间再看看核心源码,就很不错了。
所以,你只要在一个细分领域,比如 spring ,或者 mysql ,你能解决所有的问题、或者你知道这个问题不可解,那么,你肯定也能用同样的方法论解决其他领域的问题。
2 )第二种,是在第一种基础上的进阶,要更难,当然回报也不是一个量级
先满足第一种的基本要求,你才能高效的完成工作任务,才能有更多的空余时间去理解业务,不要指望公司给你时间去学习;这个时候,需要用老板的视角来思考问题,分配的需求,对于公司的业务而言,是不是价值的?回答这个问题,你是不是应该把公司的业务弄得很清楚,同时是不是也应该把竞争对手的业务和逻辑也弄清楚,看看差异;这个过程很难,我个人的体感是,最好锻炼方法是自己开发一款产品,然后推广,把这个流程走一遍;过程中会遇到无数的问题,技术问题、决策问题,个人问题,这个思考的过程就是最大的价值;
我们团队的做法是,通过推荐算法工程和 AI 来提升公司的分发效率,这里的 AI 不是我们自己开发一个大模型,是学习其他人的方法,使用市面上的优秀开源模型,和我们的业务结合;不见得我们会做成,但核心的两大方向是对的「 AI 、提升业务价值」
## 计算机这个领域,如何能快乐地长期做下去?
人生短短几十年,大部分时间在工作,我觉得一定要让自己热爱这个领域。
计算机的变化太快,jdk 都升级了这么多代,前端框架一天一个样,AI 大模型也是越来越强,唯有热爱,可抵岁月漫长。
为什么要热爱,因为只有这样,你才可能以自己的需求为驱动,长期坚持下去;以我个人为例,我喜欢开发一些前端工具,浏览器插件,mac 端的 APP ,自己开发自己用,全部按照自己的需求定制,这个感觉很嗨皮,也坚持了很多年;这个过程中,会面临很多问题,用什么技术栈?市面上有没有竞品?是自己开发还是花钱找人开发等等....
等自己走过一遍这个思考路径,再回到工作中,那感觉就完全不一样,需求有没有价值?用什么技术方案?需要多少人力?上下游怎么协同等等问题,都会有自己的判断,尽管这个判断在某些时间点不一定是正确,这个判断力会随着历练不断被修正;
等到你面试时,你要怎么跟面试官介绍你的项目和你做的事情呢?如果你要创业了,你应该怎么跟投资人介绍你的项目呢?每个人介绍的方式和重点是不一样的,这个不一样的点不好用一个词来概括,可能是认知、业务 sense 、视野、经验之类的。
## 总结
哪些优势可以加分?我说的不一定对,每个人的看法也不一样
抽象来看:学历、经验、作品、选择、判断、影响力
具体来看:在某一个领域的深度、对于自己作品的思考和判断、对未来的想法和业务、行业选择等等