软技能——如何成为优秀的软件开发人员?

你是否经常制造各种bug百思不得其解?

你是否常常效率低下而不得不通过加班来弥补?

你是否常常在迷失技术的海洋中,不知所措?

你是否对自己的职业生涯感到迷茫,毫无计划?

你是否对自己的腹部日渐隆起而羞愧难当?

 

那么,来看看《软技能-代码之外的生存指南》吧!这是一本给程序猿(媛)们量身定做的全栈指南。(公众号回复 “软技能” 即可获得电子书)

 

 

全书关注的不是你能做些什么,而是“你自己”,关注你的职业生涯、你的生活、你的身体、你的思想和精神,关注如何超越编写代码本身?



1

 

第一篇谈论职业生涯,很少有软件开发人员主动管理自己的职业生涯,其实对于大多数人也是一样的,可成功的结果都不是偶然的,他们都得先确定一个明确的目标,并且制订好可靠的计划,以及坚持不懈的行动力,才能达到。所以你需要通盘考虑好之后再决定,要做什么,什么时候做,以及如何义无返顾。请记住:工作是属于公司的,而职业生涯却是属于你自己的。

 

  • 当你拥有一个商业心态时,把软件开发事业当作一桩生意来看,你就会发现,你从被一纸“卖身契”束缚住的仆人转变为一名拥有自己生意的商人,你就不再被特定的角色固化了你的整个职业生涯,你可以从仰人鼻息的弱势地位转换成为自我治理和自我引导的主动地位。

     

     

     

  • 积极思考未来,设定你自己的目标。大多数人都害怕为自己的职业生涯设定一个长远的蓝图,惧怕选定后要一往无前,因为他们希望自己有多个选择。“如果这条路错了该怎么办?”,“如果我不喜欢自己选的路又该怎么办?”为了安逸,就倾向遵循已设计好的路线,或者裹足不前。设定大目标不一定要非常明确,但是方向要准确,一旦确定好了,就需要设计好路线。如何吃掉一头大象?--答案是一口一口吃。我们把大目标分解成一个个小目标,设定自己的年度、季度、月度、周、日目标,然后定时追踪这些小目标,随时调整自己的航线。

     

  • 人际交往能力,远比你想象的重要。别管我,我只想一个人安静地写代码。可能很多和机器打交道的人都有这种罪恶的想法。实际上,学会与人打交道对我们都很重要,有几点建议:1.每个人都希望感到自己很重要;2.永远不要批评,多鼓励;3.换位思考;4.避免争吵。

     

  • 破解面试之道。一般面试流程:发出一堆的简历->获得面试机会->面试;改进的流程:从期待加入的公司里找到联系人->与该联系人建立紧密关系->获得个人推荐->面试。你觉得哪个成功率更高呢?

     

  • 就业选择。选择1:雇员;选择2:独立咨询师;3:创业者;你会选哪个?各个利弊都需要分析。雇员的优缺点:优点稳定、从业之路轻松、带薪假期,缺点缺少自由、收入封顶等。独立咨询师:优点更大的自由度、可以持续不断地做新项目、赚钱潜力等,缺点自己寻找业务、打理一切事务开销、从为一个老板服务到为许多老板服务。创业者:优点完全自由、巨大的赚钱潜力、做你想要做的工作、没有老板;弊端风险很大、完全依靠自己、需要许多其他技能、可能长时间工作。

     

  • 你是哪类软件开发人员?给的建议是专业化很重要,在一个专业方向上拥有自己的专长。专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大。

     

  • 公司和公司是不一样的。小公司:优点 承担多种职责,灵活的角色转换,对工作影响较大,回报潜力大;缺点 没法安静地坐下来写代码,工作在众目睽睽之下,稳定性差。中等规模公司:优点,工作稳定,加班较少;缺点,变化很慢低下,没有机会使用前沿技术。大公司:优点,完备的流程和规范,培训机会多,大型有影响力的项目;缺点,充斥着官僚主义作风,可能只负责代码库的一小部分,很难获得关注。

  • 攀登晋升阶梯。1.寻找机会主动承担责任。2.引人注目,每天记录自己的活动日志,提供演讲和培训,发表意见,保证“曝光度”。3.自学。4.成为问题的解决者。

 

  • 成为专业人士。成为专业人士是一种心态。如果我们总是与恐惧、自毁、拖延和自我怀疑作斗争,那么问题就是:我们正在像外行那样思考问题。外行毫不起眼,外行人废话连篇,外行屈从于逆境。专业人士可不这么想。不管怎样,他引人注目,他恪尽职守,他始终如一。

 

  • 为赢得自由-考虑如何辞职。如果你还不想为自己工作,就继续享受作为一个员工的好处。如果梦想有天为自己工作,成为自己的老板,那么就得清楚自己每天真正工作的时间有多久,对自己实际承担的工作量有个实际的预期,并训练自己能提前处理更高强度的工作负荷,并迈出这一步,成为自由职业者,开启自己的一片天地。

 

  • 当然,在职业生涯中必定会遇到自己无法处理的情况,这时候你是选择知难而退还是勇敢地出来直面挑战?“假装自己能成功”,坚信挑战与机会并存,拥有破釜沉舟的勇气。

 

