漫谈程序员系列 一张图道尽程序员的出路

2024-02-11 04:30

本文主要是介绍漫谈程序员系列 一张图道尽程序员的出路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    《推背图》相传由唐太宗时期的司天监李淳风和袁天罡合著(此两人其实是超级武学高手,参见小椴的《开唐》),推算大唐以后中国两千多年的国运盛衰,在中国七大预言书中居首,是当之无愧的中国第一预言奇书。

    我最喜爱的当代小说作家之一格非也有一篇小说以《推背图》为名,很好看。

    说真的,本文和推背图没有一毛钱关系,唯一的关系就是大家都占个图字。

    --------------正文分割线---------------

    最近在琢磨程序员到底路在何方,经过不断的自虐和代入,终于在迷雾森林中得图一张,看之豁然开朗。独乐乐不如众乐乐,share了:


                                 图1 程序员职业路线图

    

术语表

    图1中使用了很多术语,这里先做解释,只有我们大家都说同一种语言,沟通才会顺畅。

  • 程序员:撰写代码,生产软件,辅助提高社会生产率的脑力劳动者。据说喝的是咖啡,抽的是烟,产的是代码。他们是计算机诞生后才逐渐兴起的一个群体,鱼龙混杂,有高飞天上的白富美,也有低到尘埃里的矮矬穷,总之虽一类而九流具足。
  • 初级工程师:入门程序员,怀揣着IT行业多金的遐想进入了IT江湖,开始了练级打怪求升级的游戏之路。
  • 中级工程师:经过几年的打拼,有一定的拷贝、粘贴功底,掌握了太祖长拳或罗汉掌之类的一技之长,打字速度变快了,双眼变得稍稍有些迷人了,对零壹世界有了比初级工程师更深刻的认识。
  • 高级工程师:拷贝、粘贴之术出神入化,又习得搭积木和沙滩上盖大楼的绝技,还能像江湖郎中一样给病入膏肓的代码开药了。
  • 架构师:坚信技术可以让人牛X,抵制了各种旁门左道的火辣诱惑,闭关多年,终于一生二、二生三、三生万物了,能够坐而论道、指手画脚了,觉得自己形神具备有仙人之资,偶尔来个仙人指路挺爽。
  • 技术专家:看过各种江湖流派,最终在某条羊肠小道之上月黑风高之夜顿悟辟邪剑法,从而成为一代旁门高手,在自己的领域里无人能及。
  • CTO:史上最强的技术流?不一定。不过有一点高度是肯定的:会当凌绝顶,一览众山小。正统的CTO专门研究各种武技,寻求能在未来的江湖中克敌制胜的秘辛。国内江湖乱象纷呈,很多CTO其实在打杂做管理。
  • 小组组长:这并不是一个正式的头衔,在《江湖异闻录》中,小组组长被掌门委以突袭带头人的角色,只因为他有带头大哥的潜力,能激发大家的战斗力。虽然没有掌握绩效考评之类的绝杀技,不过也是通往管理之路的必经过程。
  • 项目组长:管的事儿有点儿多了,要带人,要带项目,要和产品经理搞好关系,通常也得和小分队的成员不分你我,总之什么都干,干的是项目经理的活,只是没有名分。没关系,等带好一个项目,又有项目经理的缺时就可以顶上去了。
  • 项目经理:这是一个正式的打杂的,终于有了名分了。
  • 高级项目经理:又叫项目群经理。他搬了把凳子以便让自己站得更高,能够看清楚纷乱的江湖里多个项目的情况,通常需要协调这个协调那个,找项目经理谈谈话,抚慰一下项目经理或项目组长委屈的心,有时也会被来自上面的压力压得喘不过气来。
  • 部门(项目)总监:So,不知道要说什么了,开始管各种事儿了,评估项目开发过程,拟定考评、绩效、职级等各种制度,或者今天跑这个项目聊聊天,明天跑那个项目聊聊天,后者自己左右互搏和自己聊聊天,看起来闲人一个。

    就这么多吧,其它的也不想说了。因为我们要讨论的是程序员的出路……

程序员的路在何方

    图1中框起来的,是程序员的主旋律。

    程序员,专业人士也,与瓦工、木匠、发型师、保洁员等类似,不过是社会万千分工之一种,没什么高大上,也没什么矮矬穷,只不过时代大潮中被滚滚洪流裹夹着前进的一群人而已,所谓泯然众人矣,就是说的这个。

    So,该说什么啦?

你怎么混进来的

    不忘初衷。

    不忘初心。

    你是不是忘了当初为什么要干这个?

    那就想想吧。有好处。

    有的人是为了程序员的高薪

    有的人是想要一份体面稳定的工作而已,别出差

    有的人是过来打酱油的早抱定了过两年就走的心

    有的人想了解这个世界,试试看自己合不合适

    有的人就喜欢计算机的世界,如鱼得水

    有的人觉得这个行当既专业又神秘,感觉倍儿棒

    有的人喜欢挑战,因为软件开发每一刻都有战斗的感觉,各种问题纷至沓来

    有的人就喜欢不断学习新技术,为技术而生,而没有哪个行业像这个一样时刻都要学习

    有的人喜欢这个行当的成就感,持续不断的小刺激总让人高潮不断

    有的人渴望有自己的软件作品

    有的人想用软件改变世界

    有的人觉得这是一片净土,罕见尔虞我诈,不必江海寄余生

    有的人觉得这行门槛低,谁都可以来搞两下

    有的人是来发动战争的,攻破别人的防线感觉很爽

    有的人是冲着 IT 界牛人半数都出柜这一点来的

    ……

    总之各种理由都有,你也一定有自己的那一个。对吧,你自己的。

将来去哪儿

    迪克牛仔的《三万英尺》:

要飞向哪里  能飞向哪里

愚笨的问题

我浮在天空里

自由的很无力

    前几天在朋友家翻看米兰昆德拉的《不能承受的生命之轻》,里面开篇对轻与重的辩论,很有意思,好像和我们也有一点关系,感兴趣的可以读读,这本书是倒退十来年那个时候小资必读。


    你今天的选择,决定了明天的路。

    那些来打酱油的,明天就走了。比如我原来有个同事,干了一阵子,来找我辞职,说准备回家搞民间金融去了。后来还在QQ上联系过我,据说搞得还不错,问我要不要投资。

    有些人听说IT行业薪资高,巴巴地进来了,可是干了两三年,工资还是三两千,只好失望的走了。其实除非你有经天纬地之才,没有一开始就高薪的道理。先做事,后有钱。先想钱,钱难来。做程序员搞开发大抵是酱紫的。听说有个哥们跳到了华为,天天晚上十一二点的搞,有一天他终于不慎抱恙,晚上九点多回去了,被整个组的人鄙视;可是华为熬过三年,钱多多的,年终奖和分红抵得上你一年的工资。关键是,你熬得住吗?你媳妇熬得住吗?

    有一段时间我觉得心不够静,买了几本佛经想受点熏陶,读了《金刚经》、《坛经》、《心经》、《地藏经》,不过都没读完。后来在一个同事的工位上看到她贴了一个即时贴:

    观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故空中无色,无受想行识,无眼耳鼻舌身意,无色声香味触法,无眼界,乃至无意识界。无无明,亦无无明尽,乃至无老死,亦无老死尽。无苦集灭道,无智亦无得。以无所得故,菩提萨埵,依般若波罗蜜多故,心无挂碍,无挂碍故,无有恐怖,远离颠倒梦想,究竟涅槃。……

    原来心不净的人可真多呀,好吧,我不是一个人在战斗,太欣慰了。

    我看到女同事贴的这段《心经》中的文字没多久,她离开了公司。再后来我到书店闲逛,发现摆在显眼处的都是什么这个禅师、那个道长、某个灵修、西方冥想者出的拯救大家心灵的菩提书,也有很多国内的心理作家写的鸡汤,多得很呢真是。我这才意识到,原来我们都有病,药不能停啊。

    扯远了吧。

    我想说的是,作为程序员,心态决定你的将来。你自己怎么看待你所从事的工作,你是享受它、厌烦它、无所谓、爱恨交加……这些决定了你将在这条路上走多远。

    我们生活在一张社会关系网中,因为别人能够看到你你才存在,这是《作为意识与表象的世界》,你看到的人、别人看到的你,都只是作为观察者的那个人想看到的,而非真实的人。虽然真实的人客观存在,但没有人能看到这样一个真实的、完整的人,包括你自己。

    你看到你想看到的,他看到他想看到的,张三看到张三想看到的,李四看到李四想看到的……周围一圈人对你的意识构造了社会化关系中的你,但那只是你的一小部分。仅此而已。如果别人不知道你,你就不存在。为了存在,你就要在别人面前出现,这就是“存在感”。

    所以现在很多人在刷微信、微博、博客、论坛、陌陌,都是在刷存在感。当然也包括我自己。

    让别人知道你,你才存在。你只有留下点让别人难以忘怀的东西,你才因这些东西而存在。

    如果想明白了这个道理,一个真正热爱技术的程序员,想在这个行当里干点儿事情的哥们姐们,就不会去在意别人说什么“软件开发是青春饭”、“程序员平均寿命低于普通人”、“程序员群体社会地位低下不如鸡”、“过了30就要另谋出路”之类的话。作为一个与其它行业没有什么差别的行业,仅仅是分工不同而已,为什么有这么多说法呢?众说纷纭,都是杂音。有用的话不这样,大音希声。其实黄小琥在《没那么简单》这首歌里也说了:

