03程序员吃的是青春饭?本质上取决于|学习笔记

简介: 快速学习03程序员吃的是青春饭?本质上取决于

开发者学堂课程如何成为技术大牛?03程序员吃的是青春饭?本质上取决于学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1240/detail/18422


程序员吃的是青春饭?本质上取决于

 

内容介绍:

一、对职业发展规划的迷茫

二、对职业发展的阐述

 

本节的主题是:程序员吃的是青春饭,本质上取决于……

 

一、对职业发展规划的迷茫

皮卢说,近期与团队同学探讨了职业发展规划的问题,有些同学表示希望后续能进一步在技术领域或管理方向有进一步的积累;有的同学表示希望在新的一年能具有更好的技术影响力,自己能做一些技术决定去影响其他人,这样自己会很有成就感。因此我也问了一些问题,你希望技术能进一步积累,那你积累的方向和期望达到的结果分别是什么?你希望能有技术决策,希望有影响力,你觉得应该如何做到?是希望通过岗位任命的方式吗?你觉得是否成功的标志就是今年或明年得到晋升吗等等。大部分同学在面对这些问题时,其实是比较迷茫的,也缺少真正可度量的衡量标准。是否能在短期内获得晋升,成了大部分人作为组织是否认可、自己是否认可的衡量标准了。当然这个话题仁者见仁,智者见智,这里简单的谈谈我的看法。

 

二、对职业发展的阐述

以相对比较口水化的方式将职业发展分两个阶段来进行阐述,第一阶段,大学毕业三到五年;第二阶段,大学毕业五到十年。

一、第一阶段

第一阶段,大学毕业三到五年。对于从事 Java 软件开发的技术同学,在毕业后的三到五年内主要都是以学习积累为主。这个阶段的工作几乎每天都有惊喜都有收获,从一开始什么都不懂的校园新人向职业人转变。在这个阶段,会学习基础的 Java 知识,会开始 Java 编程思想 effective  Java 高质量代码进阶知识,会开始看重构改善既有代码的设计代码大全、编程珠基常用的主流框架,比如 SSH 相关的 spring 实战springboot 实战hibernate 实战第二版。当然这些书已经不够了,你会通过 GOOGLE 、百大量的浏览在线的资源;例如 epanching 官网, spring 官网, hibernate 官网,你会去 Stack Overflow 问问题或找答案。系统设计与算法知识系统分析与设计方法、设计模式,需求分析与系统设计面向对象分析与设计UML 用户指南算法导论其他知识,比如数据库调优、缓存框架Nosql 数据库、日志框架等等。在这五年间快速的完成这些基础知识的学习,并能在项目中快速的学以致用,不仅自身能获得比较高的成就感,而且实际用人的单位上司也会非常喜欢这类员工。从大部分人的实际发展轨迹看,这个阶段发展快的人和正常发展速度的人差别还不是很大。比如发展非常快的人,从毕业就入职阿里的 P5到 P7,这是阿里内部职称评级,可能三年就可以做到,发展速度正常的人,可能需要五到六年,也可以到 P7,也就是说这个阶段正常发展速度的同学也仅仅比发展速度快的人慢两到三年而已。这两到三年的差距是可以通过有针对性的学习、重大项目的历练等完成这些知识的学习。无非是有的同学会严格要求自己有严格的学习计划,有的同学赶早参加了一些重点的、痛苦的项目,得到了锻炼。只要是做技术的,其实迟早都会经历过,都会成长起来。这个阶段我们能协调好的资源其实就是自己,更多的是一个个人贡献者。只要把自己管好了,学习计划执行好了,工作高质量做好了,就能得到认可。

2.第二阶段

