程序员还有35岁的坎吗?

昨天晚上和多年未见的前同事聊天,提到了程序员的年龄歧视问题:

  • 自己年龄也 30 出头了,在思考 IT 届流传的 35 岁是一个坎的问题;

  • 开始注重提升管理能力,担心35岁之后,一线写代码的岗位不能胜任;

  • 公司在招聘新人的时候,有明确的年龄限制。

记得最早听说程序员有35岁这个坎还是在 06 年,为此当时还写过一篇博客《http://fwhyy.com/2006/12/programmers-not-really-35/》, 没想到十几年过去了,依然是人们所关注的一个话题。

这个问题归根结底还是程序员的职业发展问题,2018 年的一份调查表明,四分之三的 IT 开发人员年龄小于 35 岁。61% 超过 45 岁的开发人员担心自己的年龄会成为职业发展的障碍,而这种担心并非没有根据。在 2018 年,只有不到 7% 的开发者年龄超过 45 岁。而从世界范围来看,开发者平均年龄在 22 岁到 29 岁之间。尽管程序员是一份脑力工作,但很多人仍然会担心,年龄大了后,会因为体力跟不上而遭到淘汰。

程序员的职业发展,我认为大概可以分为这么几类:

  • 大公司

    • 初级开发-中级开发-高级开发-开发Leader-架构师-技术总监

    • 初级开发-中级开发-PM-部门经理-业务专家

  • 小公司

    • 初级开发-技术负责人-中高层管理人员

不管是身处那个阶段,都有一个重要的技能是需要掌握的,那就是沟通,特别是在发展过程中,比掌握具体的编程语言和框架更为重要。沟通分为:向下沟通、平级沟通、向上沟通。

平级沟通: 只要你的公司不是只有你一个开发人员,就会涉及到平级沟通,我们平时的任务大多时候都需要协作来完成,所以做好平级沟通可以使我们事半功倍。平级沟通中会出现这样一些问题:

  • 新人没有经过思考频繁问一些低级问题,造成时间浪费;

  • 不理解的地方过度思考琢磨,然后按照自己的理解去执行,缺乏沟通,最后造成做出的东西不是期望的,需要返工,和上面一条相比,这是另一种极端;

  • 沟通过程中容易推卸责任,会让讨论的焦点变成了寻找问题责任人了。

针对这些问题,我们应该要做到:

  • 学会高效提问,至少做到这两点,我觉得就不会惹人厌了;

    • 能够清晰表达希望得到什么样的帮助;

    • 自己做过哪些方面的尝试。

  • 永远记住,沟通的目的是解决问题,凡事偏离这个目的,都应该及时拉回来。

向上沟通: 只要你还不是公司老板,你就需要向上沟通。现代管理学之父德鲁克先生在《卓有成效的管理者》中告诉我们,“工作想要卓有成效,下属发现并发挥上司的长处是关键。”,我认为要做到以下几点:

  • 要主动和上级多交流,可以带来双方信息的对称,执行的结果才不至于有偏差;

  • 想要更多的资源就需要上级对你有足够的信任,我们需要不断做出好的成绩去赢得信任,让正确的事情持续发生;

  • 及时汇报,形成闭环。任何事情不管结果如何,都应该阶段性有个进度的汇报,可以及时控制风险或者调整策略。

向下沟通: 如果你是技术  Leader 或者团队负责人,和团队成员的沟通是日常工作中很重要的一部分,我们需要了解每个人在工作或生活中遇到的困难和顾虑,也需要了解他们的职业目标和规则,尽可能为他们创造一个好的工作环境,减少后顾之忧。

沟通是根本,在每个阶段中所要掌握的硬技能,比如作为一线开发,必须要掌握相关的编程语言,框架的使用等,作为PM,必须要掌握项目管控,资源协调等。这些硬技能,只要我们在持续地学习、实践,发现问题、解决问题、不断重复和积累,就能超过90%的人。

那么35岁真的是一个问题吗?如果到了35岁,你还在写着增删改查代码,应付着日常工作,不做思考,没有任何提升,那是应该焦虑了。不光是程序员,任何行业,如果你10年的工龄只是1年的经验在重复,都将会被淘汰。

