作者:邹溪源,长沙资深互联网从业者,架构师社区合伙人!


我今年三十岁,我很迷茫,不知道未来该选择什么发展方向。

这是我无意中在社区微信群中看到的一位年轻的开发者说的话,之前他也经常会在技术群中抛出一些有深度有内容的问题,并能积极乐观的进行问题思考和探寻技术解决方案,有时候可能会错误的以为他这样一位热爱学习的开发者,在公司也一定是技术的引领者,对自己的职场规划有着清楚的认识。
所以他抛出这样的问题着实有点意外,不过细想之后,或许也属实正常是。对于30岁左右的开发者来说,从20出头的毛头小伙,逐渐成长为家庭和公司的顶梁柱,如果一直从事技术领域,大概很容易就到了瓶颈期,如下图,一个人的学习能力增长曲线,大概三年或五年左右,增长速度就会逐渐放缓。

(手画的)
到了这个阶段会非常痛苦,如果身处一家优秀的公司还好,有一套完整的体系保证你持续成长,否则就得陷入了吃老本的时期,或许将一直这么平庸的下去,直到被迫退出行业。
而那些不甘如此的优秀者,都渴望去改变现状,他们们往往承受着无比巨大的压力,尤其是互联网技术飞速发展、各种新技术新方法席卷而来,究竟该如何选择技术的发展方向和个人的职场规划,这个问题自然而然就出现在他们面前。
以下是互联网开发者的“人才三角”结构,由专业技能、行业知识和软实力组成。每一个圆环均代表一个知识边界。

