软件开发技术职位分析及职业规划

来源:互联网 发布:js删除节点本身 编辑:程序博客网 时间:2024/05/22 06:41

分析

虽然说每个行业都必须要时刻学习,但软件行业技术的可持续性与积累性较差。例如:中医越做越吃香,而多年前的诺基亚开发已被抛弃。

  • 严重青春饭
  • 社交圈很难往上走
  • 连续不离散的无意义学习
  • 上升通道受限于运气
  • 上升通道受限于不具备的能力
  • 工作时间过度占据生活时间
  • 智力付出和收入严重不成正比
  • 可替代性强

选择方向

关于方向的选择其实越早确定越好,生活中我们要面临无数个选择,引用黑客主题的美剧中一句话:

lifeisbinary,生活就是二进制,一个个0101组成的。每一次抉择,选了就是1,不选就是0。另外也有一句话说:“人一生要面临很多选择,但是真正能决定你命运的只有几个”。没错其实就是这样。

如何发现自己对什么感兴趣呢?我也不知道很好的办法,我只知道一个朴素的方法——尝试。
算法,开发两个方向如何选择,看自己抉择。但记住:算法功底好的人,运气都不会差。

同样是一门语言,它的投入产出比是非常不同的。选择技术方向时一定要谨慎。

对于学习新技术、新知识,我一直有一个原则:用以致学。在学习一门新技术之前,先定一个目标——用它做一个日常生活和工作用得上的项目,然后根据项目的需求反向的去学习需要的知识。方便的话,
把它开源出来,让大家都能用,慢慢的,你的实力和影响力都会成长起来。

在主要的技术栈上的积累已经足够多的时候,再去不停扩充知识面。

职业规划

打造自己的技术栈
技术栈就像一棵大树,树根可能是操作系统、网络、算法、数据库。再靠上一点是编程语言。接着树干就是你的职业方向,可以是安卓、IOS、前端、后台等等。别忘了还有树枝和树叶。技术没有孤岛。把自己封闭在闭塞的圈子内十分危险。你应该是具备了深度的同时再拥有广度,请注意拥有深度是前提。

岗位

你的工资不是和你的工作时间成正比,而是和你的不可替代性成正比。

求职
一定要早做规划

自己的短板一定要早点发现,然后及时找到弥补方案。

基础不好的话,刷题是很有必要的。

论老程序
老程序员无法像25岁时那样,脑子里存那么多代码,但这些人的经验非常丰富。系统规模不断扩展的今天,早已超出了人的脑容量,能不能记住代码并不是像你想的那么重要。经验让他们已经看穿一切,还可以快速了解任何一门新的语言。

老程序员有更好的判断力。他们知道需要重点测试系统的哪个地方,哪些地方是不需要的。他们可以从架构图中看出可能出现的问题。他们可以告诉你针对特定项目可以运用哪些技术,以及如何优化可靠性、性能或开发速度(选择任意两种)。他们还知道如何做出好的权衡。他们懂得如何提高质量。从长远来看,质量意味着更低的成本。

“真正的知识来源于对某个主题及其内部工作的深刻理解”—阿尔伯特·爱因斯坦

学识渊博。多年的经验,

都是优秀员工的小团队可以轻松击败都是良好或者一般员工的大团队。—史蒂夫·乔布斯

知识面广。足够让老程序员和其他领域的人进行有效的沟通。正是这种沟通技巧使我成为一个富有成效的团队成员,而不是原始的编码能力。

老程序员们可以正确估计并按时运行代码。我们开发出的软件,bug很少,性能表现也不错。虽然我们写的代码少了,但是我们会产生更多的业务价值。

针对性解决

针对技术的可持续性与积累性较差问题
多领域,多维度发展人才是技术人的未来,也是发展方向。全栈工程师只是狭义上的多维度,从广义多维度去发展(雷军,不经会编码还会营销;马云,靠英语优势;商业模式,特色产品,懂产品,写文案,懂得营销,)在多维度方向选择上,尽量选择可持续性与积累性较强的方向。

要扩展自己社交圈。

要学会PPT吹牛逼拍马屁搞关系。积极关注业务,提升自身人际公关能力。

关注自己的家庭,三产,人脉积累,运动健身,旅游娱乐。

计算机行业可替代性与年龄经验是对数曲线。而多数行业也是线性甚至有些行业是指数。

技能撑死只占成功因素的30%。你的眼界、思考、产品能力、发现机会的能力,才是决定你能否发展的主要因素。

综合解决方案

1,先深度优先,再广度优先
首先,在你吃饭的技术领域,花足够多的时间去深钻,熟练掌握该领域,让自己有货,建立影响力;其次,多培养其他维度能力,广度优先时,不可操之过急,选择细水长流。每天花费较少时间,但一定要长期坚持!坚持!坚持!

职业规划

万物本是一体,编程区区小技,何足为道。

