首页 文章 精选 留言 我的

精选列表

搜索[程序员],共10001篇文章
优秀的个人博客,低调大师

阿里P9谈程序员——程序员的"青春饭"

导读:你是否曾经认真思考过——毕业3-5年、10年,乃至更久后,我们希望成为什么样的人?作为一名技术人,我们要如何规划自己的职业发展生涯?网上热议的“35岁中年危机”,本质上又因什么而焦虑?今天,阿里资深技术专家毗卢,将带来自己的思考与理解,希望对大家有所启发。 作者毗卢:近期,我与团队同学探讨了职业发展规划的问题。有些同学表示希望后续能进一步在技术领域(或管理方向)有进一步的积累;有的同学表示希望在新的一年能具有更好的技术影响力,自己能做一些技术决定,去影响其他人,这样自己会很有成就感。 因此,我也问了一些问题: 你希望技术能进一步积累,那你积累的方向和期望达到的结果分别是啥? 你希望能有技术决策,希望有影响力,你觉得应该如何做到?是希望通过岗位任命的方式吗? 你觉得是否成功的标志,就是今年或明年得到晋升吗? 等等 大部分同学在面对这些问题时,其实是比较迷茫的,也缺少真正可度量的衡量标准。是否能在短期内获得晋升成了大部分人作为“组织是否认可、自己是否认可”的衡量标准了。 当然,这个话题仁者见仁、智者见智,这里我简单地谈谈我的看法。我以相对比较口水化的方式,将职业发展分两个阶段来进行阐述: 1)第一阶段:大学毕业3到5年 2)第二阶段:大学毕业5到10年 第一阶段:大学毕业3到5年 对于从事Java软件开发的技术同学,在毕业后的3到5年内主要都是以学习、积累为主。这个阶段的工作几乎每天都有惊喜,都有收获。从一开始啥都不懂的校园“新鲜人”向“职业人”转变。在这个阶段,你会学习: 基础的Java知识:你会开始看《Java编程思想》、《Effective Java》。 高质量代码进阶知识:你会开始看《重构:改善既有代码的设计》、《代码大全》、《编程珠玑》。 常用的主流框架:比如SSH相关的《Spring实战》、《Spring Boot实战》、《Hibernate实战(第2版)》。当然,这些书已经不够了,你会通过Google、Baidu大量地浏览在线的资源:Apache官网、Spring官网、Hibernate官网。你会去StackOverflow问问题或找答案。 系统设计与算法知识:《系统分析与设计方法》、《设计模式》、《需求分析与系统设计》、《面向对象分析与设计》、《UML用户指南》、《算法导论》 其他知识:比如数据库调优、缓存框架、NoSQL数据库、日志框架等等 在这5年间,快速地完成这些基础知识的学习,并能在项目中快速地学以致用。不仅自身能获得比较高的成就感,而且实际的用人的单位、猎头也会非常喜欢这类熟练工。 从大部分人的实际发展轨迹看,这个阶段发展快的人和正常发展速度的人,差别还不是很大。比如,发展非常快的人,从毕业就入职阿里的P5到P7(注:阿里内部职称评级),可能三年就可以做到。发展速度正常的人,可能需要5-6年也可以到P7。也就是说,这个阶段正常发展速度的同学也仅仅比发展速度快的人慢2-3年而已。 这2到3年的差距,是可以通过有针对性的学习、重大项目的历练等完成这些知识的学习。无非是,有的同学会严格要求自己,有严格的学习计划;有的同学赶早参加了一些重点的、痛苦的项目得到了锻炼。只要是做技术的,其实迟早都会经历过,都会成长起来。 发现没有?这个阶段,我们能协调好的资源其实就是自己,更多的是一个“个人贡献者”。只要把自己管好了,学习计划执行好了,工作高质量做好了就能得到认可。 第二阶段:大学毕业5到10年 很多本科同学,特别是研究生同学。在毕业10年后,就已经到了34、35岁左右了。也是前段时间网上广泛讨论的所谓34+岁现象。其实,年龄并不是问题的真正原因。真正的原因还是在于自身“竞争力”是否符合这个年龄所应该具备的。 到了这个年龄的人,往往已经不是“个人贡献者”了,而是“团队贡献者”。团队贡献者可能是带团队的TL,也可能是个架构师,在技术决策上具有团队影响力和话语权。 那么,为什么这些人能管理团队或者有影响力呢? 从公司的经营视角看,一个管理团队的人,他必须为业务的成功负责。说个大白话,一个TL管了N个人,他至少要能保证大家输出所产生的价值,至少要高于这个团队的工资、奖金、五险一金、OPEX、CAPEX等等吧。这个TL为了大家输出得有价值,他是不是需要能: 能对所负责领域的业务特点、发展趋势、友商竞争分析有很好的洞察?能知道这个业务领域的客户是谁?他们的需求是什么?他们的痛点是什么?所以,这个TL应该需要学习《咨询的奥秘》、《探索需求》、《系统化思维导论》。对于技术型的TL,还应该了解《成为技术领导者:掌握全面解决问题的方法》。 服务于特定领域的客户,我们需要能了解我们的客户企业架构、业务知识。要了解清楚规划的产品、服务,什么才是客户所需要的。那么,从理论上,我们是否应该学习一些TOGAF、NGOSS、ITIL等业务理论以及业务知识? 作为TL,是否有必要能将自己对于市场的洞察转换成业务规划,并能向自己的老板(或者投资人)说清楚、讲明白?并争取到老板的同意,包括资金、人力资源等。对于,能否把事情讲明白,我们可能需要学习《金字塔原理》,并能非常清晰、有逻辑性地进行表达与沟通。当然,有些业务发展的事不一定特别有逻辑,是需要摸索、尝试,那么你是否能将一个不确定的领域说服老板并获得支持,我们又需要什么?《博弈论》、《影响力》等。 获得老板支持后,就需要开始带着兄弟们干活了。作为带头人,你看我们是否需要能将业务趋势、客户痛点进行业务建模好让团队的PD、技术都能理解?在做业务进一步深入分析,可能就需要学习《领域驱动设计:软件核心复杂性应对之道》、《实现领域驱动设计》、《企业应用架构模式》、《恰如其分的软件架构》等等。 做完业务设计后,开始要带着团队做技术方案设计、接口设计以及编码实现等。这个过程,TL又需要具备软件项目管理的能力。无论是《PMBOK指南》,还是《敏捷软件开发》、《人月神话》、《程序开发心理学》,相信总归还是会有点帮助的。 对于一些有国际化要求的公司,还需要再学习英语吧! 嗯,还需要有个好的身体,还需要经常锻炼,学习科学的健身吧(说起来自己脸红)。至少我明白了一个道理,以前我都是跟自己说,等这段时间过了,闲下来去锻炼一下。其实,我发现,越是忙的时候,越需要锻炼身体! 另外,在这10年内,比较关键的是——你还经历过什么有挑战的业务、技术、产品、平台等方面的成功与失败经验?在这些经历里,你可能会遇到这些困难与挑战:团队磨合的挑战、技术方案上的争执、平台优先or业务优先的博弈、低落的团队氛围、个人的低谷等等。这些困难与挑战,你是退缩了?还是有成长?在带团队时,再次面临这些挑战时,这时你是否有解或者有勇气了? 发现没有?毕业10年后,作为一个团队贡献者,你可能需要具备这些能力,并且还远远不止。而且,更可悲的时,当毕业10年后,突然发现自己不具备这个能力时(比如晋升失败时发现了),这些能力GAP就不再是2到3年就能追得上的了。我见过一些有准备的同学,他们给自己的目标是在毕业第7年就要具备这些能力,他有严格的学习计划、实践计划、甚至是冒险的创业经历。当他到第10年这个点时,这些高阶技能很可能已经有3年的实践经验了。 如果我们没有做好准备,10年后,如何和这批人竞争?这些软、硬知识,从十年这个时间刻度倒排,学习计划、实践计划的执行还是很紧张的。所以,从现在开始给自己制定一个严格的学习计划、严格执行,多实践吧! 欢迎工作一到五年的Java工程师朋友们加入Java架构开发:860113481 群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

