这十一条程序员必备软技能,你一定要知道

Posted singwhatiwanna

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这十一条程序员必备软技能,你一定要知道相关的知识,希望对你有一定的参考价值。

# 干了这碗鸡汤

懒惰是很奇怪的东西,它使你以为那视安逸,是休息,是福气;但实际上它给你的是无聊,是倦怠,是消沉。

-- 罗兰

大家好,我是程序喵!

前段时间有大佬推荐了一本书《软技能:代码之外的生存指南》,这本书是我觉得所有开发人员,甚至所有职场人士都值得一读的好书,我花了一周时间读完后,总结了一些重要知识点,分享给大家:

目录

如何规划自己的职业生涯?

如何处理人际关系?

如何破解面试?

通才好还是专才好?

该进大公司还是小公司?

如何才能在职场中晋升?

如何修改单调乏味的简历?

如何高效学习?

学历重要吗?

如何谈薪资?

01

如何规划:把自己当作企业去经营

工作是属于公司的,职业生涯却是属于我们自己的,在这个满是:内卷、竞争和倒挂的互联网环境里,想要脱颖而出,靠一份优秀的简历是远远不够的。

我们普通打工人的第一要务就是转变心态,不要只把自己当作一个打工人,自己一定要有一种商人的心态,把自己的工作当作是一个企业去经营,如果按照这样想,那么我们的目标就是“如何经营好我们自己这个企业”

很多人对如何规划自己的职业生涯都是迷茫的,大部分人都是一头扎进工作里,的确,我们现在所处的社会是变化速度非常快的,如果做太长远的规划是不切实际的,但是如果我们想要脱颖而出,那就要了解以下几点:

你能提供怎样的“服务”,如何“营销”这项服务

如何提高“服务质量”

思考你可以专注为哪一特定类型的客户或行业提供特定的服务

集中精力成为专家,专门为某一类型客户提供专业的整体服务,作为一名软件开发人员,最好专注于某一类客户,才能找到好的工作。

简而言之,就是找准某个方向,并在这个方向上成为专家。

Action

尝试着多想几步,思考未来:你的目标是什么,设定一个目标,其中至少要有一个大目标,并将大目标分解成相应的多个小目标(先挣它一个亿),具体细化为每月目标,每周目标,每日目标等。

02

如何处理人际关系

曾经我一度以为程序员只要编程能力够强就足以混迹职场,但其实,程序员的工作并不是天天一个人埋头写代码就可以了,与人打交道是任何工作都避免的技能。初入职场的时候,我就曾经有和同事因为工作吵得不可开交的经历,当时如果读过这本书,或许我能克制住自己,以更恰当的方式去处理。

如何与人打交道呢,可以从以下几点着手:

大多数人都渴望提升自己的存在感,希望自己受到更多的关注,所以尽可能做到不要忽略任何人

永远不要批评别人,批评别人永远是最低效的手段,谁希望自己被批评呢

换位思考,尝试着从对方的角度想问题,去理解对方

避免争吵,《人性的弱点》中经典的一句:据我所知,普天之下解决争吵的灵丹妙药只有一个,那就是避免争吵,像躲避响尾蛇和地震一样的远离争吵。

Action:

  • 强烈推荐阅读《人性的弱点》,虽然已经被各大书单推到烂,但此书的确对你的工作、生活、人际关系会有很大的帮助,也会让你变得更加豁达。

  • 下一次当你被拖入一场争吵之前,尝试着认输,事实上,不仅仅要认输,更要果断站在对手一边,结果会让你大吃一惊,不妨一试。

03

如何破解面试?

不要直接投递简历!

不要直接投递简历!

不要直接投递简历!

多数情况下我们都是自己去各个公司网站或求职APP上疯狂向各个HR投递简历,但事实上,HR们也都很忙很傲娇的,尤其一些大厂,收到的简历本来就多,如果你的简历内容、排版不够出众,很有可能会被忽略。

最好的方式就是找内推,一般来说内部员工在公司还是有点信服力的,如果公司内部一个技术大牛把你的简历递给了HR,也许HR会高看你一眼呢。我也是确实尝到过内推的甜头,当年大学的时候找实习,投递了很多简历都石沉大海,我也清楚自己编程能力一塌糊涂,就请很多朋友帮我内推,其中一个大厂朋友把我推荐给了他的主管,经过几次面试,主管觉得我还算有潜力,给我发了offer。

*找内推可以大大增加你的简历被HR看见且邀约面试的机率,但决定你能否收到offer的还是业务能力,否则即使增加了几成进入面试的机率,最终的结果也大概率是失败。

