• 如何才算一名合格的程序员?
  • 发布于 2个月前
  • 194 热度
    0 评论
要回答者问题其实很简单,咱们把眼光投射到具体的公司上。首先先需要明确公司找一个人来是要做什么?显而易见,就是要去负责一块儿业务。那么,负责一块儿业务应该具备哪些能力呢?

一、技术能力
这个是基础,无需多言,厨师不配刀还叫什么厨师!不同的公司有着不同的业务,或者即便是相同的业务,在不同的公司所应用的技术栈也有不同。所以,有一点就很明确,就是你不可能学习到完美覆盖所有公司技术栈的技能。那么此时又该如何呢?主流、大多数、流行的技术栈最好能够掌握,这样你就能覆盖80%需求。

至于什么是主流的,大多数的,流行的,去看看那些大的互联网厂商在用什么就知道了。学会了这些也只是具备了基础的参与能力,或者说入场能力。想要标新立异,那么就必须拥有自己独到之处。

二、技术广度
什么是广度,简而言之,就是多一点,宽一点。数据库、NoSQL、中间件、应用框架、服务器等等。仰观宇宙之大,俯察品类之盛。熟读唐诗三百首,不会写来也会抄。很多东西你得先知道,才能拿来堆砌解决实际的问题。
举个栗子:
以前见到过有人一个业务代码存了很多份,我问题你为什么存这么多份?他说,要保留历史版本,以防以后有问题再用。

三、技术深度 
技术的广度,可以让你广泛适配,但是业务能够做的多精就需要技术深度来支撑。比如一个接口当前的相应时间是1s,那么怎么才能优化到 500ms,甚至 200ms、100ms 呢? 这里你就要从业务逻辑,基础技术架构方面进行思考了。是不是响应数据可以精简?是不是有的业务流程可以合并,或者并行?是不是底层数据表可以拆分?,水平还是垂直?是不是可以做冗余加快响应? 是不是可以把数据上移到缓存层?缓存用分布式缓存还是本地缓存?还是结合使用?是不是某些非关键业务流程可以做成异步?异步那种中间件?

等等吧!

四、owner 意识
让你负责了一块儿业务,那么你就要有担负起一块儿业务的负责人意识。什么是负责人?
简单来说就保障业务良性运作。
1、已有的业务要保持稳定运行
有问题能够快速及时解决。这里用了叠词,快速及时,这很重要,记住这一点。互联网化的今天,任何业务面前都可能站着成千上万的客户。客户拉肚子了,你厕所门打不开是不能容忍的。

2、新的业务需求丝滑掌控
技术方案确定,部门协作沟通,项目进度控制等等。业务来了你能拿出方案,需要什么样的技术,多久的开发周期,能够实现什么样的效果等等。需要哪些部门配合,产品、测试、运维都需要协作支持哪些工作。项目排期、进度控制、风险控制、验收收尾等等。

3、持续优化的能力
什么是持续优化?技术服务业务讲究快、稳、准,响应快,服务稳,数据准。那么持续优化就是永远对当前不满足!还要更快、更稳,更准!200ms 要看 100ms;4 个 9 要看 5 个 9;不实时的准要看实时的准。

4、积极的意识
这个尤为重要,你要明白是你要推着业务往前走,而不是别人推着你和业务走。该你操的心你不操心,慢慢的你就不用操心了,慢慢的你也就不再被需要了。

五、影响力
可能会有人觉得这个有点虚,影响力跟业务有个毛毛关系啊!确实,它跟实际的业务没有直接的关系。但是它能影响关联方对你的协作力。什么是协作力,这里我把他定义为合作、助力意愿。你的影响力决定了你的输出能够被他们接受的程度。当你有了权威,你说的就不需要再去解释,你要做的就会有人主动积极的协作,追求的是事半功倍。

马云说的和你们村头二蛋说的【梦想还是要有的】是不一样的!!!
用户评论