在 2006 年,我开始了编程工作。当意识到来到了十年这个重要的时间关口时,我觉得有必要回顾一下这十年间所犯下的错误,做一做经验总结,并且给正在这个职业上奋斗的人们提出我的一些忠告。开发行业变化得很快,我无法肯定在未来十年里这些建议是否一直有效,但相信我的话对你们是肯定有所帮助的,不管是刚开始工作的新手还是工作几年的老手。

要坚持使用一个开发平台,框架或语言

在过去十年间,我所犯的最大错误是:几乎每次我换工作时也转换了开发平台。

我的经历从 Java 企业开发开始,到嵌入式 C 编程,到用 VB、C# 和 C++ 开发 Windows 桌面应用程序,然后用 Objective-C 写 iOS 应用程序,到用 NDK 编写 Android 库,最后到写 Android 应用。

这个职业经历听起来令人敬畏,但实际上雇主并不关心。雇主们并不会重点关注你拥有 10 年各式各样的开发经验,但如果他们看到你没有足够的 Android 应用开发经验,你就不可能获得一个 Android 开发的工作。

转换平台会对你的简历产生巨大的负面影响。对于一个雇主来说,实际上他没办法通过简历来验证你是不是某一特定开发领域的专家,为你付出大量资金是否合理。

大多数公司都不关心你的过去,技术面试会更加重要。这就是为什么很多经历尚浅但专业对口的开发者可以找到工作的原因。

那么我们如何适应市场的变化呢?只要你不停地敲代码,你就能自然而然地适应市场,但你也需要投入一些时间在新技能上,应在空闲时抽出时间来学习新技能,而且你也要降低期望薪水。你需要后退一步,才能前进两步。

一旦你找到一个让你觉得舒服的平台,框架或语言,就应该坚持下去。从长远看,你期望的薪水和你的工作能力都会比频繁跳槽来得更高。找到最需要你的专属技能的好公司,然后踏实地在那里工作。我知道这听起来很简单,但我花了很多年才意识到这点。

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

以前我总是以为那些穿着西装,作行政决策的管理者拿的薪水高得令人神往。虽然在一些情况下这没错,但这所占比例很小,经验丰富的开发者的薪金一般会比中等管理者更好。

在我早期的职业生涯中,我一直想进入项目管理。我自修了管理硕士,在那里我学到了很多有趣的东西。最后,我在一家西班牙公司作了一阵开发经理,然而我意识到这不并适合我。

在做开发者的时候,我总是感到公司缺乏企业文化,尤其是缺少技术因素的企业文化。然而在做了管理者之后,不仅编程水平无法提高,而且在企业文化的孤独感甚至更加强烈。最终当我离开这个岗位重归技术开发时,我终于开始重新欣赏我的开发工作。

如果你对敲代码感到厌烦了,那么转成管理岗并不是解决方案,更好的办法是横向移动,换一个部门,换一家公司,或者是旅行,甚至可以选择在国外工作来解放你的思想,在全世界有许多技术中心,那里对开发者的要求很高,这能帮助你打开眼界。

休息一段时间

我从来没有"失业",直到去年。在十年后,我感到需要休息一下来"重构"我的职业生涯,事实证明这是我所作出的最好的决定之一。

我休息了 5 个月,辞掉工作,是自愿失业。我能感觉到身边的每个人都在担心我的职业生涯即将结束,但所发生的一切恰恰相反。

经过十年不停地跳槽和匆匆忙忙地完成各种带薪年假,我终于体会到"失业"是如此"幸福"。事实上,在我们的职业生涯中,"幸福感"确实是最应该追求的东西。

从我的情况来说,这四年来,我一直想坐下来学习德语,但从来没有时间去做。而在这 5 个月中,我参加了德语强化班,一天 3 小时,让我的德语水平从 A2 升到 B2。

重新找回工作是很容易的,比预期的要容易得多。所以,如果你觉得自己需要的话,不要害怕一个长时间的休假。简历中的一段空白对于开发者来说不会被人认为有错。

