Mistakes I Made(as a developer)...大龄程序员的忠告...(部分转...)

 

 

 

在2006年,我开始了编程工做。当意识到来到了十年这个重要的时间关口时,我以为有必要回顾一下这十年间所犯下的错误,作一作经验总结,而且给正在这个职业上奋斗的人们提出个人一些忠告。
开发行业变化得很快,我没法确定在将来十年里这些建议一直有效,但个人话对大家是确定有帮助的,无论是刚开始工做的新人仍是老手。html

 

要坚持使用一个开发平台,构架或语言程序员

在过去十年间,我所犯的最大错误是:几乎每次我换工做时也转换了开发平台
个人经历从Java企业开发开始,到嵌入式C编程,到用VB、C# 和 C++开发Windows桌面应用程序,而后用Objective-C写iOS应用程序,到用NDK编写Android库,最后到写Android应用
这个职业经历听起来使人敬畏,但实际上雇主并不关心。雇主们并不会重点关注你拥有10年各式各样的开发经验,但若是他们看到你没有足够的Android应用开发经验,你就不可能得到一个Android开发的工做。
转换平台会对你的简历产生巨大的负面影响。对于一个雇主来讲,实际上他没办法经过简从来验证你是否是某一特定开发领域的专家,为你付出大量资金是否合理。
大多数公司都不关心你的过去,技术面试会更加剧要。这就是为何不少经历尚浅但专业对路的开发者能够找到工做的缘由。
那么咱们如何适应市场的变化呢?只要你不停的敲代码,就能天然而然适应市场,但你也须要投入一些时间在新技能上,应在空闲时抽出时间来学习新技能,并且你也要下降指望薪水。你须要后退一步,才能前进两步。
一旦你找到一个让你以为舒服的平台,框架或语言,就应该坚持下去。从长期看,你指望的薪水和你的工做能力都会比频繁跳槽来的更高。找到最须要你的专属技能的那些最好的公司,而后踏实的在那里工做。我知道这听起来很简单,但我花了不少年才认识到。

