淘先锋技术网

首页 1 2 3 4 5 6 7
mysql 查询当日,程序员如何快速成长?

程序员容易焦虑,普遍的原因是:技术、社会在发展,害怕自己的“成长”速度赶不上。那么如何有效成长呢,尤其是对于普通程序员来说?

目前我们看到的文章多是从“技术”的角度分析程序员成长路径,最近阿里巴巴技术专家李建(甫田)在“技术琐话(ID:TheoryPractice)”发文,尝试用逻辑分析“普通程序员如何成长”,以下是他的方法:

分析问题

JTBD(Job to be done)是一个非常好的用于分析问题的方法。需要明确用户在特定场景下必须解决的问题或完成的任务,也就是目标用户(Who)、在什么场景(Job context)以及完成什么任务(Jobs)。回到“普通程序员如何成长”的问题:任务很清楚,就是“成长”;而目标用户呢,普通程序员是谁?还有用户场景也不清晰。

普通程序员是谁?

这里采用的方法是“典型用户”,用一个人来描述一群人,就像用中间值(median)描述一组数一样。不同点是典型用户在现实世界上不存在,只是为了理解和交流的方便故意把描述写得很真实。

普通程序员的典型用户是:

小明,大学毕业,在 IT 企业上班。小明每天工作很忙碌,朝九晚十,像很多在一线城市奋斗的年轻人一样,小明面临着房贷、养家糊口等压力。IT 技术发展很快,已有经验过时也很快,小明很困扰,每天瞎忙碌,成长却不多。如何才能摆脱眼前的苟且,获得理想的成长?

从用户场景找“矛盾”

假设小明 9:30 到公司,打开电脑,处理邮件;10:00 开会汇报进度或是其他会议;11:00 线上出现紧急事故,需要修复 Bug;15:00 继续开会,到了 19:00 开始写代码,做需求;忙到第二天 0 点才睡觉。从场景中发现用户诉求和现状间的矛盾:成长的诉求与“瞎”忙的现状之间的矛盾。具体来说就是:朝九晚十,日常工作已经占满了小明的时间,如何才能“挤”出时间,做能让自己“成长”的事情?

有逻辑地解决问题

逻辑框架能帮助我们系统地思考问题,寻找解决方案。这里使用的逻辑框架是:从“问题”出发,提出假设,明确度量目标,过程中不断总结、迭代,解决问题。

回到“程序员如何成长”的问题:

问题:繁琐的日常工作占用大量时间,却没有获得想要的成长;假设:如果成长了,可以承担更有挑战的工作,摆脱低水平的重复,也能获得组织认可;度量:度量和目标相关,成长的目标可拆解成各个阶段性目标,例如:掌握 DDD、提升提问水平、某个时间内达到目标职业层级等;认知:在过程中不断总结原因 / 经验,进行相应调整。用影响地图寻找解法

影响地图是一种结构化拆解目标达成路径的有效方法:需要明确目标是什么(Why)、为了达成目标需要哪些人(Who)、为此需要做什么(What)去(How)影响这些人。使用影响地图拆解“普通程序员如何成长”的达成路径:

用户故事地图组织优先级

用户故事地图就是通过组织写有“用户故事”的卡片,帮助分析需求核心价值和成本,从整体视角规划需求优先级。用一句话描述用户故事就是:某角色,通过完成用户需求,实现了什么价值。基于影响地图梳理出来的用户需求,根据价值进行分类:

效率是第一优先级,提高效率才能挤出时间。做正确的事情是第二优先级,方向对了才可能成功。这需要提高判断能力,有正确的思考方法等。正确做事情是第三优先级,学习并掌握正确的流程和方法,结果才能保证。持续学习

了解了“普通程序员”如何成长的达成路径和优先级,可是要怎样实现具体的事项?

例如:有哪些提升效率的方法?怎样才能快速提高判断正确与否的能力?回答这些问题,需要不断学习,提升认知水平,因为学习是最高效的成长方法。

推荐使用学习三步法:

学:明确学习目标,收集资料,坚持“系统”学习;练:熟能生巧,掌握一门技艺需要反复练习;教:通过把自己所学内容教给他人,既是检查学习熟练度的标准,也能获得反馈发现不足进行弥补。

此外,唯有持续学习,多学多知,不断提升认知水平,才能获得成长,摆脱焦虑。以上就是今天的内容,希望对你有所帮助。