当前位置: 首页 > news >正文

职业规划随想

在这个节点讲讲我对职业发展路径的理解,另外就是理一理脑子里的一些思路,过段时间再看此文又可能是另一番理解。很多路从后往前看的时候总会有遗憾,要是当初怎么怎么样就会怎么怎么样?再完美也会有缺憾,因为人是不知足的。后悔也没用。有一句话叫做:早知如此,又何必当初。命运有些是自己可以掌握的,有些可能需要运气和机会。

先说说路径可达这个词吧?这个词我曾经说过一次,我看很多人会觉得他的路看不到未来,有些人就可以清晰的看到他的方向。这句话怎么理解。比如说你现在所做的工作过两年会不会有所改变。如果答案是否定的,那么说明现在的工作是没有上升通道的,就需要改变。当然安于现状不思进取是另外一回事。时刻反思自己所走的路,然后迅速调整,可能会少走很多弯路,毕竟时间不可逆。

我很多时候都会想我五年后在哪里,做什么?大部分人对于这个都会很模糊。因为时间跨度太大。五年时间相当于整个生命长河其实很短,但在职业规划中确是很长的段,也没有谁会把五年做为一整段来规划。从时间规划来讲肯定会用到时间的切分。很多宏观的东西只有落地到一件件事上才是有效的,才算得上完整的规划。每天都在想我五年后做架构师,做项目经理。这样除了浪费时间之外没有任何好处。但是话又说回来人是有惰性的,人对于这种限制的东西有天然的排斥感,执行起来非常痛苦,即使开始执行起来很有激情,过不了几个月,所有的计划都缩水了。至少我是有这种感觉,所以我的计划永远都无效,这同时也导致了很多事情的浪费和盲目性。也导致学习变成一个一个孤立的点,完全没有串连性。因为你是想到学什么学什么,而不是计划着学,一段时间后可能会有一些积累,但是永远深度不够,这是我大部分时候的感受。没有计划是很要命的事。如果一个人能很好的管理时间那么必成大牛。好学生好在哪里,排除智商的因素外,就是时间管理和善于思考。我觉得我本身最大的问题:时间管理,自律性,沟通能力。这三块是我觉得自己最缺乏一定程度上是致命的,很大程度上会决定我未来的所发展的高度。

在程序员中一直有个讨论就是将来要做项目经理还是做架构师。这两条路的侧重点不一样,所以积累的东西也可能不同。项目经理更强调综合能力,比如说协调能力,沟通能力等一系列偏管理的能力。而架构师可能更专注于技术本身。两条路有重叠,但是更多的是区别。有些项目经理可能就不会写代码。但是同样可以带好一个项目,一个团队。

我曾经也问自己要是以后这两条路走哪条,其实都可以尝试一下。比如说给一个项目让我带带,我能否把它带好,其实需要机会,同时也需要自己去争取这样的机会,所以我的答案就是两条路都可以走走。很多人认为项目经理是一个职位,我倒觉得是动态的,这个项目中你做PM,另外一个项目中可能又是开发。所以不永远是PM,也不永远是开发。

就自己本身的发展而言,专注于技术可能是一条更加明智的路。管理这个东西总的说有点虚无飘渺,各都有各的一套理论,完全无法评估。但是技术是可测量的,通过一定的努力技术水平都会有定的跃升。记得在《肖申克的救赎》里面说到地质的形成只需要两个条件:压力和时间。其实对于学技术也是一样的。只要肯学一定会达到某个水平。到大牛级别的确实需要一些悟性和天分。

我记得以前总有人问我你最擅长的领域是什么?这个问题一问我就懵了,因为我从来就没想过这个问题。可能本身还没到分领域的级别。还处于一种“原始积累”阶段。技术学到一定的时候是分领域的。领域之间会有一些交叉。

