软技能-读书笔记
一门给程序员解答除了技术上的提高,对职业生涯,甚至以后的生活都有所影响的书籍。
改变了程序员一些固有的概念,对自己的生活,职业,甚至人际关系都有很好的指导
职业
把自己当作一件企业
技能,性格等因素都关系到公司正常的运行,以后公司发展壮大还是失败(下岗),跟自己都是息息相关的
- 专注于你正在提供怎样的服务,以及如何营销这项服务;
- 想方设法提升你的服务;
- 思考你可以专注为哪一特定类型的客户或行业提供特定的服务;
- 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正 专注于一类客户,才能找到非常好的工作)。
时刻专注你的职业生涯,你的长远目标是为了实现什么
设定一个长远的目标,将之拆分成一个个小的目标,那么在渐渐努力靠近大目标的路上,你才不会迷失方向,并且一个个小目标的实现,有助于提高兴奋度和成就感
- 为职业生涯设定一个大目标
- 拆分大目标为一个个的时间节点,例如在就职的每家公司都学到了什么,有什么不足,这样在后面的求职上才有一个明确的方向,不要为了一份工作而草率的去工作
- 大的时间节点又可以拆分为年,月,周,甚至每天都有一个小目标,并定期审核这些目标能否帮助自己靠近自己设定的大目标
人际交往
人际交往是程序员进入公司后最容易忽略掉的一个,甚至有些人会排斥。他们更擅长与机器打交道,而不是和人打交道。但实际上,你从事的工作就是为人服务的,不管是写软件还是管理,通通都是为人服务,所以不要厌烦,而是应该主动去接收它
- 每个人都希望地球是围着自己转的,因此,和人打交道,不要轻率否决别人的想法,而是将自己带入别人,再给出建议,注意,仅仅是建议,而不是决定
- 永远不要批评,奖励积极行为永远比惩罚消极要有效得多,鼓励才是鼓舞士气最好的方式
- 换位思考,停止用“我”和“我想要什么”来思考。你应当开始思考对他人而言什么才最重要,什 么才是他们需要的。尤其是做产品的时候,自己盲目的以为用户需要,实际上做出来的东西,用户并不认同,这就是根本的原因
- 避免争吵,在小事情上,任何放弃立场或承认错误的机会对你而言可能没什么大不了的,但对他人却可能是举 足轻重的,这么做不仅能为你赢得不可估量的尊重,也能为你的未来积蓄财富,形势逆转时即可兑现使用
面试
所有的工作都需要面试,除非你是老板。能提前和面试公司的员工打好关系,甚至能和面试官有一定的交流,让他充分了解到你这个人,那么对后面的面试是相当大的帮助
- 让自己出名,能有一个地方展示自己,例如博客等
- 突破常规,想尽办法与公司内部人员建立联系,让内部人帮你推荐,那么就相当于已经有人利用自己的公信力为你背书
- 在技术上你能胜任,但相较于其他面试者,你占用的资源更少(时间,管理成本等)
- 实践,就算是为了面试经验,也应该经常出去面试,一方面是了解市场,另一方面是增加自己的面试经验
就业的选择
主要就是在为别人打工,为自己打工当中作出一个选择
- 雇员,合同制员工,大部分的选择。比较稳定,有各种福利,假期等,但同样的,薪资有天花板,并且作息时间固定
- 自由职业者,自己就是商品,为自己打工。比较自由,赚的钱都是自己的,有潜力,能按照自己的喜好来工作。但需要自己出去推销自己,项目也不太稳定,为一个人服务变成为多人服务
- 创业,这是完完整整的自己给自己打工,赚钱的潜力巨大,并且没有老板,你自己开发自己想做出来的东西;但相应的风险也是最大的,完全都只能靠自己,需要涉及到各种不同专业的技能,并且要长时间的工作
刚开始,都是从雇员做起,慢慢发展到为自己服务的阶段,也就是财务自由后的选择
定义自己
需要为自己做一个完整的评估,不管你是从事具体哪门语言的,你应该更深入挖掘自己,例如会python,名头是python开发工程师,但实际上从事的是运维开发这一块的工作,更往小里说,是专业从事自动化运维方向,开发工具的人员。
- 专业化很重要。只有专精于具体某一项,不管是找工作,还是以后的职业发展,才会有一个明确的目标,不要以为专精于一项,找工作很小众,但实际上,公司对于这一块小众的方向更愿意拿出价钱来
- 一些开发人员的专业化水平确实很深,已经成为某个具体平台或框架的专家。这些开发人员的潜在客户稀少,但由于他们 的专业化水平,他们能够开出非常高的时薪。
- 学富五车,或者灵活变通并同时仍有所专长让自己卓尔不群。如果你非要二选一,那先从专业化开始,再拓展分支
公司的选择
- 小公司,小公司一般都是创业公司,为了盈利,可能会加班加点,并且需要一个人干几个人的活,需要的知识面比较广,并且不愿意培养人
- 中等公司,有盈利的业务,比较稳定,但往上提升的空间有限,在中等规模的公司里,缓慢而稳健的做事风格通常能占得先机
- 大公司,最大的事情也许就是那里大量的规范和流程,并且大公司愿意培养人才,培训的机会很多,对出入职场的人很有帮助。大公司通常有着复杂的政治体制,你想要完全置身事外,那最好栖身于 扁平化管理结构的小公司。
- 如果有选择在软件行业的公司和非软件行业,那么尽量选择软件行业的人,这样公司都是这样的人,工作环境会更让你感觉到舒服。
如何获得晋升
获得晋升,包含了提职,加薪等内容,每个人都想得到晋升的机会,但要获得晋升,必然要让别人看到你的价值所在
- 勇于承担责任,在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。牵头项目,或者新人的导师,这两方面都很容易得到机会
- 引人注目,例如每天写日报,周报;参加演讲,培训别人;在会议上能有自己的独特建议;保证在领导面前的曝光度
- 自学,自学是最廉价,最有效的获得自身技能提升的方式。不要只学软件开发,管理,营销等方面都可以学习
- 称为解决问题的专家
- 远离办公室政治
努力称为专业人士
引人注目,恪尽职守,以及不屈服于挫折。成为专业人士,需要你克服自身的缺点,静下心来 创作出尽可能最好的作品。
- 严肃对待自己的责任和事业,敢于说不
- 养成良好的习惯,最成功的人士都很自律
- 坚守正道,专业人士会评估需要完成的工作,判定优先级后再 开始工作。
- 追求品质,完善自身的能力
如何辞职
- 不要在自己缺乏坚实的计划之前就决定辞职,在考虑辞掉工作之前,你需要有一个切实可行的计划。我强烈推荐先在业余时间启动你想创建的业务,等能从这项业务中 产生足以维持生计的收入时,你再转为全职
- 在准备好自己全职为自己工作之前,先对自己进行测试,能否适应这样的工作状态
- 注意签合同时,有些公司会表明,员工所有的劳动成果都属于公司,那么你再业余时间内的产出也会算到公司头上
成为自由职业者
- 从做兼职开始,因为你需要一个长久的客户来避免你陷入财政危机
- 从周围人中获得经验,如果有人已经开始了自由职业者的阶段
- 获得客户最佳途径的就是你的亲人和朋友,所以你需要推销自己出去,先从免费的做一些有益于别人的事情开始,然后后续就会得到关注,这样才能有真正的客户关注到你
- 你可以把自己的工作看作是商品,也可以把它看作是能够增加客户盈利能力的服务。如果你决定把自 己的工作看作是商品,为了工作你就不得不跟其他开发人员竞价了,这些人中很多人的出价是很低的
- 如果没有任何潜在客户跟你讲“不行”或者“你的收费太贵了”,马上提高费率!不断给你的收费加码, 直到你听到“不行”为止。客户愿意为你的服务付的价格可能会让你大吃一惊。
开发你的第一个产品
- 为自己的产品寻找定位,首先应该找准一个方向,然后再从论坛,社区等该方向的客户询问他们的痛点,根据这些再来开发,避免先自己天马行空的认为产品应该是什么样子就直接执行了,这样不利于后期的推销
- 测试市场,产品推出之前可以先问下受众并且愿意付费的用户有多少,再开始执行,这样能让你更有安全感的开发
- 从小处着手,尽可能缩短自己的学习曲线,尽量缩短开始行动到看到成果之间的周期,这也是为什么创业公司都会加班加点的干活来抢占市场
- 开始远比空想更有意义
远程工作的策略
- 时间管理,日程表越有规律、越是规划得当越好
- 自我激励,可以从设定一个15分钟的全身心投入来实施,事实证明,一旦我们专心致志地工作一段时间,我们就会沉 浸其中,也有动力继续。我把这称为冲量效应
- 孤独感,需要时常与其他人交流,保证信息的畅通的同时,也能避免自己产生的孤独感
改善简历
简历是雇佣者了解你的唯一选项,如果你不是很出名的话
- 保持自己的简历在线
- 雇佣专门修改简历的优化你的简历
- 对自己的简历保持严谨的态度,不要让你们多出错别字,或者不明确的东西
不要一个劲的只投入到技术中
技术很重要,但有些东西并不代表全部
- 长时间从事同一个方向的技术,不要贬低其他的种类,你了解了也许会有和之前截然相反的想法
- 在很多情况下,解决问题并不只有一个好的或是最好的方法。同理,最好的编程语言、 框架、操作系统,甚至是文本编辑器不会只有一种
- 对技术保持开放的心态