• 2015第44周三提升个人价值意识


    你的工作并不是设计,也不是编码,而是为你的雇主提供价值。你应该始终牢记这一点。这种提高自我价值的心态转变,对于一个软件开发人员是至关重要的。

    #1.了解你的问题领域

    每当你计划完成某个任务之前,先退一步想想这个特殊的任务能带来什么价值?是不是还有一些其他的方法也可以殊途同归?又或者这个特殊的任务根本就是不应该做的?为了回答这些问题,你必须对问题领域有一个深入的了解。你不仅应该将你的时间投入到增加技术专长上,还应该尽可能深入地挖掘你正在研究的领域。

    除非你对问题有一个坚实的领域知识,否则就只能沦落为人云亦云之辈。每一个我曾共事过的伟大的开发人员,都有着这种特质:总是会竭尽全力成为其工作领域的专家。

    #2. 更喜欢能为客户提供最大价值的任务

    这一点通常是很难效仿的。这是因为,大多数开发人员之所以成为开发人员,是因为他们往往享受于编程。并且,喜欢更有意思更好玩的功能完全是非常正常的欲望需求,但是千万不要将自我的享受与客户的需求混淆起来。

    有趣又好玩的任务并不总是能够为雇主提供最大价值的任务。因此,在这样的任务上花时间,如阅读黑客新闻——通常可让人身心愉悦,但却不会提升你作为一个软件开发人员的价值。

    我经常看到有开发人员想要说服产品负责人采纳某个特殊的功能,只因为这个功能实现起来或容易,或有趣,或令人刺激。请脚踏实地——不妨将自己放在雇主的位子上看问题。

    #3.避免安稳的工作

    那种安稳的工作是你应该竭力避免的。当然这是有争议的,有些人并不愿意换工作。

    如果你执行的任务能给雇主带来最大的价值,那么渐渐的你会发现你越来越重要。这也是你在工作中所能达到的最好成就,如果你没有辞职的话。这意味着,让你处理的问题已经被成功解决或者它的复杂程度已降低到随便抓个人都可以解决的水平。

    上述这种情况可以极大地提升你的价值。而且,他们反馈给你信息,你还可以用于将来的项目,从而表现出更多的价值,以此大大提高你的市场竞争力。

    反之,安稳的工作往往意味着缺乏进步。如果你用了多年的时间都在做同一个项目,并且这个项目在为客户提供价值方面实际上并没有任何成绩,那么很有可能是你的团队做得不好。你应该远离这样的处境,因为它会导致你的停滞甚至是退步。这工作本身可能看起来是份不错的工作,因为你不必投入大量的精力就可以获得一份不错的薪水。但是几年之后,你终将自食其果,不得不再次找工作,并且很有可能你应聘的公司会因你的经历而看扁你的技能价值。

    不惜代价地跟着同一个雇主,只为能获得一份稳定的工作,从长远来看是无益于你的职业发展的。

    #4.从帮助别人中提升自身能力价值(译者的话)

    像我们做软件开发这一行的,没有绝对的高手,不要以为自己掌握些内核就高高在上,相反,如果你可以利用自己的擅长点去帮助别人,那么在与别人讨论问题的过程中或许不知不觉的又提升了自己的能力。你说你掌握了JVM的全部内核,但是你并不一定能够完美的解答一些Java基础问题。(Java程序员可以加入Java 技术开发交流社区http://bbs.codeceo.com/forum-36-1.html,通过提问和解答来帮助别人和提升自己的能力价值)
    总结

    增加客户收入是一个双赢的策略:你能提供的价值越多,你就越有价值。

    译文链接:http://www.codeceo.com/article/programmer-improve-value.html
    英文原文:How to increase your value as a developer
    翻译作者:码农网 – 小峰


    一个优秀的程序员应该具备如下技能和修养:

    首先是“快速学习能力”。这里不是说一定要去快速去学习各种各样的新技术,而是说当有需要时,能够快速的学习。很多人开始学新的技术和技能时,一开始就一头扎进去写样例、写Demo、看源码,我认为这不是好的方法,而且比较耗费时间,收效也不明显。

    我给大家分享我的4W2H快速学习方法。我在学习新的技术的时候,都是按照这样的步骤去了解的:1)这个技术能解决什么问题(why) 2)比较适合在哪些场景应用(where + when) 3)这个技术跟我已经掌握的哪个知识或技能类似,有什么差别、有什么特点、 有什么优点和缺点(what),4)了解前面的问题后,我才会开始去尝试写写Demo,或者更进一步去应用(How to use) 5)觉得有兴趣或者其实现很牛逼的情况下,我就去研究一下原理机制,看看源码等 (How it implements)

    其次是“良好的理解能力”。程序员需要将产品人员或者用户用自然语言表述的需求翻译成程序语言。自然语言有一个特点就是通俗但不严谨,而程序语言必须是非常严谨的。如果对产品人员或者用户提出的需求没有很好的理解,即使程序语言写的再漂亮,技巧再高,最后做出来也是一个不符合要求的产品。

    记得有一个关于“美女”的笑话:人听到“美女”后的反应是想到“天使面孔魔鬼身材童颜巨乳”,而猪听到“美女”后的反应是“乌克兰大白猪”,猫听到“美女”后的反应是“有着金色光滑皮毛的波斯猫”。如果程序员给了猫一个“天使面孔魔鬼身材童颜巨乳”的美女,猫一定会觉得很难看。

    第三是“持续不断的学习”。软件开发领域设计的知识和技能太多了。从广度上来说,有操作系统、数据库、编程语言、网络、设计等,编程语言又有几十种;从深度上来说,操作系统、数据库、编程语言等都是可以不断深入去学习的。无论你是从事对技能广度要求更高的业务开发,还是从事对技能深度要求更高开发专项系统,都需要不断的学习,这样才能不断的提升自己的能力。

    第四是“乐于分享”。如果单纯从个人完成工作的能力来看,可能确实也有很多程序员不爱分享但确实很厉害。但我认为真正优秀的程序员一定是除了自己优秀外,还能让其他人也变得优秀,或者能够贡献优秀的开源项目以降低别人的重复工作。分享的途径有很多种,可以给公司人员做培训,可以写博客,可以贡献开源项目等。

  • 相关阅读:
    有效的工作,小记
    快排,做个笔记
    git在vs2017中的使用
    正则匹配指定字符之间的内容,并替换(多个匹配替换)
    记一个JS树结构路径查找
    追赶法求三对角矩阵
    vs 2010 Cannot find or open the PDB file
    mysql学习笔记6——用phpmyadmin和在腾讯微云中创建数据库
    mysql学习笔记5
    mysql学习笔记4
  • 原文地址:https://www.cnblogs.com/doit8791/p/4919047.html
Copyright © 2020-2023  润新知