感觉快乐就忙东忙西 

感觉累了就放空自己 

别人说的话  随便听一听  自己作决定 

不想拥有太多情绪 

    当然你也可以认为我通篇都是P话,真没关系。

程序员的两条主要通道

    看图1很明白了,程序员有两条主要的职业通道:技术和管理。
    在中国有个很不好的传统:学而优则仕。
    如果你在一个单位干技术干了很多年,还当不上领导,就会被人瞧不起。这也是很多人干开发干了几年后,正当年富力强生产力旺盛的时候脱离技术通道的原因。因为领导大部分都是这么一个套路:“干得好?行,带人吧。带得好?行,升经理吧……”所以,很多原本可以成为技术大牛的人,就这么被拐走了。
    也有一些专注搞技术的开发人员,就要走技术通道。
    有个哥们儿,做 CMS ,前台后台都能搞,领导让他带三个人,让他当项目经理,他不乐意,说我自己干就行了,管别人净浪费时间。领导好说歹说把他绑在了项目经理的位置上,结果他不管那几个小伙伴,也不安排工作给人家,人家来问他这个怎么干,他就说你不用管了,我来干。最后呢,一个人干了80%以上的活儿,其它几个人闲得蛋疼。再后来呢,领导不住地找这哥们儿谈话,教育他怎么做项目经理……再后来这哥们儿就离职了……
    “学而优则仕”还有一个非常不好的地方:普遍认为当领导的薪水要比高技术的高。这也是很多本来有灵气的开发人员想走管理路线的原因。我想干技术啊,可你们看不起我,不给我那么多钱,周围人也这么看,我没法老这么干下去。
其实如果你不在意这种周围的看法,做技术未尝不是一条幸福的路。

跳出三界外

前面我提到有同事搞金融去了,还有别的故事。
我原来有个同事,程序很厉害,是公司的高级工程师,后来不干了,开便利店去了。
    前几天有个朋友说他找了个合伙人包了点儿地在搞有机农业,种菜……
有个阿媛在淘宝上卖内衣,后来把工作辞了……
有个阿猿开了家咖啡馆,名字就叫程序员咖啡……
这都是跳出三界外的故事。其实也很平常,你的选择,你做主。如果你觉得这个行当不是人待的地方,再也不要受这罪了,那就走吧。如果一份工作带给你的痛苦比欢乐多很多,确实没有留恋的必要。真的,你肯定是走错了路。
我在看《高效程序员的45个习惯》时,第一章里引用了一句土耳其谚语,写在下面,送给诸位,也送给我自己。
不管路走了多远,错了就要重新返回。


-----------分割线-------------------

参与我的知乎Live专题——程序员的成长课,如何收获你想要的职场——,投自己自己的认知,学习精进的方法,成长为自己想要的样子,告别混日子。


更多精彩文章,关注我的微信订阅号“程序视界”,第一时间阅读。

    


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

这篇关于漫谈程序员系列 一张图道尽程序员的出路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/698820

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式

Java基础回顾系列-第二天-面向对象编程

面向对象编程 Java类核心开发结构面向对象封装继承多态 抽象类abstract接口interface抽象类与接口的区别深入分析类与对象内存分析 继承extends重写(Override)与重载(Overload)重写(Override)重载(Overload)重写与重载之间的区别总结 this关键字static关键字static变量static方法static代码块 代码块String类特