• 程序员成长过程


    源自:伯乐在线/PleaseCallMeCoder

    每个人都在成为大神的路上,只不过有的人在走,而有的人在跑。

    写在前面的话

    在开始正文之前我先跟大家分享一个我身边的例子。我有两个朋友,A和B。B从高一开始打dota,A从高二开始,到高中毕业的时候,A已经是一个 2100分的大神级别的人物,而B只有1200分而已。为什么A打的时间比B短,而水平却比B高呢?是天赋?是智商?似乎都不是。

    我对两个人还是比较了解的,虽然同样是打dota,但是A和B之间有着很大差别的。A除了像B一样打dota之外,会看一些成名已久的大神的教学视 频,会看自己打dota的录像然后反思,会逛贴吧学习一些新的打法以及连招,会不断练习自己做得不好的地方。然后A成了大神,而B依然是一只菜鸟。

    其实成为大神的路上,真的有一些捷径,不论是打dota、销售,还是开发。

    自我定位以及目标

      

    “我是蒙奇·D·路飞,要成为海贼王的男人。”草帽同学的这句话既霸气又充满哲理。假如现在的你是一个小菜鸟,但你想要成为宇宙无敌超级工程师,那 么你需要一个目标:我是要成为超级工程师的男人(妹子)。当你从心底有了这个目标之后,你的每天都会有一种充实感,虽然哥现在很菜,但过一阵子哥可就是大神了。强大先从精神开始。

    经验与成就

    为什么有的人工作5年,仍然不是专家,而有的人只用2年时间,表现足够卓越?

    心理学家 Ericsson 的研究发现:决定伟大水平和一般水平的关键因素,既不是天赋,也不是经验,而是[刻意练习]的程度。

    我坚信重复是通向精通的必由之路。任何一种技能(包括码代码),只要经过连续不断地磨练和改进,最终效果都将变得异常惊人。

    之前也和朋友讨论过一个问题,近几年培训的人越来越多,就业压力相对来说越来越大,很多人会出现恐慌的情绪。但如果你真的足够优秀,那么这种问题其实都不是问题。

    学好英语

    根据HOPL编程语言在线数据库的统计,全球有8500种以上的编程语言,大概2400种起源于美国,600种是在英国发展起来的,160种是来自加拿大的,75种是在澳大利亚发展起来的。换句话说,世界上三分之一以上的编程语言是在以英语为母语的国家发展起来的。

    就Android开发者来说,通读官方文档和training都是很有必要的。so,好好学习英语吧。

    找到成就感

    我实习的时候,我的经理告诉我,如果你从你的工作中找不到成就感,那么你可以考虑转行了。对于码代码,在你眼里无论这是一份工作、事业或者志业,都可以赋予其意义。有了意义就会有成就感,它会成为一种精神力量和内在动力,与工作形成一个良好的循环。譬如写博客,如果没有成就感,或许小哥我早放弃了。

    点满技能点

    如果你不知道该学点什么,去招聘网站翻翻简历吧。在你所在的领域里,总会有你不熟悉的技能,找到它,干掉它。如果你的技能点是满的,那就发散思维,学习一些进阶技能和相关的其他方面的技能点,其实开发远比想象的要复杂。

    好的身体是革命的本钱

    长时间坐在电脑前会伤害你的身体,如果不能减少工作时间,那就尽量保持正确的坐姿,如果有条件的话,换个站立办公桌也是不错的选择。选择一个适合自己的锻炼方案,相信我,当你老了,你会庆幸自己能坚持锻炼。

    拖延症、计划和时间管理

    拖延症是指自我调节失败,在能够预料后果有害的情况下,仍然把计划要做的事情往后推迟的一种行为。这是一种普遍现象,博主上大学的时候写论文,每次都是在最后一天的最后一两个小时搞完,论文质量简直惨不忍睹。

    我们的人性啊!

    合理的计划可以有效的解决拖延症的问题,每周给自己一个计划,坚持完成,想不成为大神都难。

    学会管理自己的时间,让效率飞起来。关于这方面大家可以看下《暗时间》和番茄工作法。

    知其然与其所以然

    这点很重要,这点很重要,这点很重要,重要的话要说三遍。

    对于这点最深的感触是实习的时候经理提的一点要求:做任何事,先要想明白,再能给别人讲明白,然后再去执行。所以那会我们在做开发之前先要跟他汇报,给他讲明白,然后才能开发。优点也很明显,这样下来bug比之前少很多。

    在这顺便建议一下大家写博客,做完东西整理思路总结一下,然后分享给大家,加深理解的同时还能获得成就感,一举多得。

    我是这样解决问题的

    首先遇到问题不要怕,要知道这个世界上那么多前辈,你所遇到的大部分问题,之前肯定有人遇到过并且已经解决,要学会使用google。

    其次,这里有一条准则与大家共勉:

    WHAT,WHEN,WHY,HOW。

    它是什么?它在什么场景下发生?它为什么会是这样,有没有其他原因?它是怎么做到的?

    如果你觉得自己处理信息的能力又比较弱,不妨这样试试。做任何事情之前,有意识的让自己来一遍what, when, why, how。

    时间久了,你会发现逻辑变得严谨,不会钻牛角尖了,工作变得轻松,debug也不头痛了。

    与时消息、与时谐行、与时俱进

    每天抽出半个小时左右的时间阅读一些领域内的博客, 理解目前的技术发展方向,与时代同步,让技术历久弥新。

    代码评审

    大多数程序员都有一个错觉:手头上的项目永远是最烂的。如果你也是这么认为,那么尝试去改变它吧。

    代码评审(code review)是一个用来提高程序员的极好的方法。

    开源项目

    阅读流行的开源项目,是学习编写可维护代码和软件开发流程的好方法。比如最近流行的google出品的 MVP模式demo 、 EventBus、Picasso等等。

    结语

    做一个行动派。

    世界上最遥远的距离是在想到和做到之间。

    如果只是看清了一些事情而不去改变它,那又有什么意义呢?

  • 相关阅读:
    java进阶知识--File类
    java进阶知识--函数式接口
    java进阶知识--Lambda表达式、递归
    java进阶知识--线程池
    java进阶知识--线程安全
    java进阶知识--多线程入门
    java基础知识--异常
    java基础知识--可变参数
    mysql中如何不重复插入满足某些条件的重复的记录的问题
    有关map中使用iterate迭代器遍历的不保序问题和list remove(object)的细节问题
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/10430309.html
Copyright © 2020-2023  润新知