您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
程序员该如何快速成长?
自己的,快速,程序员程序员该如何快速成长?
发布时间:2020-12-06加入收藏来源:互联网点击:
程序员该如何快速成长?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
1:一定要接项目做,接不了就参与做负责其中的模块;归根到底多动手发现问题并解决问题;
2:多看别人的优秀代码!
回答于 2019-09-11 08:43:50
概括来说。想要获得快速成长。最重要的是
1.积极主动的工作态度
2.定时归纳总结的习惯。这些不止局限于程序员,也适用于其他行业。从工程项目上来讲,如果可以积极主动的去跟进项目中出现的问题,多想想自己项目是怎么设计的?有什么痛点和难点,是怎么解决的。其他项目是怎么规避和处理的?有什么更好的解决方式?我的解决方法给项目带来了多大的性能提升?多大的体验优化?或者在可扩展性,可维护性上做出了贡献?
处理完问题后多归纳总结形成方法论,并用这套方法论去持续验证改进
等到这段迭代过程成熟了,你自然形成了在所负责的工程项目里的经验方法体系。这些沉淀下来就是成长,就是珍贵的经验
说到积极主动,意思是在负责自己的模块的时候,可以多主动关心下外网反馈,接口监测数据。往往发生的小问题背后隐藏的是系统深远的故障。逐渐形成自己一套查问题,解决问题的方法。这些体现在解决的思路,能够依赖的处理工具和指令,搜索资料的能力。一个有经验的程序员,也体现在对问题的处理和解决上。这些同样可以进入归纳总结的迭代中,加深自己的工程体系认知理解。这个过程逐渐加深后,解决问题几乎成了条件反射。
曾经听过一个段子。腾讯内部曾出现了一个网咯故障,这个故障网络部门排查了整整一周都解决不了。最后求助廖大师,他打着游戏连头都不抬不假思索就说了问题的处理方法。结果一试果然解决了。大家都惊呼为神人
当然这种人在我旁边也有。处理问题驾轻就熟,三下五除二捕捉到系统的关键信息,过程中要用到的工具手到拈来。一气呵成。这些都归功于他们遇到问题不逃避,积极跟进问题以及不断总结归纳。补充自己的认知短板
归纳总结的东西可以形成博客,既帮助自己积累总结沉淀,又能和别人讨论交流。有自己思想沉淀的博客或者笔记的技术人。这些在我看来是成为牛人的一个充要条件。当然不排除有个别人可以在脑子里就完成归纳总结记忆过程。这种牛人就别来我这钻牛角尖秀优越感了
工作前三年是职业生涯中成长最快的几年,在这段时间里你会充满激情,做事专注,也容易养成良好的习惯。在我们公司有些同学在前三年中就快速成为某一个领域的技术专家,有些同学也可能止步不前。本文和大家一起探讨下如何在三年内快速成长为一名技术专家。
目录
学习方法
· 1:掌握良好的学习心态
· 2:掌握系统化的学习方法
· 3:知识如何内化成能力
· 4:广度和深度的选择
实战技巧
· 1:你需要学会的编码习惯
· 2:在业务团队做开发如何成长
掌握良好的学习心态空杯心态
首先要有空杯的学习心态,而不是傲娇自满,故步自封,空杯子才可以装下更多的东西。首先要学会取百家之长,带着欣赏的眼光看团队的同事或学校的同学,欣赏每位同事或同学的优点,然后吸取他们的优点,每个同事都有其擅长的能力,比如有的同事技术能力强,那么可以观察下他如何学习的(或者找他请教学习方法),有的同学擅长解决线上问题,那么观察他是如何解决线上问题的,解决思路是什么?如果他解决不了时,他是如何寻求帮助。有的同学擅长使用IDE或MAC的快捷键,那么可以向他学习提高工作效率。有的同学能快速理解业务知识,观察他是如何做到的,自己如何达到他的程度。沟通能力,解决问题能力以及规划能力都可以向同事学习。
挑战权威
从书上看到一个知识点,或者从别人那里听到一个知识点,一定要去挑战和质疑这个知识点的正确性,否则学到的知识点可能是错误的。先用逻辑思维推测下,再实战检测下,一定要记住实践是检验真理的唯一标准。比如同事说这个SQL加这个索引是最快的,首先要思考同事的结论是如何得出的,是靠历史经验还是测试过,如果我们没有经验,就加上这个索引跑下SQL,看看执行计划和执行时间,再换下其他索引试试会不会更快。依次类推,并发一定比串行快吗?无锁一定比加锁快吗? 很多结论都是在特定的场景下才会产生的,一定要自己亲手实践验证下。
坚持学习
有的同学可能工作了五年,但是学习的时间可能一年都不到。学技术不能急于求成,只要学习方法正确,量变一定会引起质变。我在大学刚学JAVA时,怎么都学不会,但是坚持学习了几个月,每天看张老师的JAVA视频教学,买书按照书里的代码一行一行的敲代码,白天睡觉,晚上学习和写代码,写到宿舍关灯时就去避风塘呆一晚上,早上6点钟回宿舍睡觉,学到一定时间后,突然恍然大悟,才入了门。
在工作中,我曾经花了一个月的时间学习AOP的实现原理,学习了各种方式来实现AOP的原理,并写了几种实现方式的代码,虽然花的时间很多,但是到现在仍记忆犹新,对于排查问题和学习其他知识都非常有帮助。
要做到坚持学习,学习的环境非常重要。如果你想学,但是又不在学习状态,可以考虑换个学习环境,我经常会去星巴克看书和学习。我听说有的同事会周末抽一天去大学教师上自习。
把事做精
对自己要求越高,进步越快。要有强烈的把事情做完美的心态,我刚开始工作的时候,总是快而不精,做事做的不够细致,总希望快速拿出结果证明自己,但是反而证明不了什么,技术能力也得不到提升,缺少技术亮点,在团队中也没什么影响力,后面就开始锻炼一次就把事情做对的心态和方法。我观察过,很多人都擅长快速做事情,但是把事情做好做精致的人会比较少,但是结果却是**在精益求精的路上才会快速提高自己的能力**。比如用100行代码实现的功能,思考下是否可以用10行来实现,以便于降低运维成本,提高下次的编码效率。引用GUAVA等类库,提取公共方法,和使用JDK8新特性等。系统的方法压测过后,单机只能承受1700QPS,可以思考和实践能否优化下程序提高QPS,减少服务器数量。
把事情做精,一定是要强迫自己多花心思多花时间在这件事情上。有位技术牛人给我分享了一个心得,我觉得说的非常好,老板给你布置了一个任务,**你要花百分之150的精力做到100分,这样在老板那里你就能拿到80分或者60分**。
上一篇:《水浒传》中林冲为何被发配沧州?作者为什么写下这段内容?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |