工作三年你还在日复一日的CRUD,你想过是为什么吗?

什么是务实

务实程序员他们总是在面临问题时,透过问题看到本质,从具体的场景出发,从大局着想,了解整个问题的来龙去脉,他们会对自己的行为负责,在项目面临问题时,他们不会撒手不管或者任由风险一步步扩大直至无法维护。

大多数人都不是务实的程序员,因为成为务实的程序员并不满足 短期的利益,需要长期的打磨和持续不断的学习、思考反思。大多数人不是务实的程序员的原因只有一个:惰性使然

程序员是有戾气的,许多人向我抱怨

  • 工作很久了,年龄也比较大了,感觉工作这些年以来在技术方向上没什么提升

对这些人我有话说:没有及时反思,可能也是由于工作一直很忙,没有停下来静心思考。因为我相信任何有时间思考的程序员,都不会有这种想法。善于反思自己你会及时调整最近的状态,系统化的学习,提高自己的核心竞争力,让自己成为公司不可轻易替代的人才。

  • 整天 CRUD,项目技术栈用的比较老旧,想要接触新项目,想要去互联网

对这些人我有话说:整天 CRUD 不是你找理由的根本!CRUD 的业余时间完全有时间提升自己!我也是 CRUD,但我不是一个 CRUD 程序员!千万不要给自己扣各种 CRUD 的帽子。项目技术栈用的比较老旧,我想说,计算机世界发展了 60 多年到现在,仍然只能识别 0 和 1 ,要专注于不变的根本。如果你学完操作系统,你就知道软件最终离不开操作系统,你就知道管程是怎么回事,操作系统实现不同调度算法的抉择时什么。我曾经说我喜欢技术,想要接触新的技术栈,当我被问及你知道哪些hibernate 思想到现在仍然流行,mybatis 哪些思想仍然很老旧的时候,你就会发现,技术的新潮只是一时的,没有永远不过时的技术!我听很多前辈讲起,在零几年的时候谁说自己进了互联网那完全是等着被人嘲笑的!为什么互联网现在流行?因为它符合我们大众的诉求!无现金支付,工作之余的放松,饿了就不想自己去买饭,实体购物又麻烦而且还要化解和各种店员的尴尬!!!但是互联网是无法落地的,在发展到一定规模和平台后,互联网也是最重要被淘汰的!而硬件、芯片、通信这些才是永远新潮的技术,只不过无法获取眼前的 feedback,很多高素质人才也不想从事罢了!

  • 我应该学哪些技术

对这些人我有话说:这个问题本身就没有意义!没有人能够指导你学哪些技术!问这句话的目的就是想走捷径,但是学习是没有捷径的!学你想学的,学和你工作相关的,学能够让你提升核心竞争力的!如果非要让我说出要学什么话,我建议学基础,学基础,学基础,基础就是计算机组成原理、操作系统、网络、编译原理

针对上面这些人,我认为他们只是难以接受改变,我认为这类人是 煮熟的青蛙。这个故事你一定听说过,它说的就是把青蛙放在慢慢加热的锅炉里面,刚开始青蛙感觉温度很舒适,随着慢慢加热,青蛙已经无力跳出锅炉了!

而另外一种人是 把青蛙仍在滚烫的锅炉里 的人,它肯定想尽办法跳出来,这类人会想尽一切办法克服困难。

不要给自己的人生设限

李小龙曾经说过:我活着不是为了满足你的期望,正如你也不是因为我的期望。

说的丧一点就是 诸君看我多装逼,我料诸君应如是

软件开发行业绝对是最吃香的行业,因为我们收入颇丰,因为我们可以选择我们想要的工作,我们可以选择办公地点,我们可以实现财务自由,但这些前提是你要有能力。

为什么有人喜欢抱怨呢?因为他们不曾想着改变,Martin Fowler 说过 你可以去改变组织,或者让自己换一个组织,总的来说,你是自由的,你可以做你想做的。

不知道你听过 墨菲定律 没有?最简单的表达形式是越怕出事,越会出事,拿我们老祖宗的话就是 怕什么,来什么,但是在软件开发中,出现问题是再正常不过的事情了,就算你有完善的需求、设计文档,完备的自动化测试流程,多轮测试迭代,还是会出现问题,推迟交付,未曾预料的问题的出现。

所以,不要惧怕问题,因为问题任何时刻都会出现,当问题出现时,我们应该依靠我们的专业性去解决问题,我们犯了错误要勇于承认,我们必须坦诚。