优秀的个人博客,低调大师

中年程序员传

2030年夏季,周日,天气很好,张三利用难得的一周唯一一天休息日,陪着孩子来上英语课,女儿5岁,在中关村上英语课,他则在教室旁边的星巴克喝咖啡,星巴克这个时候大多是孩子家长在这里等待孩子下课。 张三期望孩子英语学好,孩子在将来能少把时间花在英语上以学好数理化,他老婆则不是这个想法,希望能在小升初的时候,能通过英语被点招到更好的学校,尽管这个希望很渺茫,政策总是变化。 英语学费挺高,每三个月需要1万,但张三还是挺舍得对自己女儿花这钱,他对自己信心满满,他现在处于事业上升期,在国内一个著名的平台电商公司上班,不到29岁,年薪总包已经50万了。加上他老婆挣的钱,应付孩子学前教育和课外班,房供绰绰有余。张三在网关组里担任leader,他憧憬自己未来职位提升,年薪百万,能积分落户在北京。 张三旁边有个中年人,大约45岁左右,带着眼镜,胡子邋遢,白头发很多,他也经常在这个店里,张三知道中年人手里的捧着的咖啡不是他自己的,这个中年人他每次来都会很早来店里找个位置坐好,如果他看到其他客人有喝剩下的咖啡或者吃剩下的三明治,他都会坐过去,然后捡起来吃。店员似乎也不管他,他并没有影响任何人,他偶尔他也会掏钱自己买拿铁喝。这个中年人不像其他顾客那样,看手机或者是看电脑,中年人手里捧的是书,有时候是励志书,有时候又是武侠小说,边看边记笔记 张三所在的孩子英语家长群里早就有人议论这个中年人了,大家不觉得这个人是神经病,也许是穷困,他很同情这个中年人,于是扫码要了一份三明治给这位中年人,当招待给中年人端上三明治的时候,中年人说今天自己没有点吃的,招待指了我,我朝中年人微笑了一下,中年人也微笑也表示敬意。如今光景不好,张三在KFC也能见到类似这样的拿别人吃剩下东西的人,不过都是好吃懒做的年轻人,但在咖啡厅里一个吃别人剩下的三明治和咖啡的中年人,确实很少见,张三走了过去,坐在中年人旁边,打算跟他聊一聊。 ”你也是来送孩子来这里上课的”,张三很违心的问了这一句,心想这中年人当然是不是,但张三不知道知道怎么开头 ”是的,我孩子小的时候经常来送他上课,有英语课,数学课,还上物理课“,中年人出人意料回答到,不过他现在跟孩子他妈妈都回老家了,没有高中上学资格,我留在北京挣钱。 ”你现在做北京什么生意呢“,张三问道 中年人听到生意俩个字,有些不自在,很窘迫的回答,“我没有做生意,我就有时候朋友需我帮忙,我会帮忙挣点费用”, 张三接着问道,那您做什么? 中年人接着窘迫说,我是做IT开发的的,做了20多年,有时候朋友或者网上有点小活,我都会做一下,我以前在xxx平台公司呆了8年,中年人略微自豪的说了一下xxx平台公司 真是巧合,张三目前也在这个公司,没想到这个中年人是他前辈。自己公司向来以年轻化著称,几个副总裁亿万身家,不到40,其他都很少超过32岁。唯一超过40岁的总裁说过,如果35岁还混不好,就不要在公司呆着了,这句话虽然争议大,但并没有年轻人反对,因为年轻人跟张三一样想法,35岁都人都不会干活,精力有限还瞎指挥,占着茅可不拉屎。 很多人年龄大点就在这个公司被自然淘汰或者停止续签合同。张三对自己信心满满,觉得自己水平非常好,精力旺盛,也负责着核心业务的开发。他领导也经常表扬他,希望他能在不同团队锻炼,多历练一下。 张三说到,“这么巧,我现在就在这个公司,您是我的前辈”,您在建设xxx平台的时候,我估计还在上初中呢。 中年人听了囧囧回说,“是啊,当时公司很多平台我都参与过,有一个网关平台我一个人开发的,当时测试团队没有测试出任何问题,最后老板把测试人员给开掉了,那一年我得了全公司的优秀工程师奖”。中年人说到这里,仿佛眼里有了点光彩,有点小得意。但看着手里的张三赠予他的三明治,随即低头,眼神又暗淡起来。 开除测试人员这个事情,一直是平台公司的一个传奇故事,原来眼前这个中年人就是公司的传说人物,江湖名是包治所有BUG的“大夫”,他缔造了公司初期很多平台,他本人据说也在出版过畅销书,也搞个开源。自己前面公司的产品一直在用他的开源。他的开源API网关功能和性能都远超过了Apache和Spring的网关产品 您的江湖名“大夫”吧,你一直是公司的传说,我现在就在你那个网关组。国内用的最多的开源API网关,也是你写的。张三看见公司老前辈和江湖名流,毕恭毕敬起来,他之所以能在公司网关组顺风顺水,完全得益于大夫的平台无坑无漏洞。 张三每次读到大夫发布的最新开源新代码和博客,都是钦佩不已。他一直以为“大夫”财务自由才离开公司,没想到他尽然是落魄成这样 您现在怎么这么样了?张三疑惑道,完全没有考虑中年人已经很窘迫了。 中年人更加窘迫了,他说,xxx平台公司都是后浪推着前浪走,业务发展越来越好,招的同事年轻又学历高,水平非常好。 我自己做的系统因为坑少,所以老板让我换不同的系统做,有一天,我做累了,决定离开公司,投奔我同学,干了4年。后来我同学的IT公司也搞年轻化,把我从后台开发转到前端开发,然后再运维,再转到测试,一直在给年轻人腾位置。直到最后没有与我续签合同,给了我一笔补偿,我就彻底失业了,我三年前失业,再也找不到工作了。 大夫又囧囧的说到,现在就业环境不好,公司招收年轻人国家有补助,中年人却没有。所以公司都比较爱找年轻人。我最后几年搞了运维和测试,干的比较杂。 应聘公司都觉得我年纪大,做不了事情。我写的那本书和开源网关,10年前还算很高深,现在都普及化了,不是啥高深技术,应聘公司也不觉得我水平多好,又担心我45了干不动。 所以一直失业,除非了解的我的朋友,会给我介绍一些活做,但挣钱不多,都是过好几手的小活了.我现在偶尔能靠小项目一个月挣一万块钱,足够我在老家的孩子和老婆的开销了。 大夫说的话让张三有点唏嘘,张三说到,要是你不嫌弃,每个周日早上,我请你喝咖啡,你给我讲讲你的开源网关和研发经验吧,我一直都在阅读您更新的开源网关代码和博客。 中年人很开心,感觉找到了志同道合的人,欣然答应,他好久都没有得到别人的欣赏了,15年前,他在IT出版和开源圈,是那么风生水起。时过境迁,现在又是那么的落魄。 这个时候,张三电话响了,是商城中台总裁打过来的,张三连忙接听:“老板,有什么安排”, 老板在另外一头回答到,“张三,事情确定了,竞争对手现在再搞智能医疗平台,我们也要搞,我们商量了,想让你从网关组调到医疗平台组,你手下那个王一博你一直觉得他不错,他也是清华研究生,我们让他接替你的工作,你下周安排一下,周三就去医疗平台组报道” 这个是张三早已耳闻安排,以前他还感觉很兴奋,但现在突然心里惶恐不安,不知道去医疗平台的前景会怎么样,更不知道自己40岁那一天是否也会这个中年人一样。 以上为个人小说,如有雷同,纯属巧合

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册