全球最高龄的  iOS 开发者若宫雅子,60 岁退休后才开始接触电脑,81 岁开始学习  Swift、83 岁成为年龄最大的独立开发者。国内的宁波大学  52  岁的宿管大爷陈恭清自学编程开发了一套宿舍管理系统,还设置了双重密码防止信息泄露。两个例子都充分说明了保持思考,持续学习,年龄不是问题。

最后,我想说,不管什么行业,不管多大年龄,被淘汰的永远都是不思进取、能力不行的人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 左移 返回值_java左移右移运算符详解

在阅读源码的过程中&#xff0c;经常会看到这些符号<< &#xff0c;>>&#xff0c;>>>&#xff0c;这些符号在Java中叫移位运算符&#xff0c;在写代码的过程中&#xff0c;虽然我们基本上不会去写这些符号&#xff0c;但需要明白这些符号的运算原理&…

人与人的差距在于认知

作者介绍findyi&#xff0c;腾讯、360码农&#xff0c;前哒哒少儿英语技术VP&#xff0c;现任土豆教育CTO。工作和生活中不光要埋头干活&#xff0c;还要抬头看天。思考总结方法论是提升认知的必备途径&#xff0c;是将碎片化知识总结为动态的智慧的过程。认知有多重要&#xf…

.NET5来了你别慌

近日微软.Net大咖Scott在博客中对外宣传.NET5首个预览版&#xff0c;并且我们可以通过微软的官网下载SDK5和运行库。很多朋友感觉.NetCore3.1还没搞明白&#xff0c;.NET5就来了感觉一下子慌了神。在这里我提醒朋友们&#xff0c;瞬息万变的世界中&#xff0c;总有相对不变的真…

java8 stream 最大值_JDK8-Stream流常用方法

Stream流的使用流操作是Java8提供一个重要新特性&#xff0c;它允许开发人员以声明性方式处理集合&#xff0c;其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中&#xff0c;能 让代码更加简…

周三晚6点半!盛派首席架构师“苏老师”在线解密内部系统框架!

工作中有些事&#xff0c;看起来只用一会会儿就能完成&#xff0c;但真正完成起来&#xff0c;总会遇到一些意想不到的困难&#xff01;你一定碰到过这样的情况——开发时间 2 周的项目&#xff0c;搭框架就要用 1 周&#xff0c;刚开发完&#xff0c;各种调试和修 bug又花去 2…

给微软的日志框架写一个基于委托的日志提供者

动手造轮子&#xff1a;给微软的日志框架写一个基于委托的日志提供者Intro微软的日志框架现在已经比较通用&#xff0c;有时候我们不想使用外部的日志提供者&#xff0c;但又希望提供一个比较简单的委托就可以实现日志记录&#xff0c;于是就有了后面的探索和实现。Solution基于…

C++分析使用拷贝控制成员和调用构造函数的时机

我们来分析下面这段代码&#xff1a; #include <iostream> #include <vector>using namespace std;struct X {X() {cout << "构造函数X()" << endl;}X(const X &) {cout << "拷贝构造函数X(const X&)" << en…

《C++ Primer》13.1.4节练习

练习13.14: 这是一个典型的应该定义拷贝控制成员的场合。如果不定义拷贝构造函数和拷贝赋值运算符&#xff0c;依赖合成的版本&#xff0c;则在拷贝构造和赋值时&#xff0c;会简单复制数据成员。对本问题来说&#xff0c;就是将序号简单复制给新对象。 因此&#xff0c;代码中…

十问十答 CDDL 许可证

今天我们来整理一下通用开发和发行许可证 CDDL 的十大问题清单。通用开发与发行许可证&#xff08;Common Development and Distribution License&#xff0c;CDDL&#xff09;由已被甲骨文公司收购的太阳微系统公司&#xff08;Sun Microsystems&#xff09;发布的一种开源许可…

Http Server API路由请求到web程序

