专栏名称: 程序员大咖
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。
目录
相关文章推荐
程序猿  ·  代码美如画,装上这些主题,VSCode ... ·  3 天前  
程序员小灰  ·  利用AI,我开发了一款文字RPG游戏! ·  5 天前  
OSC开源社区  ·  JetBrains官宣两款重量级IDE非商用免费 ·  3 天前  
51好读  ›  专栏  ›  程序员大咖

程序员的成长离不开哪些软技能?

程序员大咖  · 公众号  · 程序员  · 2017-05-21 19:05

正文



程序员要如何讨人喜欢、令人欣赏、通过自己富有积极性和支持性的行为去激励他人?比如说关心自己,关爱自己的背部、臀部乃至大脑重要吗?如果你不关心它们,它们终究会坏掉。怎样这些可以不坏掉?我们有什么需要学习的软技能?

程序员的成长离不开哪些软技能

| 雨妹 | 


职业生涯的四个阶段


受助和学习阶段

  • 在别人的帮助下完成分配的任务

  • 适应和熟悉工作环境

  • 遇到问题的情况下能够及时汇报问题,并在别人的帮助下解决问题


独立贡献阶段

  • 按时高质量完成分配的任务

  • 独立完成有挑战性的任务

  • 独立解决非预期问题。

  • 对整个项目/系统有整体的认识


带动他人一起贡献阶段

  •  具备深度和广度相结合的专业知识和技能

  •  能够根据需要完成团队组建

  •  能够为他人分享经验

  •  协助他人处理问题并传授处理问题的方法

  •  创建团队协作环境

  •  带领团队关注结果


领导创新阶段

  • 对行业和领域具备一定的前瞻性

  • 专业水准得到组织内部及同行的认可

  • 根据专业判断为组织制定发展战略



工作压力及如何缓解压力


心理压力源


  • 认知性:目标模糊、不确定,约定的目标难以执行 ,时间紧或等待 ,难以选择或没有选择 。

  • 情绪性:恐惧、焦虑、失败、悲伤、愤怒、挫折、损失和负罪感 ,厌倦产生的动机冲突、想家 ,精神上的诱惑导致丧失信仰 ,人与人的感情躯体压力源。

  • 睡眠缺乏 ,营养缺乏、疲劳 、伤病



如何判断自己压力过大?


如果你有发现自己有如下情况,可以判断为压力过大。


  • 不断地让自己接受新的工作,同时也不放弃原有的工作

  • 开始怀疑生活、事业或者工作的意义。

  • 虽然很喜欢自己的工作,但投入过多的时间时有感到很内疚。

  • 有时候会莫名其妙地心烦意乱,甚至感到透不过气来。

  • 你知道你的工作需要感情投入,但不知道怎么做到。

  • 希望对工作更有自信心。

  • 似乎没有其他时间学新的东西。

  • 在工作空闲的时候也很难放松。

  • 有时候会莫名其妙地心烦意乱,甚至感到透不过气来

如何缓解工作中的压力?


立刻缓解法:

  • 停下手头的工作,去喝杯水或者看看窗外。

  • 戴上耳机听一会音乐。

  • 随便找个话题找你身边的人聊上几句。换个其他事情做一下,转移一下注意力。

  • 闭上眼睛,可以快速浇灭怒火。

  • 转转脖子,缓解僵硬。

  • 拥抱自己,用双臂紧紧拥抱一下自己。

  • 闻闻植物,离绿色植物10厘米左右,深呼吸5次。

  • 自我解嘲。

  • 击掌、跺脚,两三分钟即可。


长期缓解法:

  • 设置一个明确的目标,努力弄清楚自己想做什么,该怎么做,越早好。尽量做自己喜欢的事,设置今后几个月或几年的目标。

  • 和谐的关系。努力在同事、合作者间寻求和谐轻松,有所回报的关系。

  • 完成工作的时间表。制定每项工作的完成时间。

  • 学会心理换档。每小时工作中抽出5分钟来放松自己。

  • 及时处理问题。越棘手的问题优先解决。

  • 快乐的工作。多参与户外活动或者体育活动。



如何控制需求


当测试人员发现一个BUG,第一时间肯定是交给开发人员修复,那么这些BUG都是开发造成的吗?不一定!很多BUG其实是由需求造成的。那么如何控制需求呢?