Action:

  • 现在就开始准备,确保自己始终保持技术能力,确保自己一直阅读技术书籍和博客文章,花时间提升自己的专业技能

  • 未雨绸缪,我们可以拓展自己的社交网络,认识同领域更多朋友,真正的进入互联网这个圈子

  • 即便我们现在对换工作毫无兴趣,我们也要时不时出去面试,积累面试经验,认识到自己的不足,也能了解到自己在这个行业市场上的定位

04

通才好还是专才好?

从各个公司招聘的职位描述上可以看到,多数都是Java开发、C++开发、前端开发等,很少有全栈开发工程师,所以在选择成为通才还是专才上,可能专才更适合大部分人。我们需要在一个专业方向上拥有专长,专业化程度越深,获得这些机会的可能性越大。Java开发500个机会,可能其中JavaWeb只有200个,但如果你精通,你获得JavaWeb的机会就更大。到中后期我们才需要知道的更多,了解更多领域更多方向的知识,但首先你要先做一个方向上做到精通,然后再横向扩展。T型人才才是行业需要的。

团队里有一个全能的开发人员是好事,但很少有公司或客户会去寻找这样的人才(PUA除外),即使你各种技术能力都惊人,通晓50种编程语言,但你最好还是选定某个专业领域,哪怕时不时去换一下,先从专业化开始,再拓展分支。

Action:

  • 列出你能想到的所有软件开发的方向,逐一细化,看看你能细化到多具体。

  • 你当前的专业方向是什么?如果没有的话,想想你会选择专攻哪个方向。

  • 去主流的招聘网站上看看自己的专业领域市场行情如何。确定一下,专业化道路是会让自己受益,还是过度限制了自己的选择。

05

该进大公司还是小公司?

大公司:

)优点:完备的流程和规范,培训机会多,可能有机会做大型有影响力的项目。

)缺点:充斥着官僚主义作风;可能自己只是一个螺丝钉,只负责代码库的一部分,只能接触到特定领域很小的一部分,很难获得关注。

中型公司:

)优点:工作稳定,加班少

)缺点:变化缓慢低下,没有机会使用前沿技术

小公司:

)优点:承担更多职责,灵活的角色转换,对工作的影响较大,回报潜力大

)缺点:稳定性差,风险高,可能大富大贵,更可能一无所有

各个公司有通用准则,但每家公司又截然不同,每家公司都有自己的文化,哪种工作环境适合自己?哪家企业文化更适合自己?决定权都在你自己,在选择工作之前多与这家公司工作的开发人员聊一聊是好主意。

Tips:技术公司和拥有技术人员的公司是不一样的,两者有很大差别,我们开发人员尽可能选择技术公司而不是拥有技术人员的公司,两者对技术人员的态度和待遇有明显区别。

Action:

  • 花点时间多思考自己喜欢什么样的工作环境,什么规模的公司符合你自己理想中的工作环境?

  • 列出你所在地区的公司名单,或者你工作过的公司,看看属于哪种类型。

06

职场如何晋升?

四点:承担责任、引人注目、能力出众、解决问题。

)承担责任:职业生涯中,无论是普通技术人员还是管理层,我们经常会碰到是否应该承担更多责任的选择,从长远看,正确的选择永远是接受它,承担更多的责任。

什么时候需要我们承担更多的责任呢?

  • 如果被安排了一个不受重视的项目,你愿意去负责它吗?

  • 你愿意或者你有能力帮助团队里的新人快速成长吗

  • 你能负责文档制作流程,并保证及时更新这些文档吗

  • 哪项工作是没有人愿意做,你愿意承担起来,并将其简化或者自动化?

)引人注目:不止埋头做成了事情,还要让别人知道。

  • 每天都记录自己的工作:例如发周报

  • 提供演讲或培训:选择一个对你的团队有用的话题

  • 发表意见:对某件事情有什么看法时,不要怕,勇敢的说出来

  • 保证曝光度:定期与领导/老板见面,确保经常被注意到

)能力出众努力学习,提高自己的专业技能,管理技能等

)解决问题:别人解决不了的问题,你能解决,团队没有你不行,那不晋升你晋升谁呢。

Action:

  • 在你当前的工作岗位上,你可以通过什么方式承担更多的职责?

  • 反思你的老板和经理,你的曝光度如何,下一周,你怎么利用上述的方式提升自己的曝光度?

  • 目前你正在学习什么?确定要自学的最有价值的东西是什么,制定一份下一年下一季度的自学计划。

07

如何修改单调乏味的简历?

找更专业的人帮你修改简历。你可以花费很多时间去学习如何修改简历,但每个人的时间都是有限的,我想你可以尽可能的把这些时间用在提升专业技能上,花少量的钱可以节约时间,节约下来的时间就是最珍贵的财富。但前提你要有能力,可以锦上添花,但是不能无中生有,自己是空壳,再怎么包装也无用。专业的人做专业的事,要修改单调乏味的简历,尝试着找一个简历写手,把自己的情况尽量全面的告诉他,让他花时间去包装。