引言接上文&#xff0c;容器内web程序一般会绑定到http://0.0.0.0:{某监听端口}或http://:{某监听端口}&#xff0c;以确保使用容器IP可以访问到web应用。正如我们在ASP.NET Core官方镜像显示的&#xff0c;ASP.NET Core程序在容器内80端口监听请求This image sets the ASPNETC…

《C++ Primer》13.1.6节练习(部分)

练习13.18: #include <iostream> #include <string> using namespace std;class Employee {private:static int sn;public:Employee() {mysn sn;}Employee(const string &s) {name s;mysn sn;}const string &get_name() {return name;}int get_mysn() …

用Azure Custom Vision 零代码创建一个口罩识别模型

新冠肺炎下&#xff0c;地球是一家&#xff0c;不分国籍&#xff0c;不分种族&#xff0c;或者现在只能呆在家中&#xff0c;但是也是一种对抗疫的支持。停课不停学留在家中&#xff0c;不仅是对学生&#xff0c;对于所有人都是有用的。在现阶段&#xff0c;大家可能最需要的不…

C++拷贝构造函数调用时机分析

让我们来分析下面这段代码&#xff1a; #include <iostream> #include <string> using namespace std;class Employee {private:static int sn;public:Employee() {cout << "Employee()" << endl;mysn sn;}Employee(const string &s) …

百万年薪程序员的7点能力

作者介绍findyi&#xff0c;腾讯、360码农&#xff0c;前哒哒少儿英语技术VP&#xff0c;现任土豆教育CTO。几周前&#xff0c;微盟爆了个大雷&#xff0c;数据库让内部员工删库跑路。写了篇文章&#xff0c;做了一些我的判断&#xff1a;从微盟36小时故障&#xff0c;谈谈数据…

《C++ Primer》13.1.1节练习

练习13.1: 如果构造函数的第一个参数是自身类类型的引用&#xff0c;且所有其他参数&#xff08;如果有的话&#xff09;都有默认值&#xff0c;则此构造函数是拷贝构造函数。拷贝构造函数在以下几种情况下会被使用&#xff1a; ●拷贝初始化&#xff08;用定义变量&#xff09…

Java将五个整数存入整形数组_异常处理:从命令行输入5个整数,放入一整型数组,然后打印输出。。。...

从命令行输入5个整数&#xff0c;放入一整型数组&#xff0c;然后打印输出。要求&#xff1a;如果输入数据不为整数&#xff0c;要捕获输入不匹配异常&#xff0c;显示“请输入整数”&#xff1b;如果输入数据多余5个&#xff0c;捕获数组越界异常&#xff0c;显示“请输入5个整…

优秀的开发者从命名开始

有人说&#xff0c;命名能力也能体现一个程序员的基本编程素养。我很赞成这句话&#xff01;作为开发人员逃不过起名字这一关的,大到项目名、模块名&#xff0c;小到类名、方法名、参数名、参数名、变量名。而命名又对代码的质量和可读性起到很关键的决定。如何码出高质量的代码…

【复杂系统迁移 .NET Core平台系列】之认证和授权

源宝导读&#xff1a;微软跨平台技术框架—.NET Core已经日趋成熟&#xff0c;已经具备了支撑大型系统稳定运行的条件。本文将介绍明源云ERP平台从.NET Framework向.NET Core迁移过程中的实践经验。一、背景随着ERP的产品线越来越多&#xff0c;业务关联也日益复杂&#xff0c;…

《C++ Primer》13.1.3节练习

练习13.9: 析构函数完成与构造函数相反的工作&#xff1a;释放对象使用的资源&#xff0c;销毁非静态数据成员。从语法上看&#xff0c;它是类的一个成员函数&#xff0c;名字是波浪号接类名&#xff0c;没有返回值&#xff0c;也不接受参数。 当一个类没有定义析构函数时&…

.NET Core开发实战(第30课:领域事件:提升业务内聚,实现模块解耦)--学习笔记...

30 | 领域事件&#xff1a;提升业务内聚&#xff0c;实现模块解耦我们在领域的抽象层定义了领域事件和领域事件处理的接口IDomainEventnamespace GeekTime.Domain {public interface IDomainEvent : INotification{} }这是一个空接口&#xff0c;它只是标记出来某一个对象是否是…