专业技能
专业技能是开发者赖以生存的宝贵技能,而其中开发语言是最重要的一个方面。近年来飞速发展的互联网业,似乎对.NET开发者带来的冲击相当巨大,在许多城市,甚至出现了Java与.NET的招聘信息比例10比1的惊人情况,而在国内互联网公司,似乎除了同程艺龙、蔚来汽车等公司,已经找不出太多叫得上名头的大企业坚持使用.NET技术栈。
但是即便如此,这并没有说明.NET技术已经逐渐落伍,尤其在技术领域,看起来火热的市场,从来也不是一门语言所能主宰。真正优秀的开发者从来不会被语言束缚,事实上虽然掌握一门核心语言非常重要,其次在语言之外的其他专业技能,诸如设计模式和设计原则、对于算法等的理解程度,都是开发者非常重要的能力,对他的价值评估产生了非常深远的影响。
在众多专业技能中,比较争议的大概是数据库、各类组件和其他专业技能,以及DevOps和微服务。首先是这些新概念,铺天盖地而来,让人难以抗拒学习的欲望,甚至不学习,也经常会被人说成知识体系闭塞。但是学习了之后,如果得不到实践,不见得能够带来短期或长期受益。除此之外能够恰到好处的掌握好数据库和各类第三方组件(诸如Redis、Consul)等,虽然能够让开发者获得不少机会,但是却并非每位开发者都有时间或精力了解这么多东西。毕竟每天只有24小时,花时间学习了A组件,往往就得忽略其他组件。而且如果只是浅尝辄止的了解某些组件,倒不如仔细的钻研众多同类组件中的一种。
微服务容易让人陷入知识的海洋无可自拔,在宝玉老师的专栏《软件工程之美》也提到微服务架构并非软件系统的天然演进,要靠组织力量来完成。而在微服务书籍《微服务设计模式》中也提出,微服务实际上应该是一种组织架构形式的体现,而不仅仅只是一种软件架构。为了微服务而微服务,不见得会带来了团队沟通成本的提高,也不见得有利于软件系统的高效迭代。同样,为了DevOps而上容器,这样也不是一种值得推崇的策略。
我把DDD和TDD纳入到专业技能中非常重要的一环。因为DDD是一种非常重要的软件问题分析方法,从宏观来看有点像团队问题分析方法,如果时间有限,大概不太有必要独自研究,毕竟要将其实践下去,还是要更多的依赖团队,不如拉几个同事一起探究。如果没办法将DDD完美的实践下去,也不必苛求,运用好领域的分层思想,可以让软件系统尽可能可控的管理各领域的知识,实现业务知识的沉淀。
TDD看似能够让软件尽可能的减少后期的维护成本,但是要将其实践下去,取决于大环境和个人是否持续不断的刻意练习,而且需要一个漫长的周期。能够刻意练习显然是极好的,相信他一定能给你带来非常巨大的好处。
行业知识
所处行业、和行业知识是决定开发者的关键,而不是专业技能本身。例如红得发紫的电商行业,阿里巴巴或拼多多等电商平台,最能给开发者带来丰厚收益的行业,也是竞争最为激烈的行业。而例如社区团购这种新兴商业业态在长沙,也同样为长沙技术圈的从业者带来的新的机遇。
但是似乎许多行业的开发者们对本身行业知识的兴趣并不大。许多开发者往往执着于对专业技能的钻研,而忽略了对行业知识的了解。而事实上行业知识的认知深度,恰好更能体现产品的水平和公司的专业程度。如果每个人都矢志于为公司打造最专业的产品,这显然将为公司、为个人带来无穷收获。
软实力
软实力是让你我与众不同的核心关键。他体现在外在,是一个人的谈吐和为人处世的态度。他通过领导力、管理能力、表达能力等许多种形式让你的优点得以更好的表现在世人面前。
软实力,是程序员成功的关键。例如你是否能够与团队成员融洽的沟通,这能够促进你与团队成员间的相互认同、你是否能够将你打造的产品更好的展示在领导或客户面前,这有利于你和公司产品价值的彰显、你是否能用文字或PPT对你的工作进行总结,这又能体现你的组织表达能力。而你在公司与其他同事的良好沟通、与客户的良好沟通,既是在积累人脉,更是在投资未来。
我独辟蹊径的把运气列入软实力的范畴,是因为我觉得运气是很重要的一环,不过如果没有足够的软实力积累,即便有不错的机遇,也不见得有能力支撑住。
总结
在我参加工作的早期,总是片面的认为技术能力才是决定人与人区别的最大关键。但是事实上恰好相反。我们身边那些混得最好的,他们往往并不是技术最好的。他们往往更善于钻研一个行业,并从中发掘出价值。他们往往更注重软实力的培养,并通过这些软实力,获得许多常人不能拥有的机会。
优秀的开发者也善于抓住职场中的每一次挑战。他们将每段职场当做修行和学习的机会,无时无刻不忘提升自己,哪怕在小公司,也同样能创造不平凡的成绩。
短暂的迷茫不可怕,怕的是看到了迷茫还不试图改变,例如知道能力有不足,却依然忽略了对能力的积累。能力的积累从来不仅仅只是停留在纸面上的简单文字,再多的迷茫,不如从眼下开始刻意练习和主动培养。例如作为.NET开发者,如果我们需要更加深层次的了解C#/.NET技术的核心知识,沉下心看一遍《C# 7.0 核心技术指南》将解惑无穷。
无论当下我们做的什么技术,最重要的关键,就是认清楚自己的缺点,然后有意识的去改善。不必苛求昨天的自己比今天的自己优秀,努力使明天的自己比今天更优秀,坚持一个方向,总能让你获得更多机会。

如有收获,点个在看,诚挚感谢

