八月,炎阳如火。

  前几天书记找我交流,问我离职的原因,我跟他仔细的分析了一下我的职业发展规划和我对于未来的预期,书记也向我分析了一下他所认为的原因,他说,无外乎是三个原因:第一个是钱的问题;第二个是行政事务太多,让我无暇顾忌业务上的工作;第三个才是真正的原因。他说公司是一家充满潜力的制造型技术企业,我目前从事的岗位也是一个非常稳定的岗位,很多人奋斗了很多年,能够成为一个企业的中层管理者,已经实现了相当一部分人生目标。他说,在传统的观念里面,稳定的工作都是大家追求的目标,而目前公司的研发团队,有相当一部分都是我招进来的,对我充满了认同,如果我离开了,意味着我将放弃自己辛苦开辟的一片江山。对于书记的话,我丝毫不敢苟同,难道收入稳定、职位稳定就是真的稳定吗、为了维系团队,我就应该继续选择这份稳定的职位么?

问题是,选择成为互联网时代的开发者,你的稳定究竟在哪里?

我刚刚从业时,我的夫人就跟我开玩笑,她说他们公司的技术部门负责人,都是三十来开岁,每天基本上处于很清闲的状态,她说要我多多努力,争取三十岁养老。终于我三十岁了,也在多家公司当过管理岗位,可是我丝毫不敢心存养老的年头,每天如履薄冰,生怕自己参与的项目无法满足干系人的要求、生怕我的管理方式得不到大家的认同、生怕我的项目所使用的技术被行业所耻笑,每天都恨不能更快的提升自己,然而经历得越多,越是要思考,你这么做,真的是对的么?

我也曾跟很多人交流,发现在长沙的IT行业,三十多岁左右充满激情与活力的开发者已经越来越少,每个人都选择的就业,或许只是为了收获一份薪酬,而工作的目的,只是为了完成公司部署的任务,大概是因为大家已经接近35岁,越来越看不清自己的发展方向,选择放羊反而是为了蛰伏,为了更好的选择自己所适合的工作吧?

然而,每一个技术行业从业者,必须始终保持学习的姿态,你永远不知道哪一天你所学的东西会不会派上用场,但是你所学的东西如果派上了用场,才真正能体现出你的价值所在。能够决定技术从业者的能力有很多种,包括沟通能力、管理能力、技术能力、学习能力等等,随着时间的过去,沟通能力、管理能力都需要通过日常的学习来进行积累,而技术能力也许会逐渐衰减,但是衰减的程度,依然取决于你的学习。唯有持有学习的姿态,你才能在这个飞速发展的时代中获得一席之地,学习能力才是你技术能力飞速发展的立足的根基。国外的开发者,往往都是四十多岁才成为架构师,而中国爆发式互联网所带来的,反而是20几岁的架构师,例如wjx那样,只想招30岁左右的BAT架构师,正是充分反映了这个时代、互联网架构师多如狗的现实情况。然而大部分架构师往往都是各种工具的拼凑而已,而美国的架构师往往首先是提出很多种理论,然后再用软件去进行构想,该如何评价这两种思维呢?我们可以开发性能指标更优的产品,却并不是因为我们更深层次的科学文化素养的提高,而仅仅是因为我们有更加复杂多变的互联网环境,让我们可以更加容易的实现数亿并发这种场景,并针对性的开发出解决方案而已。

也许互联网时代,从来不意味着工具论或方法论究竟谁对谁错,从产品理论上来说,也许是我们所认知的、极致、快、更好的用户体验,但是对于互联网开发者来说,却意味着我们必须提高我们的学习广度,加深我们的学习深度,只有这样才能真正的更快的开发出更加优秀的产品。

这意味着。我们必须矢志不渝的学习。

选择IT,从来不意味着35岁退休,恰好相反,只要你的内心充满了学习的激情,这是一个可以为之奋斗终身的职业。