第二阶段,大学毕业五到十年。很多本科同学,特别是研究生同学在毕业十年后就已经到了三十四三十五岁左右了,也是前段时间网上广泛讨论的所谓34加岁现象。其实年龄并不是问题的真正原因,真正的原因还是在于自身竞争力是否符合这个年龄所应该具备的。到了这个年龄的人,往往已经不是个人贡献者了,而是团队贡献者。团队贡献者可能是带团队的 TL ,也可能是个架构师,在技术决策上具有团队影响力和话语权。那么为什么这些人能管理团队或者有影响力呢?从公司的经营视角看,一个管理团队的人,他必须为业务的成功负责。简单来说,一个 TL 管了 N 个人,他至少要能保证大家输出所产生的价值至少要高于这个团队的工资、奖金、五险一金、 OPEX CAPEX 等等。这个 TL 为了大家输出的有价值,是不是需要能对所负责领域的业务特点、发展趋势、友商竞争分析有很好的洞察,能知道这个业务领域的客户是谁,他们的需求是什么,他们的痛点是什么?所以这个 TL 应该需要学习咨询的奥秘探索需求系统化思维导论。对于技术型的 TL ,还应该了解成为技术领导者掌握全面解决问题的方法,服务于特定领域的客户需要能了解客户企业架构、业务知识,要了解清楚规划的产品服务,什么才是客户所需要的?那么从理论上我们是否应该学习一些 toggaf 、 egoss 、 ento 等业务理论以及业务知识作为 TL ,是否有必要能将自己对于市场的洞察转换成业务规划,并能向自己的老板或者投资人说清楚、讲明白,并争取到老板的同意,包括资金、人力资源等。对于能否把事情讲明白,可能需要学习金字塔原理,并能非常清晰、有逻辑性的进行表达与沟通。当然,有些业务发展的事不一定特别有逻辑,是需要摸索尝试。那么你是否能将一个不确定的领域说服老板并获得支持?又需要什么博弈论、影响力等?获得老板支持后,就需要开始带着组员工作了。作为带头人,你看我们是否需要能将业务趋势、客户痛点进行业务建模,好让团队的 PD 技术都能理解在做业务进一步深入分析,可能就需要学习领域驱动设计软件核心复杂性应对之道、实现领域驱动设计企业应用架构模式、恰如其分的软件架构等等。做完业务设计后,开始要带着团队做技术方案设计、接口设计以及编码实现等,这个过程 TL 又需要具备软件项目管理的能力。无论是 pemark 指南还是敏捷软件开发、人月神话程序开发心理学,相信总归还是会有点帮助的。对于一些有国际化要求的公司,还需要再学习英语吧?还需要有个好的身体,还需要经常锻炼,学习科学的健身。至少明白了一个道理,以前都是跟自己说,等这段时间过了,闲下来去锻炼一下,其实发现越是忙的时候越需要锻炼身体。另外,在这十年内,比较关键的是你还经历过什么有挑战的业务、技术、产品、平台等方面的成功与失败经验。在这些经历里,你可能会遇到这些困难与挑战,团队磨合的挑战、技术方案上的争执、平台优先 or 业务优先的博弈、低落的团队氛围、个人的低谷等等。这些困难与挑战,是退缩了还是有成长?在带领团队时,再次面临这些挑战,你是否有解或者有勇气了?由此可得出,毕业十年后,作为一个团队贡献者,你可能需要具备这些能力,并且还远远不止;而且更可悲的是,当毕业十年后突然发现自己不具备这个能力时,比如晋升失败时发现的;而这些能力、 GAP 就不再是两到三年就能追得上的了。见过一些有准备的同学,他们给自己的目标是在毕业第七年就要具备这些能力,他有严格的学习计划、实践计划,甚至是冒险的创业经历,当他到第十年这个点时,这些高阶技能很可能已经有三年的实践经验了。如果没有做好准备,十年后如何和这批人竞争?这些软硬知识从十年这个时间刻度倒排,学习计划、实践计划的执行还是很紧张的。所以,从现在开始,给自己制定一个严格的学习计划,严格执行,多实践。

相关文章
|
运维 安全 Linux
实现远程访问Linux堡垒机:通过JumpServer系统进行安全的服务器管理
实现远程访问Linux堡垒机:通过JumpServer系统进行安全的服务器管理
|
中间件 Go 数据处理
Go语言学习 - RPC篇:gRPC-Gateway定制mux选项
通过上一讲,我们对gRPC的拦截器有了一定的认识,也能定制出很多通用的中间件。 但在大部分的业务系统中,我们面向的还是HTTP协议。那么,今天我们就从gRPC-Gateway的mux选项出发,一起来看看一些很实用的特性。
516 0
|
7月前
|
人工智能 自然语言处理 语音技术
|
安全
SFX的妙用——如何在不安装软件的情况下打开自定义格式文件?
【8月更文挑战第31天】SFX(自解压文件)能在无需安装特定软件的情况下打开自定义格式文件。通过将所需程序与资源打包进 SFX 文件,用户可轻松解压并运行文件。此方法需确定所需程序、创建 SFX 文件并分发给用户,同时需注意合法性、兼容性和安全性问题,以确保文件正常且安全地运行。这为用户提供了便捷的解决方案。
818 7
|
移动开发 人工智能 物联网
移动应用与系统:探索现代移动开发的趋势与挑战####
本文深入探讨了当前移动应用开发和移动操作系统的最新趋势、技术挑战及未来展望。通过分析Android、iOS等主流平台的演进,以及跨平台开发工具的兴起,揭示了开发者在构建高性能、安全且用户友好的移动应用时面临的机遇与挑战。文章还强调了人工智能、物联网集成及5G技术如何重塑移动生态系统,为读者提供了一个全面的行业视角。 ####
阿里云app备案服务号在哪看
【10月更文挑战第11天】阿里云app备案服务号在哪看
572 1
|
网络协议 数据安全/隐私保护 网络架构
计算机网络模型
【9月更文挑战第2天】
513 24
|
运维 监控 安全
云上智能监控:引领未来安防与运维的新纪元
通过智能视频分析技术自动识别违章行为(如闯红灯、超速等)并触发报警机制。同时结合交通流量监测和信号灯控制功能实现交通流量的优化和拥堵缓解。 智能零售监控:在零售行业中云上智能监控可以应用于店铺的客流统计和商品管理。
|
安全 前端开发 Java
【JVM 探秘】ClassLoader 类加载器:揭秘 Java 类加载机制背后的秘密武器!
【8月更文挑战第25天】本文全面介绍了Java虚拟机(JVM)中的类加载器,它是JVM的核心组件之一,负责将Java类加载到运行环境中。文章首先概述了类加载器的基本工作原理及其遵循的双亲委派模型,确保了核心类库的安全与稳定。接着详细阐述了启动、扩展和应用三种主要类加载器的层次结构。并通过一个自定义类加载器的例子展示了如何从特定目录加载类。此外,还介绍了类加载器的完整生命周期,包括加载、链接和初始化三个阶段。最后强调了类加载器在版本隔离、安全性和灵活性方面的重要作用。深入理解类加载器对于掌握JVM内部机制至关重要。
452 0
|
存储 C语言
【C 言专栏】C 语言中的数据类型详解
【4月更文挑战第30天】本文介绍了C语言中的核心数据类型,包括整型(short, int, long, long long)、浮点型(float, double)、字符型(char)、指针、数组、结构体、共用体和枚举。理解这些类型的特点和适用场景对于编写高效准确的C语言代码至关重要。选择合适的数据类型并注意转换和运算规则,能避免错误,为编程打下坚实基础。
835 0