程序员有四个象限发展:

  • E象限:雇员象限。找一家上市公司,或者即将要上市的公司,在里边成为核心员工,再待上几年,就能拿到一定数量的股票或期权。
  • S象限:自由职业者,小业主。为了避免E象限的整体薪资的天花板局限。可以选择S象限。在S象限要活得舒服还是有技巧的。大致有三个选择:第一,如果做外包,一定要有一个不错的客户渠道;依赖于大平台的项目最好能花点钱成为平台的合作伙伴。第二,用免费+收费模式了。首先把你要做的业务中标准化的部分开发成产品(如CMS)在网络上免费传播,而其中需要定制的部分就可以收费了。开源和免费的Web产品很多,但同质化严重,很少有细分市场的产品,用心定位的话,养活一个小公司绰绰有余的。第三,逃离北上广、回归大自然。去一个风景优美空气清新的二三线城市,雇三五个人(当然就你自己也行)开一个小工作室,给美国人写移动应用。既没有房价的压力,还能发着人民币挣美金,貌似成都高新区还免税。
  • B象限:企业主。找业余时间开发一个商业应用,放到市场上去卖试试,让客户骂试试。等你经过了共享软件的洗礼,你基本上就知道做生意是怎么一回事了。A轮(不一定精确,大致如此)及以前的公司,主要在寻找商业模式,会频繁的变更需求,对开发速度要求更高,这时候CTO只要能敏捷的开发产品就OK;B轮以后的公司,着力于规模化,会有大量的推广,可能在某些时间点遭遇高并发,同时技术人员、设备会迅速增加,这时候CTO需要考虑业务的高可用、还要能处理好团队、资源的管理工作。如果原来的CTO没有大型互联网公司的背景,往往很难做好这些事情,所以一般会考虑从大公司去挖一个。
  • I象限:投资者。所谓的财务自由(就是一直不干活,钱也够你花),就是通过进入这个象限来实现的。

当你在上边四个象限里选好了想要的人生区间后,就要设计一个可行RoadMap来实现它。

技术线

选技术线的同学一定要选对技术方向,因为你会在自己选择的这个细分市场里投入三年、五年、甚至十年的时间。同样是一门语言,它的投入产出比是非常不同的。选择技术方向时一定要谨慎。那么如何选择呢?第一,学会观察技术潮流。看看技术Guru们都在用什么。但知其然不知其所以然并不是件好事。从根源上讲,一个技术是否流行,和人们使用技术的方式密切相关。第二个建议。如果把选择一门技术当做一个投资的话,新兴市场和细分市场是特别值得留意的。新兴市场对程序员来说,就是一种新的语言、一个新的平台、一套新的框架。新兴市场因为刚刚兴起,所以几乎所有人都在同一个起跑线,特别适合后进者。并非只有一个平台的兴起才有机会,很多框架技术也会带来机会。如果你只能进入一个成熟市场,那么记得给自己确立一个细分的定位。技术线属于那些赖得住寂寞,还得了房贷,喜欢风险最低化的同学。在自身技术实力不错,专攻的技术方向还未衰落的情况下,踏踏实实熬个五到十年,还是可以有车有房的。

管理线

技术管理虽然有技术两个字,但更多的是和人相关的管理工作,所以在这条线上,职业逻辑也更不正常——title和资历很重要。一个只在小公司上过班的PHP程序员,不管他能力有多好,是不可能直接成为一家500人规模还有半年就上市的企业的CTO的。虽然它只能证明你的过去,但我们其实都是从别人的过去去判读一个人的将来的。不想当CTO的程序员不是好项目经理,所以庸俗的讲,管理线其实就是一个不断升级自己的title,直到CTO的游戏。当然,随着title越来越高,管理的人和资源就越多,对沟通能力、管理能力的要求也越高。和技术线不同,管理线每一次升级除了能力,还需要机遇的,因为越是高级的管理职位就越少。跳槽的时间间隔要把握好,一般两到三年为宜;不要太频繁,否则会让人对你的稳定性产生怀疑。每一次跳槽要设定好自己想要得到的空间、资源、薪资和title。对去创业公司的同学多说一句,99%的创业公司都会失败的,不过公司的失败未必是你的失败,你只要确保在每一家公司都能得到成长,就可以踩着河里的竹竿逆流而上。写到这里连我自己都觉得有些势利了,但大部分公司和员工本身就是赤裸裸的利用关系,你不替自己打算是没人帮你的,老实也未必能有好结果。公司的人才政策很多时候取决于高管,即使你的直接主管想帮你,也未必能帮上忙。

用多家公司作为自己职业生涯的调节杠杆,就像用并行进程处理高并发一样,是非常有意义的。你未必要真的跳来跳去,但多个选择总不是坏事。

先要有过硬的技术。
努力展示自己,充满自信,敢冲敢秀。
学会包装自己和产品。
在职场上,多和高层搞好关系,给高层留下好印象,懂得人际交往的重要。当然,不是让大家拍马逢迎。
提高自己的情商。不要只会技术而忽略了情商的重要。情商比智商重要很多。
提高自己演讲的能力,设计幻灯片的能力。最好也会用一些思维导图之类的方法。
提高英语或其他外语的能力。

标题

职位选择

Google CEO 施密特招人时说:“如果你得到了坐上火箭的机会,别问是什么位置,上去就行。”

参考文献

  • AndroidDeveloper微信公众号,stormzhang。
  • -
0 0
原创粉丝点击