当然,如果你读了这篇文章后,无论你是否准备来个长期休假,请一定要遵循我下面的这几条忠告:

1、ABC: 总是编码(Always be coding)

即使是休息也不要停止编程,在我 5 个月的休息期间,我做了一个个人项目,一个使用 discogs.com API 的 Android 应用。这是一个便捷的个人应用,帮我从数据表中添加和删除记录,而且我也想借此总结和更新一下我的开发技巧。

多亏了这个小项目,让我能够自信地应对工作面试。我尝试了许多新的流行类库和开发模式,这些正在我今天的工作中成功有效的应用着。

我真希望早点开始做这件事。我们的开发工作往往是重复的,时间越长,积累的编程习惯越难以更改,也让我们自我提高的空间越来越少。

从长远来看,拥有个人项目、阅读、写博客和参加访谈都会有助于你成为一个更好的开发人员。只要你觉得有意思,就把你的代码推到 GitHub,并把你的经验与社区分享。

2、成为开发者社区的一员

当我还在大学的时候,我总是懒得参加各种社团和俱乐部活动。当我找到我的第一份开发工作时,最不乐意做的也是和其他开发者闲聊闲逛。

但是我错了。

同行聚会和进入开发群是很有趣的事情,是结识开发者伙伴的好地方。如果你想在这个行业里做到最好,就尽量不要消极被动。与坐在你旁边的人交谈,提供你的帮助,分享你的经验。每个人都喜欢谈论自己的经历,更何况你也许会遇到很多潜在的雇主。

在那里你会碰到许多需要教练的初学者团体,你可以指导新手,给他们提供练手的机会,甚至赞助活动。

当然,要学习别人的开发技巧并且勇于实践,要热情地欢迎不同意见的人讲话,勇敢地听取他们的意见。

3、不要在招聘网站上求职

这是我最后的"智慧结晶":不要申请那些在网站上张贴的工作职位。

招聘网站的背后是复杂的人力资源流程、候选人跟踪系统、滥发个人简历和混乱的沟通,这也是许多公司找不到人才而要依靠猎头公司的几个重要原因。

优秀的人才应该跳过这些。网络是寻找人才之路,更多地关注当地的社区消息,当有人离开一个重要的职位,当一个有意思的公司得到了融资,或者某个企业人事变动正在招聘人时,你都会获得最新的第一手消息。

你也能通过网络社交得知哪些公司的福利比较好,各公司的大多数开发者都会真诚对待你,他们会告诉你这些公司的架构是否老旧,经理是不是人品够好,甚至工资待遇怎么样。

如果你看到一个有意向的工作机会,首先看看你的社交网,看看你的用户组或 LinkedIn 朋友圈,是否有人已经在那里工作了,或者问他们是否认识某些人。然后直接与他们联系,与那个公司的 CTO、招聘经理或其他开发人员直接交谈。

猎头是好的,但不要依赖他们。他们的任务只是帮助企业填上一个职位的空缺,因为他们并不为你工作。如果他们推荐的职位的确非常适合你所寻找的工作,那么你就去做,如果觉得不适合,那么就告诉他们:谢谢,我不去。

转载于:https://www.cnblogs.com/DreamRecorder/p/9100952.html