勇于承担责任,不要把问题归咎于别人或者其他事情上,也不要寻找藉口,不要把问题归功于环境、编程语言、时间或者同事,这些因素可能影响你,但不是让你找的借口

设想一下,比如银行职员、超市售货员、汽车修理工搪塞或者敷衍你的时候,你是什么反应?是不是恨不得想他了他们的门店?你会如何看待他们的公司?那如果是你呢?你的上司或者甲方会怎么看你?

  • 破窗效应

破窗效应说的是,如何把一座富丽堂皇的别墅变成一片废墟?也许你只需要一扇破窗,这就是破窗效应的威力。

那么为什么破窗效应的威力这么强大呢?一扇破窗,如果一段时间不去修理和修复,别墅中的主人就会潜移默化产生一种这座别墅很老旧的想法,久而久之更多的窗户也慢慢积满灰尘,不去打理,直到整个别墅成为废墟。

拿到软件开发中就是,如果一扇破窗(糟糕的设计、错误的决定、没有注释的代码,混乱的逻辑)不去修理,慢慢的就会有更多人作出破窗决定,导致整个项目混乱不堪,无法维护。俗称一块臭肉坏了满锅的汤。

  • 编制合理的谎言

有三个在战场中的战士已经很久没有吃饭了,他们看完前面有个村庄,但是村庄里面没有人,但是士兵没有气馁,他们烧了一锅水,小心翼翼地在锅里放了三块石头,诡异的村民们都出来围观,然后战士就说:这叫石头汤,你们就在汤里放这个?嗯,是的,士兵回答道,但是有点胡萝卜味道会更好,一个村民就跑回家把自己家里的胡萝卜拿来了,随后士兵又说,如果有牛肉那就更好了,又一个村民跑回家把牛肉拿过来了,最后,他们煮了一大锅汤,士兵把石头扔掉,最后和村民们一起吃了一顿美餐。

这在软件开发中同样适用。你可以通过一个小改动入手,渐渐的拓展全局,但是一定要注意方式和方法,一定要假装你不在意,这时候应该坐下来,等他们开始向你问你要不要加些你原本想要的功能。加入一个推进中的成功项目更容易一些。

  • 让用户参与评审和设计

你是否经历过这种,你做的东西拿给用户看后发现这并不是他么想要的,每次都需要打回重做。但是没办法,那是你的用户,你们的共同职责就是做出一个双方都满意的软件。为了达到这种目的,沟通就扮演了至关重要的作用。或者说,你还不够了解你的用户,要多和他聊聊,这或许是程序员的短板。多让你的用户参与评审,多问他们这样怎么怎么样。

如何学习知识

  • 知识理财

本杰明富兰克林说过:投资知识,收益最高 。知识和经验确实是你最需要的资产。投资知识在某种程度上和 理财 是一样的。什么?这两种毫不相关的概念怎么会扯到一起去的?别着急,且听我慢慢给你分析。

  • 首先,理性投资者具有周期性投资的习惯,周期性投资就是定投
  • 理性投资者会衡量或者说平衡高风险高收益和稳定收益的组合
  • 采取多样化是打持久战成功的关键因素
  • 投资者最核心的准则就是低买高卖获得最大的回报
  • 定期审查、反思自己的理财组合

为什么说学习知识和理财一样呢?

定期投资

就像金融定投一样,你必须定期为你的技术栈找到合适的学习组合,即使数量有限。

风险管理

不要把所有的鸡蛋都放在一个篮子里,你要学新潮的框架同时也要专注于永恒不变的基础知识。这样会让你不止于思考框架,同时也会让你跟进时代的进步适应这个社会。

多样化

你知道的越多,你的作用、你的价值也就越大。如果你是一个只专注于某个业务的程序员,一定要从整体把握,不要局限在自己的一亩三分地中。如果你不喜欢业务,那你就要从整体考虑用到什么技术,计算机技术变化迅猛,今天的热点技术可能明天就会被废弃。你要多熟悉技术,成为 T 型人才。T 这个字的写法一定是先横着写再竖着写的,知道广度后,才有可能选择一个切入点深入进去。

低买高卖

你在 Java 流行之前绝对不会想着去学习 Java,但是当 Java 流行之后,那些早起的用户已经积累了相当丰厚的回报。

重新评估

重新评估你的技术栈,推陈出新,查漏补缺。

  • 知识组合

