上周研究网上招聘的岗位描述,并结合本身的经验与思考,将工做中的能力划分为3个方面:技术熟练、分析设计、管理。每一个方面有不一样的关键问题与提高方式,但愿借此自勉,找到合理方向并努力提高。nginx
我理解技术熟练这是最直接的一个方面,做为一个技术专家,对技术的熟练是必须的。架构
这个方面遇到的主要问题是:新技术层出不穷,永远学习不完。学习
我面对这个问题的思路分深度和广度说:云计算
技术熟练上每每能获得一个正确或相对业界主流的方案。而在实际运用中,须要结合需求与实际状况。此时我认为有一种分析设计能力是必须的。设计
开发者经常须要作出选择,有大有小,一个变量的名词到关键架构决策,无时无刻咱们须要作选择下判断。索引
这个方面的主要问题是:场景复杂,没有完美方案。开发
我面对这个问题的思路:多比对、多交流、让选择有理有据。get
结合实际的场景多交流比对,尽量全面的考虑问题,全面考虑问题十分依赖经验的积累。经验的积累经过思考提炼,能造成一套方法原则,能抽象出来,那就了不得了。依靠经验的判断做用范围是有限的,总会有超出经验范围的事出现,依靠方法作判断,适用范围就大不少了,人的信心就出来了。能主动提炼出方法的人,也能不断改进方法。例如我不熟悉IOS开发,但我就是有自信,哪天须要我必定是能够胜任的。源码
全部的选择尽可能有理有据,不由于本身的偏见作出错误的选择。学习到一个新技术,感受手里有了把锤子,看什么都像钉子。而作分析设计时则更复杂,一个问题/场景,须要在各类各样的方案中来回比对,选择一个合适的答案。class
工做不可能只面对技术问题,人是一个更重要的方面。这里提到的管理并不只是管理层的责任,同时也包含了我的的管理。具体的能力包括时间管理、任务管理、流程管理、质量管理、团队管理、沟通能力等等……
在《软技能》一书中提到过一种观念我认为是颇有意思。“将本身想象成一个企业,把雇主看成你的软件开发企业的一个客户吧。不少真正的公司也只有一个大客户。”这个想法让工做变得积极主动,再也不是一个被动的雇佣关系。
在这个方面理解的主要问题是:有太多东西不受控制。问题老是复杂多变,而人老是符合人性的。关注人,以人为本决不是一句空话。
而我颇有限的经验告诉我须要:多读书、多思考、经常反思。真诚勤恳多是惟一的正解,盲目自大、虚假终究会出问题。