别转管理,十年程序员老鸟给新手的几条忠告(转)相关推荐

  1. 十年带队经验,万字长文分享:如何管理好一个程序员团队?

    本文首发于唐虞阁微信公众号,欢迎转载,转载请注明来源,否则将追究侵权行为. 我从2011年开始带团队,这其实是第11个年头了,这些年大大小小的团队带了不少,也见识过各种各样的"人才" ...

  2. 程序员老鸟的一篇文章

    今天在网上闲逛的时候,看到了一个程序员老鸟写给新手们的一篇文章,个人觉得写得挺好的,就转了过来,分享给大家.正文如下: 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走 ...

  3. 专访|十年程序员董一凡:生命不息,学习不止

    董一凡,公众号:sevenmirrors 2005 年--毕业加入程序员的行列 2008 年--开始移动平台的开发至今,大小 App开发了不少 2008-2012 年--Telenav 公司任职,分别 ...

  4. 专访张俊林:十年程序员的感悟与算法之路

    专访张俊林:十年程序员的感悟与算法之路 发表于2015-10-29 02:23| 3654次阅读| 来源CSDN| 2 条评论| 作者钱曙光 社区之星专访张俊林算法机器学习 width="2 ...

  5. 做了十年程序员的苏明哲被裁掉的真正原因!

    作为一个程序员,在看<都挺好>这部剧的时候可能关注的点不太一样.别人关注的是家长里短和每个人的好坏,我却更关注做了十年程序员被开除的名校毕业生苏明哲.   清华斯坦福双名校加持 <都 ...

  6. 2019 年终总结和一个三十岁程序员的感悟

    前言 年中的时候,在博客上写过一篇半年总结,地址在这里: 我的 2019 年中总结 ,因为前几天一直在忙家里的事情,所以也没有抽空出来在 2019 年前把总结写完,算是一点小小的遗憾吧,就在这里把总结 ...

  7. 软件史上最伟大的十大程序员

    [ 软件史上最伟大的十大程序员 ] 1.John Carmack(约翰.卡马克) John是程序员的教父.他一直致力与推翻世界快速工业化的障碍,在引领时代浪尖的同时仍能将研究成果作为游戏的一部分,它的 ...

  8. 程序员老鸟写sql语句的经验之谈

    程序员老鸟写sql语句的经验之谈 做管理系统的,无论是bs结构的还是cs结构的,都不可避免的涉及到数据库表结构的设计,sql语句的编写等.因此在开发系统的时候,表结构设计是否合理,sql语句是否标准, ...

  9. java开发走技术还是管理路线_java程序员的发展路线是怎样的

    现阶段学习java的人不在少数,很多人都是看中了这个行业技能性强,而且薪资待遇优越,发展潜力无限,但对于这个行业未来的职业走向并没有一个明确的规划.究竟java程序员的发展路线是怎样的呢?下面和南京j ...

最新文章

  1. Redis源码分析:基础概念介绍与启动概述
  2. lucene 学习一
  3. python代码_自学Python之后不想去公司上班,教你如何月入10000+,听过来人说
  4. Oracle启用、禁用角色
  5. PE 学习之路 —— 区块表
  6. Java并发编程实战_阿里P9整理分享的亿级流量Java高并发与网络编程实战PDF
  7. SDK 操作 list-view control 实例 -- 遍历进程
  8. 机械指挥官——全国领先的工程机械管理平台
  9. SQL 使用总结六(改善数据库性能)
  10. java编程技巧_Java编程技巧
  11. 博文目录(最新更新:2018.6.6)
  12. 乐源机器人优点跟缺点_桁架上下料机械手与上下料机器人一样吗?
  13. Educational Codeforces Round 55 (Rated for Div. 2)
  14. 如何使用 淘宝 NPM 镜像
  15. 洛谷 P1725 简单DP单调队列优化
  16. 2019-11-29GPS干扰技术解析
  17. keras-迁移学习-resnet101-踩过的坑
  18. 102分布式电商项目 - JVM调优(理论篇)
  19. 一个关于意念(脑电波)的想法
  20. 有学历的程序员永远不懂没学历的痛,就像白天不懂夜的黑

热门文章

  1. 多站点IIS的架设:端口法
  2. 安卓模拟器网页游戏连不上服务器,关于夜神模拟器游戏无法联网的原因和解决方法,请逐一排查...
  3. java http请求实现_JAVA实现HTTP请求方式
  4. 系统gpu 调试_KubeFlow上的GPU即服务:快速,可扩展且高效的ML
  5. Mac下安装caffe(cpu-only)
  6. 【Tensorflow】深度学习实战04——Tensorflow实现VGGNet
  7. 拉氏变换法求解线性常微分方程(系统的零状态响应)
  8. 实数范围内(包含负数)的求模与求余运算异同
  9. 选主元的高斯-约旦(Gauss-Jordan)消元法解线性方程组/求逆矩阵
  10. c# 调用oracle function,C#调用Oracle存储过程的方法