接到需求需要问的几个问题:


  • 就这个需求而言,客户/用户真正需要的是什么?如果客户提出“我需要一匹跑的更快的马”,你可能会为客户提供一匹汗血宝马。但是客户的真正需求是“更快”,而马只是一个解决方案,因为在汽车刚发明的时候,他可能从来没有见过汽车。

  • 这个需求真的有价值吗?如果用户提出在一个在线游戏平台做一个虚拟商品拍卖的功能,但是虚拟商品的有效期非常短,那么明显这个拍卖功能就没什么价值,因为拍卖不可能那么高时效性。

  • 这个需求是合理的吗?有没有隐藏的疏漏或者BUG。

  • 给出的需求信息里面是否完整包含“作为一个【角色】, 我想要一个【功能描述/目标期望】以满足【商业价值】”这里面的三个要素。

  • 这个需求是否还有其他关联/隐藏的疑虑需要考虑?

如果上面问题都解决了,那么就可以接着解决以下两个问题:


1. 这个需求能否分解为更小单位的需求?这样可以方便分配开发任务。

2. 这个需求如何进行测试? 任何需求都需要保证能够被测试。


在保证需求没有问题以后,就可以按照下面的步骤处理需求:

1. 对需求进行优先级排序。

2. 把需求分解为最小可开发的Task(任务)

3. 如果还有遗留的问题/风险,建一个Task来处理这些风险/问题。


如何高效的管理自己的时间(感谢@林嗣翻译)


  • 定期回顾一下前一段时间都做了什么,时间都花费到哪里了

  • 分析一下自己的强项和弱项,弱项更可能花费更多的时间

  • 列出自己近期的目标,并按优先级排序

  • 确保自己的工作方向与上级工作要求保持一致(避免返工)

  • 掌握瑞士奶酪法--在一个比较大的任务中使用"见缝插针"的方法利用时间,而不要消极等待整块时间的出现

  • 详细的规划自己的任务进度

  • 结合自己的工作计划建立自己的日程表,并保持不断的更新

  • 把工作和生活划分开,留出固定的时间给私人生活(不然会很累)

  • 把简单的工作尽早完成

  • 可以不参加的会议坚决不要参加

  • 不要太为难自己--如果你觉得事情太多掌控不过来,那就从最重要/最紧急的一件一件的去做。


写电子邮件的10要10不要(感谢 @丁丁翻译!) 


十不要:

Don’t write a novel—avoid long sentences 

不要在邮件里面写小说 - 避免长篇大论,避免使用长句子


Don’t use email to discuss confidential information

不要用邮件讨论机密信息


Don’t write in CAPITALS

不要全部使用大写字母(不要使用怪异字体)


Don’t copy a message or attachment without permission

不要在未经许可的情况下复制消息或附件


Don’t overuse the high priority option 

不要滥用“重要”标签


Don’t leave out the message thread

多使用邮件的回复功能以保留必要的背景信息


Don’t ask to recall a message

不要要求对方撤回邮件


Don’t make things “urgent” if they are not 

不要滥用“紧急”标签


Don't forward virus hoaxes and chain letters

不要转发恶作剧病毒和连锁信件


Don’t reply to spam

不要回复垃圾邮件

十要:

Do be concise and to the point

表达做到简洁到位


Do know the appropriate use of: To, CC, and BCC 

知道得体的使用“收件,抄送,密送”


Do minimize the use of the “reply to all” button 

做到尽可能少用“回复给所有人”按钮


Do use proper spelling, grammar & punctuation

恰当的使用字母拼写,语法和标点符号


Do answer all questions, and preempt further questions

确保回答所有的问题,避免更多的问题


Do answer swiftly 

做到迅速回复


Do take care with abbreviations and emotions. 

谨慎使用缩写和表情符号


Do use a meaningful subject line

使用有意义的标题


Do avoid sending personal emails from your office address

避免在办公地点发送私人邮件


Do read the email before sending

发送邮件前通读一遍确认


撰写邮件的几个技巧


记住KISS原则... Keep It Short and Simple!

  • 抓重点,邮件第一句话就把五个W讲清楚(Who, What, When, Why, Where)。

  • 邮件结尾写明你需要对方做什么或者你会做什么。

  • 站在阅读方的视角来写邮件

  • 一封邮件尽量只说一件事

  • 如果有多个问题,用数字标出来,这样对方更容易根据问题序号一个一个回答

  • 做好保密工作,特别在回复所有人的时候。

  • 谨点发送按钮(确认是否发送对象是否正确、是否缺少附件等)



【版权归作者所有,程序员大咖整理发布】


  • 作者:Jim Jin

  • 转载请联系作者授权


↙点击“阅读原文”,加入 

『一个靠人多好看取胜的组织』