2

 

第二篇自我营销,营销是一场争夺人们注意力的竞赛。一般人对营销人员都会皱眉头,认为是急功近利使用不诚信的手段,或是一个兜售骗局。其实营销追求的是“实现价值在先,要求回报在后”。

  • 针对“码农“的营销:自我营销意味着什么?意味着为他人提供价值。其实无论你试图说服他人接受你的想法,还是面试求职,都是某种推销。自我营销就是学习控制好自己要传递的信息,塑造好自己的形象,扩展信息送达的人群。当你营销自己的时候,就是在积极地管理的自己的职业生涯。

     

     

  • 创建博客。作为软件开发人员,推销自己最佳媒介之一就是博客。面对面交流毕竟有限,所以你需要另一种方式推销自己。面试的时候,简短的简历和短暂的面试来评估开发人员的技能可能困难,但是有自己的博客,可能有丰富的相关信息,包括代码示例,以及对软件开发各方面的深入分析,这对于求职,提升自己的影响力是有非常大的优势的。

 

  • 你的目标:为他人增加价值。不要努力成为一个成功的人,而要成为一个有价值的人。正如阿里巴巴的口号,“让天下没有难做的生意”,在帮助别人的同时成就了自己。

 

  • 对于营销自己的其他方式:善于运用自己的社交媒体,保持活跃度与你的目标受众保持联络;通过演讲、报告和培训,做说话的极客,走上讲台发表演讲,面对面与听众交流、直接获取反馈,这是其他方式不能比的;著书立说,吸引追随者;万事开头难,想做好一件事不容易,要百折不挠,越挫越勇,天下岂有难事乎?不为则难,为之,则易。

 

3

 

第三篇学习,教育就是当一个人把在学校所学光全部忘光之后剩下的东西。

 

  • 如何自学:你要学习怎样学习,如何自我教育。教育的首要目标,并不在于“知”而在于行。想学习一些东西最好的方法就是付诸于实践。

 

  • 我的“十步学习法”;

 

  • 1-6步,只做一次即可。1.了解全局,这一步就是了解自己到底要学什么?2.确定范围,对自己学习的主体及其全局有一个大致了解;3.定义目标,确立成功的标准是什么。4.寻找资源,利用各种信息来源,收集相关资料。5.创建学习计划,观察别人如何教你感兴趣的主题。6.筛选资源,对收集到的资源中选出最能帮助你实现自己目标的资源。

 

  • 7-10步,需要循环往复。通过“学习-实践-掌握-教授”的方式真正领会知识。7.开始学习,浅尝辄止;需要快速学习基础知识,立刻开始实际操作。8.动手操作,边玩边学;主要是勇敢探索,不要担心结果。9.全面掌握,学以致用;阅读收集的资料进行深入学习,试着掌握每个模块,向着终极目标前进。10.乐为人师,融会贯通。你告诉我的,我都忘了。你教会我的,我都记得。让我乐在其中,我就一定能学会。-本杰明.富兰克林。

 

  • 每个人都有自己的短板,有时候短板会影响到你的工作效率,这时候就需要揪出来进行弥补。下面是检测知识短板表:

 

4

 