我所知道的大方向是“高性能,大数据量,移到平台“。这是我给Java这所分的三个方向。其实我上面所说的三个方向不一定是同一个维度。但是我认为写Java的如果没有沾上这三个方向中的一个,一定没有前途。高性能和大数据量的处理需要比较多的技术储备。很多人说写个Java就是CRUD(严格来讲,对于计算机本身所有的操作都是CRUD)。可是在高性能情况下所涉及的问题一下成指数级增长。各种“水平扩展”,“服务化”,“容灾”,”缓存”等各种牛B的词汇就来了,你写一般的CRUD最多也就知道个SSH,这是不一样的。比如说做大数据量的处理一定会知道Hadoop,然后就是云计算,云存储。反正什么牛B什么来。移动平台和上面我所说的维度不一样,因为移动平台相对应的是PC平台。但是由于移动平台的发展时间很短。所以能搭上这趟快车也有不错的发展。要是早些年(2012年以前)进入移动平台的开发,现在同水平的程序员工资肯定更高。这是平台发展所带来的红利。虽然两年前我预见到了移动平台的无可限量,但是那时候就像一个一无所有的人,还管它什么移动平台还是PC平台,能写代码做项目就OK。以至于我学了一个月的Android就偃旗息鼓。这里其实又验证了我的几个缺点。

不管怎么样技术的底层都是一样的,这就是为什么算法和数据结构是永恒不衰的。很多人说算法和数据结构无用那就是无知的表现。这个无知就像在讨论读大学有没有用一样。

我为什么觉得自己应该走架构师这条路,这和我职业终极目标是契合的。这里先说一下架构师做什么?架构师负责整个项目甚至整个系统的构架(这一句话等于废话)。一般型的项目可能这个设计PM就做掉了。但是系统复杂度上升的时候,会涉及到系统之间的交互,还有技术的可行性和整个设计的方案,主要是从宏观上来讲。这个时候架构师就出场了。另外的工作就是承担一定的培养新人的工作。所以架构师都需要具备比较好的口才,很多人都说程序员不会说话,错了,那是低端的,到了高端的程序员口才都极好,一点都不比做销售的差。这后面会发现有一个发展方向就是“讲师”,还可以写书,其实这些都可能是一些“副产品”。技术到一定的境界很多事情到都是水到渠成。

架构师写代码吗?当然写。他们肯定不会写那些简单的代码,他们一般写什么代码?框架,一般来讲优秀的框架都是一个人或者极少人写出来的。比如说Linux的核心就是一个人写出来的。好的代码绝不是人堆出来的。你给100个初级程序员也整不出一个Struts来。这里会衍生出另外一条路,就是开源框架,很多牛人都是开源社区的爱好者。都或多或少的参与了一些开源项目。甚至把自己写的一些东西开源出来。程序员发展到后面其实是“知识分子”。一般来讲能做到这个级别那是相当厉害的了,这当然不是普通人能做到的。

上面所说的是条路径,能走到哪一步有机遇,从长远来讲都是自己可以规划的。如果机会好可能少个几年,机会不好可能多个几年。理论上来讲这条路对于每个程序员讲都是可达的。所以事在为人,骚年,加油吧!

相关文章:

  • HDU 2485 Destroying the bus stations (IDA*+ BFS)
  • 黑马程序员_常用类(System.Math,Calendar,Date,Runtime)
  • 转载 eoe 大神整理好的 android 开源项目
  • (3)选择元素——(17)练习(Exercises)
  • [week4]每周总结与工作计划
  • 每天一道算法_1_放苹果
  • CSS3之渐变Gradient
  • Linux下几个常用的快捷键,真的很实用
  • Python 入门教程 13 ---- Loops
  • 软件开发中的资源控制问题学习
  • linux mount命令学习
  • TCP头分析+面试题
  • Maven--多模块依赖实例解析(五)
  • Python解决codeforces ---- 1
  • HDU 2493 Timer 数学(二分+积分)
  • 时间复杂度分析经典问题——最大子序列和
  • 【RocksDB】TransactionDB源码分析
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • bootstrap创建登录注册页面
  • Codepen 每日精选(2018-3-25)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • java2019面试题北京
  • laravel5.5 视图共享数据
  • 初识 beanstalkd
  • 从0到1:PostCSS 插件开发最佳实践
  • 从零开始的无人驾驶 1
  • 给第三方使用接口的 URL 签名实现
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端面试总结(at, md)
  • 巧用 TypeScript (一)
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 微服务入门【系列视频课程】
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 写给高年级小学生看的《Bash 指南》
  • 在Docker Swarm上部署Apache Storm:第1部分
  • ionic异常记录
  • UI设计初学者应该如何入门?
  • #大学#套接字
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $GOPATH/go.mod exists but should not goland
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (二)fiber的基本认识
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (算法二)滑动窗口
  • (算法设计与分析)第一章算法概述-习题
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net Signalr 使用笔记
  • .net 反编译_.net反编译的相关问题
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NetCore项目nginx发布
  • .Net小白的大学四年,内含面经