这里有一些对你学习知识的几种组合方式,也是一些建议:

  • 每年学习一门新的编程语言:培养自己从不同的角度思考语言这回事,权衡语言的利弊,解决了什么样的问题
  • 每月读一本技术书:这个可能有些费劲,因为一本黑皮书你不可能一个月就读完了,除非你什么都不做,天天只看书,但是有的实战类的书还是可以看完的。这里只是告诉你一个大致的读书周期
  • 读技术书:你的人生不仅仅只有计算机,还有生活,计算机也是通过人类制造出来的,你要站在人的角度思考问题。
  • 上课:去本地大学上课是一件很不错的事情
  • 参加城市技术圈子交流:不要只当听众,要参与进去,了解其他人都在做什么
  • 与时俱进:还是那句话,关心一下你的技术栈,阅读相关的新闻和技术帖子,这是一种很好的方式。

持续投资非常重要,计算机不是一件速成的事儿。

  • 碎片学习的机会

你要如饥似渴的学习,如果你无法找到问题的答案,去寻觅有能力找到答案的人,而不是要让问题 沉寂下去。和其他人交谈有助于构建你的人际网络,而且你会很惊讶的发现,在你寻找答案的这个过程中,你会不断扩大你的知识面。

所有的阅读和研究都需要时间,而时间是永远不够的。所以你需要时刻准备好,确保在无聊的时候有东西可以读。在医院排队也不要忘了放弃阅读的好机会 --- 一定要带上自己的 kindle 或者电子阅读器

  • 批判性思维

最后一个要点是要具有批判性思维,批判性地思考读到和听到的东西。

网络不是那么干净的。永远不要低估商业的力量。他会把黑的说成白的。

网络搜索引擎会把热门的东西放在前列,而不仅仅是正确的东西,也并不是对你有用的东西。书店会把一本书放在显眼的位置,但并不能说明这是一本好书,有可能包装好,有可能封面好,有可能只是标题吸引人,有可能这本书很流行或者很畅销。

批判性思维有五个你需要思考的方向

  • 重复性的问 为什么
  • 谁能从中受益,了解资金流的转向
  • 什么背景下发生的这件事情
  • 开始后会发生什么,结束后会发生什么
  • 为什么这是个问题

写在最后

还在CRUD的Java程序员怎么提升自己?笔者根据自己多年的开发经验总结出来了一份《Java程序员进阶路线图》,希望能够帮助到你

PS:由于平台图片大小问题,下面技术点有些可能看不清或者未展开,有需要的可以 点击这里,就是这里 免费获取高清X-mind图

Java性能调优

JVM

  • JVM类加载机制详解
  • JVM内存模型
  • 垃圾收集机制详解
  • 垃圾收集算法详解
  • JVM调优工具详解
  • GC日志详细分析
  • JVM调优实战

MySQL

  • Mysql索引数据结构深度讲解
  • Mysql 执行计划与索引讲解
  • Mysql锁机制与事务隔离级别详解
  • 慢查询Sql调优实战

Tomcat

  • 整体认知Tomcat项目架构
  • 生吃环境配置
  • 掌握Tomcat 线程模型背后原理

Nginx

  • Nginx快速掌握
  • 熟练掌握Nginx核心配置
  • 掌握Nginx负载算法配置

并发编程

  • 操作系统内核原理
  • JVM内存模型
  • 并发同步处理
  • 并发包之tools限制
  • 并发包之atomic原子操作
  • 阻塞队列BlockingQueue详解
  • 并发Map、List与Set详解
  • Executor线程池详解及核心源码剖析
  • ForJoin

框架源码

应用框架spring

spring IOC源码解析
spring Aop源码解析
spring MVC源码解析
spring注解试开发
spring 5新特性
spring securit原理与源码剖析
spring webflux

ORM框架MyBatis

  • MyBatis 快速掌握
  • MyBatis 源码分析
  • MyBatis 徒手实现

设计模式

  • 设计原则
  • 创建型模式
  • 结构型模式
  • 行为型模式
  • 设计模式对比及应用场景

分布式框架

分布式消息中间件

  • Rabbitmq
  • RocketMq
  • Kafka

分布式储存中间件

  • Redis
  • MongoDB
  • FastDFS
  • Elasticsearch

分布式框架

  • Zookeeper
  • Dubbo
  • ShardingSphere
  • Netty

微服务系列

  • 微服务架构变迁史
  • spring boot源码剖析
  • spring cloud Netflix源码剖析
  • spring cloud Alibaba源码剖析

互联网工具

  • Git
  • Maven
  • Jenkins
  • Linux
  • 虚拟容器

下图是笔者根据《Java程序员进阶路线图》总结出来的一些一线互联网面试真题大纲图

资料领取方式:点赞关注一下,点击【 石墨文档 】免费获取高清思维导图及Java相关学习面试资料!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352