立刻年满34周岁的程序员在此说一句:不管什么时候,傍身的技能不能丢,代码必定要时刻留在手上!天天都要写,日日写,不停息。
基本功打牢,学精一门(我的是C#),其余相近的语言(JAVA,PYTHON,C++)都是相通的,上手不难。数据库也是,三大主流数据库MSSQL, ORACLE, MYSQL 精通一个,其余的能够说无师自通。即便是最近很火的NOSQL,也不难掌握
关于跳槽,没在一个公司呆过3年以上,经历过3-4个项目以及一个完整项目周期流程的程序员,我的认为都不是合格的程序员,注意是程序员,还到不了项目负责人,以及项目经理的级别 面试

 

不要为高工资追求管理角色

之前我老是觉得那些穿着西装,做行政决策的管理者拿的薪水高的使人神往。虽然在一些状况下这没错,但这只占一个很是小的百分比,经验丰富的开发者的薪金通常会比中等管理者更好。
在我早期的职业生涯中,我一直想进入项目管理。我自修了管理硕士,在那里我学到了不少有趣的东西。最后,我在一家西班牙公司做了一阵开发经理,然而我意识到这不并适合我。
在作开发者的时候,我老是感到公司缺少企业文化,尤为是缺乏技术因素的企业文化。然而在作了管理者以后,不只编程水平没法提升,并且在企业文化的孤独感甚至更增强烈。最终当我离开这个岗位重归技术开发时,我终于开始从新欣赏个人开发工做.
若是你对敲代码感到厌烦了,那么转成管理岗并非解决方案,更好的办法是横向移动,换一个部门,换一家公司,或者是旅行,甚至在国外工做来放开你的思想,在全世界有许多技术中心,那里对开发者的要求很高,这能帮助你打开眼界。

不要干了没几年,还年纪轻轻就想着转“管理”,真正的有价值的产品经理,没有5-6年开发经验,从头至尾负责过至少3个以上中等项目,是彻底不可能作到的。 并且,好的PM,工做比一线编码更累,动手少了动脑更多了,核心关键代码每句本身都要亲自负责。
那些年纪轻轻(30如下甚至28如下)的“项目经理”,不写代码已经2年以上,以所谓“管理者”自居拿着高薪(街薪标准吧)的,将来几年,将会很是很是惨,缘由在此很少说你们都明白算法


休息一段时间数据库

我历来没有“失业”,直到去年。在十年后,我感到须要休息一下来“重构”个人职业生涯,事实证实这是我所做出的最好的决定之一。
我休息了5个月,辞掉工做,是自愿失业。我能感受到身边的每一个人都在担忧个人职业生涯即将结束,但所发生的一切偏偏相反。
通过十年不停的跳槽和匆匆忙忙的完成各类带薪年假,我终于体会到“失业”是如此“幸福”。事实上,在咱们的职业生涯中,“幸福感”确实是最应该追求的东西。
从个人状况来讲,这四年来,我一直想坐下来学习德语,但历来没有时间去作。而在这5个月中,我参加了德语强化班,一天3小时,让个人德语水平从A2升到B2。
从新找回工做是很容易的,比预期的要容易得多。因此,若是你以为本身须要的话,不要惧怕一个长时间的休假。简历中的一段空白对于开发者来讲不会被人认为有错。编程

固然,若是你读了这篇文章后,不管你是否准备来个长期休假,请必定要遵循我下面的这条忠告:

ABC: 老是编码(Always be coding)
即便是休息也不要中止编程,在我5个月的休息期间,我作了一个我的项目,一个使用discogs.com API的Android应用。这是一个方便的我的应用,帮我从数据表中添加和删除记录,并且我也想借此总结和更新一下个人开发技巧。
多亏了这个小项目,让我可以自信地应对工做面试。我尝试了许多新的流行类库和开发模式,这些正在我今天的工做中成功有效的使用中。
我真但愿早点开始作这件事。咱们的开发工做每每是重复的,时间越长,积累的编程习惯越难以更改,也让咱们自我提升的空间愈来愈少。

LZ压力大吗?大龄程序员会不会广泛被淘汰?只留下极少的精英作管理层
代码一直在手上 仍是不太慌的 我能够接受降薪 大不了降薪去普通小公司,更小的公司;投简历会被年龄歧视是客观存在的,别放不下那个面子就行。只要能过HR,给企业创造价值,能干活的人谁不要? 
那些不写代码 只管理 还想拿高薪的 就难上加难了 
这个行当,由于想着多赚钱进来的 都作不久,作不长,真正喜欢它的人,才能一直干下去网络

内功…
楼主如果真的程序员,求告知公司通常对于刚入职的本科生和研究生之间的培养差距大吗?仍是主要看我的能力?
小厂就没差了,仍是看能力。可是,通常的本科生,在数据结构与算法这块,确定是不如硕士生的,这个差距在后期进阶的过程当中会逐渐体现出来
数据结构与算法+计算机网络实打实学好了,受用整个职业生涯,都是内功
这是一个程序员的内功,必须修炼的内功;越日后,做用才越看的出来。那些三个月订单班出来的填鸭选手,不管如何,作到死都只能是 高级搬砖工
到了公司你会发现,负责作项目,和作实训项目,彻底两回事 
特别是那些 没有SQL基础,又没有网络基础的 这些,培训机构,都不会教你  数据结构

将来…
1.互联网行业遭遇罕见的寒冬,而是将来2-3年形势预计更差
2.华为文化你们都知道,我仍是那句话:高薪不是躺拿的,要想年薪10几20万,对于程序员这个职位,就是拿命来换
老兄想清楚了再考虑是否入行  架构

加班…
我我的历来不干什么996,加班都极少
水平和薪资 不是直接划等号的, 若是是为了钱来干这个行业的,仍是趁早离开吧,真不适合大家
水平中下 天赋不高 快乐学习 不想加班 
固然 大学的时候没学好,入行很晚,也都是缘由 框架

小公司…
小厂会要的 你说的小厂 多是那种 十几我的的 互联网创业型公司,主打年轻牌的 
或者是那种 纯外包公司 ,打一枪换一个地方,捞一票就走的。 
他们只须要好忽悠,能996的码畜,他们的项目负责人,不少自己就没有什么技术积累 
而有本身项目的开发型公司, 没有几个老鸟压阵,绝对会一塌糊涂,惟独是薪水低一点,但确定能干的下去。本身跟着老师经历了N个项目,至关清楚这点。 

 

成为开发者社区的一部分
从长远来看,拥有我的项目、阅读、写博客和参加访谈都会有助于你成为一个更好的开发人员。只要你以为有意思,就把你的代码推到GitHub,并把你的经验与社区分享。
当我还在大学的时候,我老是懒得参加各类社团和俱乐部活动。当我找到个人第一份开发工做时,最不乐意作的也是和其余开发者们闲聊闲逛。
可是我错了。
同行聚会和进入开发群是颇有趣的事情,是结识开发者伙伴的好地方。若是你想在这个行业里作到最好,就尽可能不要消极被动。提供你的帮助,分享你的经验,与坐在你旁边的人交谈。每一个人都喜欢谈论本身的经历,更不用说你会遇到不少潜在的雇主。
在那里你会碰到许多须要教练的初学者团体,你能够指导新手,给他们提供练手的机会,甚至赞助活动。
固然,要学习别人的开发技巧而且敢于实践,要热情的欢迎不一样意见的人讲话,勇敢的听取他们的意见。


不要在招聘网站上求职
这是我最后的“智慧结晶”:不要申请那些在网站上张贴的工做职位。
招聘网站的背后是复杂的人力资源流程、候选人跟踪系统、滥发我的简历和混乱的沟通,这也是许多公司找不到人才而要依靠猎头公司的几个重要缘由。
优秀的人才应该跳过这些。网络是寻找人才之路,更多的关注当地的社区消息,当有人离开一个重要的职位,当一个有意思的公司获得了融资,或者某个企业人事变更正在招聘人时,你都会得到最新的第一手消息。
你也能经过网络社交得知哪些公司的福利比较好,各公司的大多数开发者都会真诚对待你,他们会告诉你这些公司的架构是否老旧,经理是否是人品够好,甚至工资待遇怎么样。
若是你看到一个有意向的工做机会,首先看看你的社交网,看看你的用户组或LinkedIn朋友圈,是否有人已经在那里工做了,或者问他们是否定识某些人。而后直接与他们联系,与那个公司的CTO、招聘经理或其余开发人员直接交谈。
猎头是好的,但不要依赖他们。他们的任务只是帮助企业填上一个职位的空缺,由于他们并不为你工做。若是他们推荐的职位的确很是适合你所寻找的工做,那么你就去作,若是以为不适合,那么就告诉他们:谢谢,我不去。


From__Miquel Beltran__现任Good Hood GmbH首席Android工程师__谷歌柏林开发者团队领袖(翻译by_51cto_陈小美)
&From__虎扑__降A大调Waltz

相关文章
相关标签/搜索