第四篇生产力。一个好的程序员的生产力十倍于初级程序员,同样对于我们富有效率的工作会为职业生涯添上一对翅膀。

 

  • 我的私房“生产力提升计划”,基本思路,把一周的时间分配给一个用时不超过两小时的小任务。使用看板来安排自己的一周活动。看板是一个简单的白板,有几个列,可以轻松地在各列之间移动任务项,在敏捷方法世界里,看板通常还包含展示这些任务项所处的不同状态,典型的状态有“未启动”“进行中”和“已完成”。看板中每一列就是一周的每一天。在工作中使用番茄工作法来保持专注,“番茄工作法”,即每半小时为一个单位,在前25分钟不中断地专注解决一个问题,后5分钟起来休息喝水,每两个小时左右休息20分钟左右。

 

  • 我的“定额工作法”:我是如何做到超额完成工作的。用定额工作法确保自己每天、每周都朝着自己最重要的目标取得明确的、可度量的进展。例如每周跑步3次,每周发布一篇博客等。明确自己要做什么,多久做一次,接下来就是做出承诺,除了想方设法完成工作,不留其他选择。

 

  • 要不要多任务并行?多任务并行一般都糟糕,就像计算机的任务切换一样,切换时需要保存当前的状态,然后设置新的环境,才能开始运行,这样一来,真正做事的时间就少了很多。批量处理生产效率会更高,比如处理电子邮件,打电话,修复bug,开短会等,批量处理可以让你更专注。

 

  • 时间是怎样浪费掉的?文中提到电视占用了人们大量的时间,现在的时间杀手应该是网络游戏,各种小视频、社交媒体、不必要的会议。所以跟踪一下自己的时间都花在哪里了,利用自己宝贵的时间去实现你的目标吧。

 

  • 培养习惯,刷新你的代码。成就我们的恰恰是那些不断重复的事情。因此,优秀不是一种行为,而是一种习惯。-亚里士多德。找出自己的坏习惯,努力改掉吧,养成好习惯,在生产力获得双倍提升。

 

  • 任何行动都比不采取行动好。任何行动往往都比没有行动好,特别是当你一直停滞在不愉快的情势下很长时间的时候。如果这是一个错误,至少你学到了一些东西。这样一来,它就不再是一个错误。如果你仍然选择停滞不前,那么你就学不到任何东西。

 

5

 

第五篇理财-金钱只是一种工具,它会带你去往任何你想去的地方,但不会取代你成为司机。--爱思.然德

 

  • 怎样支配你的薪水,首先拒绝短期思维,明白资产和负债的概念。

  • 怎样进行薪酬谈判。你要明白薪酬谈判始于求职之前,并很大程度受声望的影响,获得工作的方式也是至关重要的。

 

6

 

第六篇健身-人的身体就是人的灵魂的最好写照。——路德维希•维特根斯坦

  • 为什么要谈论健身,身体是革命的本钱,如果你不注意自己的身体健康,并不看好你能成为顶尖的程序员。健身不仅是保持健康体魄的关键要素之一,也是灵活的、具有创造性的脑力活动的基础。所以没事多健身,有时间多赚钱。下图为本书作者:

     

     

7

 

第七篇精神-如果你不征服自己,你就会被自己征服。-拿破仑•希尔

信念决定思想,思想决定言语,言语决定行动,行动决定习惯,习惯决定价值,价值决定命运。--圣雄甘地

 

  • 你要了解自己的思想是如何影响自己的身体的,并充分调动自己的积极性,发挥积极性的正面作用,“塞翁失马,焉知祸福”,乐观、自信地去面对生活,不仅仅对自己有很大的提升,对他人也有潜移默化的影响力。

 

  • 面对爱情与恋爱,计算机无法牵着你的手。为什么总是嘲笑程序员没有对象的时候自己New一个就好了,有一种流行的叫“永远孤独”的互联网文化基因,也许深受这种文化感染导致的。可喜的是,最近的一份数据显示,过一半以上的程序员都处在恋爱中。

  • 另外,积极面对失败吧,跌倒七次、爬起来八次。生活中,也许你能学会让你更成功的所有技能,但是如果你缺少持之以恒这个重要的技能,一切将是毫无意义的,以为那样的话一遇到麻烦你就放弃——生活中我们都会面对很多麻烦。关于失败,大多数伟大的人取得的最大成功与他们所经历的最大失败只有一步之遥。失败不等于被打败,只要我们活着,努力尝试,不抛弃、不放弃,就会出现最好的结果。

     


 

最后,推荐一些书单:

  • 自我提升的,Steven Pressfield的《The War of Art》、Dale Carnegie的《人性的弱点》、Napoleon Hill的 《思考致富》、Maxwell Maltz的《心理控制方法》、Norman Vincent Peale的《积极思考就是力量》、Ayn Rand的的《阿特拉斯耸耸肩》。

 

  • 软件开发类图书,Steve McConnell的 《代码大全》、Robert Martin的《代码整洁之道》、Eric Freeman、Elisabeth Robson、Bert Bates和Kathy Sierra的《Head First设计模式》。

 

  • 投资类图书,Gary Keller的The Millionaire Real EstateInvestor、Robert Kiyosaki的的《富爸爸,穷爸爸》。

     

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼儿LY

一切随缘

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值