选择IT事业,意味着终身学习的更多相关文章

  1. 有没有安全的工作?(99条评论)——结论是没有一劳永逸的工作,要终身学习,IT业刚出道和老手还是有区别的(同样对于新技术,薪资可能是个问题)

    作者: 阮一峰 日期: 2015年12月15日 如果你经常使用互联网,可能知道有一种东西叫做Flash. 它是一种软件,用来制作网页游戏.动画,以及视频播放器.只要观看网络视频,基本都会用到它. 七八 ...

  2. 提倡IT从业人员终身学习

    经常听身边的团队成员抱怨,今天太累了,回到家连动都不想动;这形成了目前圈子里大多从业者的生活常态. 但有一部分人,在团队里身居要职,薪水不少拿却工作不那么累,你想过他们么? 答案很简单,人家会学习,而 ...

  3. 支持边云协同终身学习特性,KubeEdge子项目Sedna 0.3.0版本发布!

    摘要:随着边缘设备数量指数级增长以及设备性能的提升,边云协同机器学习应运而生,以期打通机器学习的最后一公里. 本文分享自华为云社区<支持边云协同终身学习特性,KubeEdge子项目Sedna 0 ...

  4. 如何选择梯度下降法中的学习速率α(Gradient Descent Learning Rate Alpha)

    梯度下降算法的任务是寻找参数θ,使之能够最小化损失函数. 那么梯度下降法中的学习速率α应该如何选择呢?通常我们画出损失函数随迭代次数增加而变化的曲线. 可能会得到如下的一条曲线,x轴表示迭代次数,y轴 ...

  5. Zimg—轻量级图片服务器搭建利器

    在一个互联网应用中,图片扮演着越来越重要的角色.有稳定的可扩展的图片存储服务器就显得尤为的重要,云厂商们提供了便利的图片存储服务,花钱就可以解决了.这里简单介绍一个开源的一个分布式图片存储服务器--z ...

  6. Stanford机器学习笔记-6. 学习模型的评估和选择

    6. 学习模型的评估与选择 Content 6. 学习模型的评估与选择 6.1 如何调试学习算法 6.2 评估假设函数(Evaluating a hypothesis) 6.3 模型选择与训练/验证/ ...

  7. Qt 学习之路 2(47):视图选择

    Qt 学习之路 2(47):视图选择 豆子 2013年3月28日 Qt 学习之路 2 34条评论 选择是视图中常用的一个操作.在列表.树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反 ...

  8. Qt 学习之路:视图选择 (QItemSelectionModel)

    选择是视图中常用的一个操作.在列表.树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反色.在 Qt 中,选择也是使用了一种模型.在 model/view 架构中,这种选择模型提供了一种 ...

  9. Qt 学习: 视图选择 (QItemSelectionModel)

    博主QQ:1356438802 选择是视图中经常使用的一个操作.在列表.树或者表格中,通过鼠标点击能够选中某一项,被选中项会变成高亮或者反色.在 Qt 中,选择也是使用了一种模型.在 model/vi ...

随机推荐

  1. SELinux入门简介

    操作系统有两类访问控制:自主访问控制(DAC)和强制访问控制(MAC).标准Linux安全是一种DAC,SELinux为Linux增加了一个灵活的和可配置的的MAC. 进程启动时所拥有的权限就是运行此 ...

  2. js设置高度和宽度相等

    <!doctype html><html><head><meta charset="utf-8"><link rel=&quo ...

  3. Email接收验证码,以实现登录/注册/修改密码

    要求 1)实现Email形式的注册功能和相应的登录功能:2)实现忘记密码时的密码找回功能:3)存在数据库中的密码不能以明文形式存放,即建议在浏览器端发送请求前,调用js代码对用户的密码做md5加密 分 ...

  4. vb编程中的is是什么意思??

    在select case 语句中可以使用关系运算符大于>小于<等于=等关系运算符,需要用关键字IS和TO.用个例子来说明:Private Sub Command1_Click()Dim a ...

  5. Core DES加、解密

    安装 Portable.BouncyCastle Nuget包 地址:https://www.nuget.org/packages/Portable.BouncyCastle/ Install-Pac ...

  6. 把excel每一行中的数据输出为一个txt文档的VBA函数

    excel vba代码: Sub makeTxt() For i = 1 To 1088'从第1行到1088行(最后一行) On Error Resume Next'出现错误时继续运行脚本 Open ...

  7. 87、代码适配IphoneX

    一.APP在iphoneX运行后不能占满,上下都有多余的边 解决方法:把旧的image.xcassets中的LaunchImage删掉,重新创建并在Images.xcassets中为iPhone X添 ...

  8. fastjson 序列化,反序列化Map对象的顺序问题

    使用JSONObject  读取JSON字符串时,读取出来的数据,通过变量时是无序的. 但是业务希望返回是顺序的. String str="{name:\"A\",add ...

  9. C#遍历SharePoint文档库下所有文档包括文档库中子文件夹下所有文档

    /// <summary> /// 获取取子文件下所有文件 /// </summary> /// <param name="web"></ ...

  10. Notes : <Hands-on ML with Sklearn & TF> Chapter 4

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...