让人迷茫的三十岁!从专业技能、行业知识和软实力谈一下!相关推荐

  1. 让人迷茫的三十岁,从专业技能、行业知识和软实力的人才三角谈起

      --------我今年三十岁,我很迷茫,不知道未来该选择什么发展方向. 一.背景 这是我无意中在社区微信群中看到的一位年轻的开发者说的话,之前他也经常会在技术群中抛出一些有深度有内容的问题,并能积 ...

  2. 30岁女生转行做软件测试,本人三十岁,女,现在软件测试行业,想转行,什么行业合适呢?...

    如果你也在犹豫要不要转行,不妨看看我总结的2个判断标准,2个解决方法. 请先看看客户的资料,可以公开的部分哈~ 本人三十岁,现在软件测试行业,七年工作经验,小主管吧,但是没啥技能,学性能.开发语言学不 ...

  3. 为什么有的人还不到三十岁,就对工作失去了兴趣呢?

    来自:吃草的罗汉 远处的高山峻岭,隐藏着多少玄机? 我一直觉得,转型技术管理者初期阶段的三大挑战分别是:时间管理.学习能力与领导能力. 在这三种挑战之中,领导能力看似最虚,但却最为关键. 以绩效面谈为 ...

  4. 那些三十岁还没有走到管理岗的人,后来怎么样了?还值得尝试吗?

    写字楼里如青楼,不许楼里见白头! 在这世界上,想成为管理者的人很多,能够成为管理者的却总是"少数". 你去问一个大学生未来的职业规划,绝大多数会告诉你,ta希望毕业5-8年内做到管 ...

  5. 梦想在三十岁起航!__来自黑马程序员69期安卓班的学员

        梦想在三十岁起航! 多久没动笔了?恐怕我也记不起来了,在生活不如意的时候也曾想写点什么,可是却又全然没有思路,曾经的文思泉涌,早已在长时间浑浑噩噩的工作生活中干涸了,而今宛如仲永一般,泯然众人 ...

  6. 8.2 “三十岁挨踢”的魔咒——《逆袭大学》连载

    返回到[全文目录] 目录 8.2 "三十岁挨踢"的魔咒 不写代码的人干什么去了 挨踢的三大关注:身体.知识更新和薪水 破解"挨踢"的困境 我是码农,我骄傲 8. ...

  7. 码农三十岁之后过上了怎么的生活?

    最近在CSDN上面,看到了许多关于程序员30岁之后应该过怎样的生活,有的人说,在30岁往上的时候,就会出现迷茫,到底是该继续的当一个码农,还是应该回家考个公务员还是老师,阿粉和大家一样,在25岁的年纪 ...

  8. 程序员三十岁之后要考虑什么?

    程序员三十岁之后要考虑什么? 周六受邀参加了触控科技CocoaChina开发者社区举办的"移动游戏人才培养和创业机会"的沙龙.其间被问到一个问题:"程序员三十岁之后该怎么 ...

  9. 某大厂女程序员哀叹:还不到三十岁,父母竟让自己和一个离异有娃的男人相亲!

    女孩子多大算大龄剩女?大龄剩女在相亲市场上就只能找离异男人吗? 一个美团程序猿小姐姐自称是"大龄女程序员",还发帖吐槽:快30岁了,昨天给家里打电话,父母非要自己和一个在大连离过婚 ...

最新文章

  1. java之java.sql.SQLException: ResultSet is from UPDATE. No Data.
  2. php基础篇-二维数组排序 array_multisort
  3. 道客巴巴vip账号共享2020_腾讯视频VIP怎么两个手机通用?
  4. 2020中国教育行业生存实录
  5. Android 系统(211)---Power键不亮屏分析方法
  6. staticextension 上提供值时引发了异常_牛!一张图整理出了 Python 所有内置异常
  7. 中国料斗底部谷物拖车市场趋势报告、技术动态创新及市场预测
  8. 手动释放linux服务器内存
  9. 【数据结构笔记09】二叉树的定义、性质、实现
  10. 木其工作室(专业程序代写服务)[转]学写块设备驱动(三)----踢开IO调度器,自己处理bio(下)...
  11. 从虚拟化到软件定义--重新定义IT产业格局
  12. 【实用软件】局域网传输神器-LANDrop
  13. 正三角形二面体群表示为二阶矩阵形式
  14. 用最简单的方法解决:linux系统重启网络delaying initialization错误
  15. 第一次读 “Clean” 系列,并没有觉得这是一本多好的书
  16. Python中,使用正则表达式时,遇到的re.error:unbalanced parenthesis问题记录
  17. 共享洗车机无人值守是怎样运营的?
  18. python编写背单词程序
  19. sti()和cli()
  20. win10计算机管理没有蓝牙,win10系统中缺少打开或关闭蓝牙选项的解决方法

热门文章

  1. 图解一步步安装SharePoint Foundation 2010
  2. fc-ae-1553_什么是AE-L,AF-L和*按钮,它们的作用是什么?
  3. 为什么Android Geeks购买Nexus设备
  4. 上传文件 connection reset
  5. JavaFX 学习笔记——窗口与控件
  6. JavaScript校验网址
  7. Spring 入门学习二之IOC
  8. JavaScript图片库
  9. MongoDB基本操作(增删改查)
  10. KVM 虚拟机自动克隆脚本