不想花钱的话该怎么做?可以试着把简历给一些关系好点的招聘人员或者有经验的面试官,询问他们的意见,他们看过大量的简历,没有谁比面试官更了解你的简历是不是最佳的。

08

如何自我营销?

尽管有句老话:是金子总会发光,但酒香还怕巷子深,或许我们等不到发光的那一刻。尤其是信息爆炸的时代,自我营销尤其重要,有才华是基础,但仅仅有才华是远远不够的,可能伟大的音乐家和超级巨星之间的区别就在于营销,适当的营销能让你的才华表现的淋漓尽致。

在互联网界,营销也至关重要,再牛逼的开发如果没人认识你,你也只是浮云。

我们可以把自己当作一个公司,试着打造一个引人注目的品牌。

什么是品牌?星巴克、肯德基、海底捞,这都是品牌,品牌即承诺,承诺按照你预期的方式交付你预期的价值。

人和品牌有什么共同之处呢?我们先看看构成品牌有什么要素:

  • 品牌所要传递的信息:缺乏信息的品牌就没有了目的性,信息就是你想要传达的以及品牌所承载的情感诉求。海底捞品牌所传递的信息就是服务,宾至如归的服务;

  • 品牌的视觉符号:海底捞,肯德基,其logo相当的有品牌辨识度,也有利于加速品牌信息的传播;

  • 品牌的一致性:始终符合你的定位,始终符合人们对你的预期,至关重要;

  • 品牌的曝光度:确保更多的人认识你

创建品牌的步骤:

明确要传达的品牌信息

挑选细分市场

创建品牌口号

创建视觉符号

Action

  • 列出一些熟悉的品牌,选择一两个进行深入研究,试着确定一下品牌传递的信息是什么,看看它们是如何使用商标和其它视觉元素来传达信息。

  • 头脑风暴,为自己的个人品牌列出细分想法,先列出十几个想法,再缩小到两三个,最后选择一个作为自己的品牌。

我们程序员其实也有很多创建个人品牌的方法,比如在专业论坛上写文章、做演讲、创建视频等一切手段,竭尽所能传播你的信息,扩大知名度,品牌传播的频率越高,传播的范围越广,目标人群看见它的概率也越高,被人们记住的概率才越大。要擅于利用社交媒体,保持活跃度。

其实简短的简历加上一两个小时的面试很难评估一个开发人员的专业技能,面试官也容易产生错判,面试中能力和运气可能六四开吧。

写博客其实是营销自己和找工作加分不错的方法,很多人都会有过写博客的想法,有的人要么从来就没有开过,要么开了之后不久就很快放弃了,因为他们要么不知道该写什么,要么发现自己实在没什么可写。

解决这个问题的最好方法是:提前头脑风暴出各种不同的想法,随时更新可能的博客主题的清单,这样你总是保持一堆话题可供选择。同时,不要太担心你的文笔如何,不要太在意别人的想法。写博客也能为你的品牌增加附加价值,把你工作成果的90%都做成免费的,利人利己,既能解决他人的问题,能够真正帮到他人,自己也更容易获得成功。

Action:

  • 你喜欢的开发人员博客有哪些?看一看你读的这些博客,试着列出这些博客的更新频率和每篇文章的平均长度。

  • 如果你现在还没有写博客,马上行动。今天就注册一个,然后创建你的第一篇文章。制订一个时间表,强迫自己开始并坚持写博客。

  • 承诺自己会坚持写博客至少一年时间,要实现目标需要时间和努力,大多数人坚持一年左右的时间就会看到相应的效果。

  • 创建一个流动的博客文章主题列表,每当有新想法,就把它添加到这个列表中。在需要写新文章的时候,文章主题就能够信手拈来。

完事开头难,被当作傻瓜又如何,小步快跑,让自己勇敢起来,今天就是你的大日子,走出去做一些令你害怕的事情,大小都不要紧,迫使自己处于不自在的环境,并且提醒自己:没什么大不了的。

09

如何高效学习?

几个关键点:

  • 行动:开始行动

  • 思考:制定计划

  • 把时间用在正地方:你平时花时间最多的点在哪里?电视剧?抖音?手游?戒掉它吧!通勤?如果你是租房,那租个更近的房子吧,时间比金钱更重要,钱如果能买来时间为什么不买呢,把时间用在正地方上,你将来会收获百倍。

这里介绍十步学习法:

1

了解全局

2

确定范围

3

定义目标

4

寻找资源

5

创建学习计划

6

筛选资源

7

开始学习,浅尝辄止

8

动手操作,边玩边学

9

全面掌握,学以致用

10

乐为人师,融会贯通

我们要及时发现自己的知识短板,补齐它。

这里有一些短板高发区:

  • 在哪些工作上花费时间最多?

  • 有没有可以改进的重复性劳动

  • 没有完全理解的东西

  • 回答不出来的面试题

Action:

  • 把自己遇到的不明白的地方都记下来

  • 在谈话中遇到自己不明白的地方,即使觉得尴尬,也要有意识的提问

  • 明确自己一天中的某些痛点,通过弥补自己知识上的短板,找出消除痛点的方法

  • 为自己制定学习计划,年度计划、月度计划、周度计划、每日计划,并严格执行

10

学历真的那么重要吗?

好处:接受有关软件开发方面的全面的系统教育,无需经验就可以入行,有更多选择,更容易转到行政或管理岗位。

缺点:花费原本可以赚钱的时间去学习,也可能会受困于思维定势,难以打破。

尽管学历不能体现一个人的能力,但如果你连学历都没有,那你就需要用更多的东西来证明你的能力,行动吧:

Action:

  • 如果没有学位,看看有那些网上课程或者业余课程可以参加,看看它会花费多少,多久可以毕业

  • 如果你决定完全放弃学位教育,那么一定要确保自己有一个非常出色的作品,花时间把写过的代码整理一下,证明你了解你所做的工作。

11

如何谈薪资?

薪酬谈判始于求职之前:自我营销做得越好,声望越高,薪酬谈判就越容易。尽可能让自己更有声望,写博客、写书、做视频、开源代码,尽一切可能让自己的名字出现在各种场合。

如何谈判?

先出价者输,你必须要了解的一条重要法则就是:先出价的人会处于明显的劣势。在任何谈判中,你都要充当后出价的人。

被要求先出价怎么办?

在调研表格上把期望薪酬填0。被问及期望薪酬时要说不或者尽量回避,

你可以说:在给出一个确切的数额或者估算之前,我更愿意多了解一下贵公司,多了解一些我未来职位的工作内容。不过,听起来好像你是想弄清楚我们双方想的薪酬范围是否一样,这样我们就无需浪费我们的时间了。是这样吗?”

再继续问:“对这个职位的薪酬,你们一定有一个预算范围,对吧?”“好吧,如果你告诉我预算范围,尽管我无法准确说出我的期望薪酬,但是我可以告诉你贵公司的薪酬预算是否符合我的心理预期。”

如果他们明确拒绝先出价,那你可以给出一个跨度很大的范围,确保范围的最小值略高于你心里价位的最低值:“我无法给出一个确切的数字,因为这完全依赖于整体薪酬方案是怎样的。不过我希望找一份在20万~25万美元的工作。当然,这也取决于整体薪酬方案。”

最后的建议:一定要清楚自己值什么价钱,尽可能详细的研究一下自己求职的公司对应职位的薪资范围,调查工作做的越好,谈判起来就越容易,如果你能说出准确的数额范围和统计数据,表明自己要求的薪酬相当合理,就会处于有利地位。可以讲讲你为什么值这个价钱,能给公司带来什么好处,可以讲讲之前对前公司的贡献,为什么付出对应薪资是好的投资。

尽可能一次获得多个offer,有多个offer你谈判就有明显的优势,用得体的方式告诉对方面试官你有很多公司的offer,需要深思熟虑,希望做更好的决定,要自信,但不要傲慢。

Action:

  • 尽可能练习谈判技巧,以便克服对谈判的恐惧感

  • 仔细研究一下行业薪酬水平,以便了解自己值多少钱,试着找出你所在领域的公司给员工的薪酬是多少,跟自己当前的薪资情况比较一下。

  • 即使不找工作,也可以试着去参加面试,当你无所求的时候可能谈判更容易,还可以达到锻炼的目的。

  • 提升自己的能力,只有能力足够强,你才能在谈判中更有优势,更有自信。

本文结束,希望大家会有所收获。

推荐阅读
最近聊了一些高P,我慌了
十年老码农,现场教你写简历
为了让你看技术文章,我们操碎了心。。。

编程·思维·职场
欢迎扫码关注

以上是关于这十一条程序员必备软技能,你一定要知道的主要内容,如果未能解决你的问题,请参考以下文章

程序员必备技能——怎样快速接手一个项目

程序员必备技能-怎样快速接手一个项目

对程序员非常重要的24个软技能

对程序猿很重要的24个软技能

阿里大数据架构师必备技能,你“佩奇”了嘛?

成为顶尖自由职业者必备的7个软技能之一:沟通(转)