这篇也是我共享里为数不多 “进阶”“生长阅历” 的文章之一。被他人送到嘴边的食物永远是最香的,可是咱们仍是得学会自动去”怎样找吃的”,授人以鱼不如授人以渔嘛,我期望经过这篇文章能给正在尽力的你,苍茫的你,焦虑的你,带来或多或少的参考、主张或许指引。

十年,谁来成果你?

  脱离校园,一晃已十年,时日深久,现在我已成为程序员老鸟了,从软件工程师到体系架构师,从被办理者到部分负责人,每一段阅历的艰苦,现在回想仍记忆犹新。各位同行你们或许正在阅历的苍茫,焦虑与取舍,我也都曾阅历过。

  今日我计划跟咱们共享下我这些年的一个生长阅历,以此篇文章为我十年的作业历程画上一个完美的句号。这篇文章虽然不是什么“绝世武功”秘籍,更无法在短时刻内把我十年的“功力”悉数共享于你。篇幅受限,今日我会结合过往种种挑要点说一说,咱们看的进程中,记住抓要点、捋结构思路就行了。期望在茫茫人海之中,可以给到正在尽力的你或多或少的帮助,亦或启示与考虑。

试问,你的中心竞争力在哪?

  你从前是否怕被新人卷或许替代?假设怕、担忧、焦虑,我可以很负责任地告知你,那是由于你的中心竞争力还不够!这话并不好听,但,确是实在话。认清现状,结壮走好当下就行,谁能一开端或许没破茧成蝶时就一会儿有所成果。

  实质上,可以这么说,阅历才是咱们职场老鸟的优势。 可是,阅历并不是把同一件事用同一种办法重复做多少年,而是把咱们过往那么多年初的实践阅历,还有被验证的理论,整理成归于自己的常识体系,树立一套自己的思想形式,然后提升咱们的中心竞争力。

 中心竞争力的构成,并非一蹴而就,咱们由于堆集所以专业,由于专业所以自傲,由于自傲所以才有底气。堆集、专业、自傲、底气之间的联络,密不可分。

10年技术进阶路,让我明白了这3件事
中心竞争力,祭出三板斧

  道理咱们都懂,能不能来点实在的?行!每逢身边朋友或许晚辈们,期望我给他们教授一些“功力”时,我都会给出这样的三个主张:

  1. 多面试,验本事。
  2. 写博客,并且要坚持写。
  3. 具有自己的 Github 项目。

10年技术进阶路,让我明白了这3件事

  其间,博客内容和 Github 项目,将会成为咱们求职道路上的门面,这两者也是实实在在记载你从前的输出,是十分有力有价值的证明。此外,面试官可以经过咱们的博客和 Github,在短时刻内快速地了解你的才能水平等。或许你没有满足吸引、打动听的企业背景,也没有过硬的学历。但!必须有不逊于前两者的著作跟阅历。

  再说说面试,我以为,它是咱们承受商场与社会检验的一种有用办法。归根结底,咱们所付出的一切,都是为了日后在作业开展上走得越来越好。有朋友会说,面试官看这俩“门面”几率不大,没错,从我多年的求职阅历来看,愿意看我著作的面试官也只占了 30%。

  可是,谁又能预判到会不会遇到个好时机呢?有预备,总比啥也没有强,千里马的亮点是留给赏识它的伯乐去发现的

PS:具有自己 Github 项目与写博,都归于一种输出的办法,本文就以写博作为要点共享。写博与面试会在下文继续展开。

记忆与考虑,阅历与思想

  兵器(三板斧)咱们现已有了,少了“内功心法”也不行。这儿共享下我的一些观念,也便于咱们后续可以更好地参加到详细的实践中。

  • 记忆——记忆好像方针一样是具有生命周期,久了不用就会被回收(忘掉)。

  • 考虑——做任何事情就好像咱们写代码Function一样,得有输入一起也得有输出,输入与输出之间还得有履行。


  日常作业中,就拿架构设计当比如。作为架构师是需求针对现有的问题场景提出解决计划,作为架构师的考虑输入是事务场景、团队成员、技能选型等,而它的输出便是根据前面的多种输入参数然后产出的短期或长期的解决计划,并且最终会以文档办法保存下来。

  保存下来的意图,是为便利咱们日后检索、回想、复用。因而,在业余学习中同理,给与咱们的输入是书籍、网络的材料或同行的传递等,而作为输出则是咱们记载下来的笔记、博客乃至是 Github 的项目 Demo。

10年技术进阶路,让我明白了这3件事

根据上述,咱们需求深入意识到心法三要素:

  1. 带着明晰的输出意图,才会实在地促进自己的考虑。蜻蜓点水、泛泛而谈,是无法让自己构成对事物的共同见地和具象化输出,长期如此,并无良益。
  2. 只要尽或许经过深度考虑往后的产出,才可以构成归于自己实在的阅历。
  3. 常识的点与点之间树立联络,构成清楚的常识体系,阅历与阅历则构成了自己独有的思想形式。

多面试,验本事

  既然“兵器”和“内功心法”咱们都有了,那么接下来得开端练“外功”了,而这一招叫”多面试,验本事”。

  我身边的同行与朋友,对我的面试行为感到奇怪:你每隔一段时刻就去面试,有时拿到了 offer 还挺不错的,可是又没见想着换岗,这是为何?

惊涛骇浪,居安思危

  回应这个疑问之前,我想反诘咱们 4 个问题:

  1. 是否曾遇到过在一家公司呆了太久过于安逸,也阶段性想过脱离,发现真要走可却没了换岗的勇气?
  2. 再想一想,日子一久,你们是不是就不清楚行业与商场上,对人才才能的需求了?
  3. 是否有阅历过公司意外裁员,你在找作业的时段里有没有激烈感受到那种焦虑、无助?
  4. 是否对来之不易的 offer,纠结不知道怎样挑选,又或许,最终由于迫于各方面压力,勉为其难承受了不太中意的那个?

10年技术进阶路,让我明白了这3件事

  刚说到的种种问题,那份焦虑、无助、纠结与妥协,我从前在职场都阅历过。咱们想象一下,假设你现在马马虎虎出去面试五个公司能拿到三四个 offer,你还会有那赋闲的焦虑么?假设现在拿到的那几个 offer 正好都不喜爱,你悉数放弃了,莫非你会愁后续没有其他时机了么?显然不会!由于你有了更多底气和信心

  我一再考虑,仍是觉得有必要给咱们共享一个我的实在阅历。期望或多或少可以给你一点启示:

  2019 年,由于 A 公司事务原因,我脱离了作业 3 年的安逸的环境,商场对人才的需求我现已是含糊的了,当我实在面对时,我焦虑、我无助。幸好从前跟我合作过的老领导留意到了这我这些年的生长,向我施予援手。入职 B 公司后,我从头审视自己,并给与自己定了个计划——每半年选一批公司面试。

一年今后,由于 B 公司因疫情原因,我再次离职。这次,我没有了焦虑,取而代之的是自傲与底气,裸辞在家开端了我的度假计划。在整个度假期,我拒绝了两个满足我的高薪 offer,期间我接了个技能顾问的兼职,剩余时刻把从前囤下来的书看了个遍,并实践了往常没触碰到的技能盲区。三个月后,我带着丰满的精神面貌再次”出山”,入职了现在这家公司。

  有人会问:你现在还有没有坚持自己的面试计划?毫无避忌答复:有!仍然是半年一次。

披荆斩棘,有备无患

  就前面这些问题、情况,这儿结合我自己多年来的一些阅历,也期望给到咱们一点破局主张:坚持必定的面试频率,就如上文说到的“三板斧”,面试是承受商场与社会检验,十分直接、快速、有用的一种好办法。 当然,我可不是怂恿你频繁换岗,没有多少公司可以欣然承受不稳定的职工,特别是岗位越做越高时。

  看到这儿,有些同伴或许会想,我现在稳稳当当的、好端端的,干嘛要去面试,何必折腾自己。假若你在体制内,我这点主张或许参考意义不大。抛开体制内的讨论,咱们以为真的有所谓的“稳定”的作业吗?

  我以为所谓的“稳定”,都是仅仅暂时的,乃至虚幻的,没有任何的人、资本、企业能给你实打实的许诺,唯一能让你“稳定”继续开展下去的,只要你的才能与视野、格局等。

  疫情也有几年了,信任咱们也有了更多考虑,作业上,副业上等等各方面吧。人无远虑,必有近忧,有备无患,实属必要!

10年技术进阶路,让我明白了这3件事

放平心态,查缺补漏

  面试是相对“主观的”,这是由于“人性”的存在,你或许会听过让人哭笑不得的拒绝你的理由:

  • 连这么基础的常识都答复不上,还想应聘这岗位
  • 你的性情并不适宜当办理,过于自动对团队不好

  咱们先抛开这观念的对与错。人无完人,每个人都有自己的优点与缺点,乃至你的优点或许是你的缺点。职场长路漫漫,要是把每一次的面试都当成人生中胜负的较量,那咱们最终或许会输的遍体鳞伤。咱们付出任何的尽力,也仅仅单纯进步“成功率”罢了。听我一句劝,放平心态,以沟通沟通为主,查漏补缺为辅

  近几年我以面架构师和负责人的岗位为主,面试官大大都喜爱问思想和办法论这类的问题,他们具有不同的细节的侧要点,因而咱们以整理这些“公共”的点动身,事后复盘自己答复的完整性与逻辑性,关于含糊不清的及时找材料补全明晰,尝试模拟当时答复的场景。每一段面试,如此重复。

  作为技能人我主张,除了会干,还得会说,咱们不只要硬实力,还得有软技能。

PS:篇幅有限,详细面试阅历就不展开了,假设咱们对详细的面试阅历感爱好,有时机我给咱们来一篇多年的”面经”。

继续前进

编程语言本身在不断前进,关于菜鸟开发者来说,需求较高的学习成本。但低代码渠道天然就具有全栈开发才能,低代码程序员天然便是全栈程序员。

这儿十分引荐咱们试试JNPF快速开发渠道,依托的是低代码开发技能原理,因而区别于传统开发交付周期长、二次开发难、技能门槛高的痛点,在JNPF后台供给了丰厚的解决计划和功用模块,大部分的运用树立都是经过拖拽控件实现,简略易上手,在JNPF树立运用OA体系,作业响应速度更快。可一站式树立生产办理体系、项目办理体系、进销存办理体系、OA作业体系、人事财政等等。

开源链接:www.yinmaisoft.com/?from=jueji…

狠下心来,坚持究竟

锲而舍之,朽木不折;锲而不舍,金石可镂——荀况

  要是把”多面试”比方成以”攻”为主的招式,而”写博客”则是以”守”为主的绝技。

  回头看,本年,是我写博客的第八个年初了,虽然写博频率不高,但整体时刻跨度仍是挺大的。至今我还记得我写博客的初心,用博客记载我的学习笔记,一起抛砖引玉,跟同行来个思想上的碰撞。

  跟着作业年限的添加,我写博客的内容慢慢从学习笔记变成了实战记载,也越来越倾向于输出阅历总结和实践心得。实质上,都是在传达我的观念与见地。

  而这,至关重要。反过来看,后边时机来了,渠道联络人也可以借此快速评价、判断这人会不会讲、能不能讲,讲得怎样样,成的话,人家也就快速联络咱了。进一步讲,每一次,于个人而言,都是好时机。

10年技术进阶路,让我明白了这3件事

写博第一步,从记笔记开端

  我信任不少的同行从前面对这样的境况,都有产生过写博客的念头,有些始终没有迈出第一步,有些半途停了下来,这儿或许有不少的原因:要么不知道写什么、要么觉得写了也没人看、还有一种是想写可是比较懒等等。

我觉得,一切的学习,前期都是从仿照开端的 学习笔记,它便是很好的便于着手的一种最佳办法。信任咱们在学生时代或多或少都写过日记,就算是以流水账的办法输出,博客也可以作为十分好的敞开渠道。

  由于在写博客的时分,潜意识里会以为写出来的东西会给更多人看,因而自己写的内容在不明晰的当地都会去找材料一再承认,这是很有用的一种催促办法。承认的进程中,也会找到许多相关的常识点,自然而然就会进一步补充、完善、丰厚咱们自己原有或现在的常识体系

走运,需求自己争取

  在写博客的这段时刻里,除了整理自己的常识体系之外,还能结交了一些具有共同方针的同行,我想,这便是实在的情投意合吧。

  乃至在你的博客质量达到了必定程度——有深度与广度,会有一些意象不到的额定小收成。例如有一些兼职找到自己,各大社区渠道会约请自己合作,也会收到成果证明与礼物等等。

10年技术进阶路,让我明白了这3件事

意外地成为了讲师

  到目前为止,正式作为讲师或许是技能顾问,以这样不同于往常的既有角色,我真切地阅历了几回。虽次数不多,但每一次往后,即使时日深久,可现在回想起来,于我的生长而言,那都是一次又一次新的蜕变,实在而猛烈,且带给我一次次新生力量。

  话说回来,前面说到几回共享,有的同伴或许会说了,这本来就性情好又爱共享的人,个例罢了,不必定适宜大大都啊。说到这儿,我想,我有必要简短地跟你聊一下我自己。

跌跌撞撞,逆水行舟

  关于过往的自己,我的评价是从小就闷骚、内向的那种性情,只要在人多的时分说话就会慌会怂会紧张,自己越慌就越简略表达出错,如此恶性循环。跟着我写博的篇幅越多,慢慢地我发现自己说话时喜爱预备与考虑,想好了再去表达,又慢慢地说话就具有条理性与逻辑性了。

  当代闻名哲学家陈嘉映先生,他曾在一本书里说过这样一句话,放到这儿再适宜不过了—— “生长无时无刻不是在克服某些与生俱来的感觉和愿望”

  回头看,一路走来,我从开始的探究、探究、揣摩,到看到细微改变,到显着感知到更大层面的前进,再到后来的游刃有余,输出很有见地的考虑,共享独到观念。

  我想,这背面,离不开一次次尝试,一次次给自己时机,一次次认真、负责地探究打破自己。其实,大大都人,还真是这么跌跌撞撞挺过来的。

伺机而动,用心预备

  2020 年,我第一次被某企业找到约请我作为技能顾问是经过我的博客,这一次算是小试牛刀,首要以线上答复问题、沟通为主。由于事先收集好了需求讨论的论题与问题,整个沟通继续了两个小时,最终也得到了对方老板的高度认可。

  此事往后,我从头审视了自己,虽然我口才并不杰出,可是我根据过往堆集的丰厚阅历与常识融合,并可以正确无误地传达输出给对方,我以为是合格的了。坦率来讲,从那之后我不再置疑自己的表达才能。一起有别的一件事件更值得重视,根据让自己得到更多更广泛的一个重视,左思右想,概括来讲,我仍是觉得落到这句话上更适宜,便是:树立个人 IP

树立个人 IP

  那么,我期望打造个人 IP 的原因是什么呢?期望或多或少也可以给你供给一点可供学习、探讨的方向。

  我个人而言,侧重这样几个层面吧。

  1. 破局: 一个是我期望打破 35 岁魔咒,这本质上是想平稳快速度过作业开展瓶颈期;
  2. 觅友: 期望结识到具有同样方针的同行,深度沟通,构建技能圈人脉资源网;
  3. 动力 从中获取更多与作业不一样的成果感。有了强驱动力,也会使我在共享这条路上变得更坚决。

链接资源,提影响力

  在《公民的名义》里祁同伟说过一句话,咱们便是人情的社会。添加了人脉,便是添加自己的时机。当然条件是,咱们自己得需求有这个实力。

  树立个人 IP,最要进步知名度,而提知名度的首要办法是两种:写书、做讲师。后边我会议开讲,写书无疑是宣传自己的最好办法之一,但整个进程不简略,周期比较长。作为写书的简化版,咱们写博客便是一种捷径了。

自动出击,勿失良机

  而作为讲师,线上线下各类办法参加各种社区峰会露脸,这也是一种办法。不过这种一般会设有门槛。

  这儿不得不多提一句,便是树立 IP 它是一个循序渐进的进程,欲速则不达,任何时分咱们都得靠内容著作来说话, 当你输出的质量够了,自然而然社区人员、企业就会找到你,时机顺理成章来了。反过来讲,咱们也得常盯着,或许说多留神重视业界各渠道的内容风格,使用好业余琐细时刻,好好整理下某个感爱好的内容渠道,看看他们究竟都倾向于打造什么样的东西。做到知己知彼,很重要。

  我知道的一个长辈,之前阿里的,他十分乐于在博客上共享自己的阅历与见地,跟着他共享的干货越多,博客影响力越大,某内容付费渠道找到他合作出了个专栏,跟着专栏的完结,他根据专栏内容又出了一本书,而现在的他现已脱离了阿里,成为了自由作业者。

追求成果感,倒逼打破自我

  每一次写博客、做讲师,都能更大程度上填满我内心深处的空洞,或许是每一个支持我的留言与点赞,或许是每一节共享停顿间的掌声。假设咱们抱着十分强的意图去做的时分,或许会事与愿违。就以我做讲师来说,由于我是一个新手,在前期材料预备所花费的精力与时刻跟后续的课酬是不成正比的。

  作为动力源,当时我会把侧要点放到结交同行上,一起使用“费曼学习法”从头整理常识,别的寻找时机打破自己的才能上限。

10年技术进阶路,让我明白了这3件事

  咱们有没有想过,讲课最终获益者的是谁?有些朋友会答复“两边”。可是我很负责任地告知你,作者、讲师自己才是最大的常识获益者。

  如前面所讲,写博客为了更好地共享出更具价值性的内容,为保证专业性,咱们得一再承认不明晰的点,而讲课根据写博客的基础上,还得以听众的视点,去考虑、衡量、迭代,看看怎样让人家更好地理解、吸收、用得上这些常识点,乃至讲师得需求提早模拟、预估或许会在课后被提的问题。

这儿总结一下,写博客与讲课的办法完全不同,由于博客是以图、文、表的办法展示,读者看不理解可以回头去看,可是讲课则没有回头路,是一环套一环的,所以整理常识线的连贯性要求更强

  我个人以为,日常作业大大都是重复的、枯燥的,或许说,任何爱好成了作业,那将不再是爱好,或许只要在业余的时分获取那些许的成果感,才会从头燃起自己的那一份初心 ——行之于途而应于心。

源不深而望流之远,根不固而求木之长

  求木之长者,必固其底子;欲流之远者,必浚其源泉——魏徵

  有些同行或许会问:”打铁还需本身硬“这道理咱们都懂,生长进阶都离不开学习,但这要是天天写 BUG 的哪来那么多时刻学?究竟学习的方向该怎样走呢?在这儿共享下我的实践做法,以及一些切身的个人领会,期望可以供给一点学习、参考。

琐细时刻,稳中求进

  6 年前,我确认往体系架构师这个方针开展的时分,每天都会做这么两件事:碎片化时刻学习,及时产出笔记。

  • 上班通勤与正午歇息,我会充分使用这些碎片时刻(各 30 分钟)尽或许地学习与吸收常识,每天坚持一小时的堆集,集腋成裘,两年后你会发现,作用十分可观,这便是一个量变到质变的进程

  并且有神经科学相关标明,”间歇式模块化学习的作用最佳,通勤路上便是实践这种形式的理想国际。“咱们也可以多试试看。当然,一开端你学习某个范畴的常识,或许效率没那么高,我主张你可以重复地把某一节掰开了揉碎了看或许听,直到看理解听懂了为止,接着得怎样做?如我前面说,咱们得要有输出!

  看过这样一段话,”写和想是不同的,书写本身便是逻辑推演和信息整理的进程。“并且,研讨标明,”人的记忆力会在 17-24 岁达到顶峰,25 岁之后会下降,理解力的开展曲线会拖延 5 年,也便是说在 30 岁之后也会下降。“

  你看,这个也直接或许直接告知咱们,仍是趁早多做记载、多学习。文字也好,视频也罢,究竟啥办法不重要,适宜自己能持久坚持的就行,我信任你必定能从中获益。究竟,这些累积的,可都是你自己实实在在的阅历和考虑沉淀!

  话说回来,其实做笔记能花多长时刻,就算在作业时刻花半小时也有良效,而这时刻并不会对自己的作业进度形成多么大的影响,但!必定时日深久,获益良多。

构建常识 体系 丰厚 思想 形式

  由于咱们日常需求快速解决技能难题,很多时分从外界吸收到的常识点相对来说很零散,而常识体系是由点、线、面、体四个维度构造而成的

  那怎样做可以快速把常识串联起来呢?这儿我举个简略的比如,便利咱们理解。

  以咱们体系功用调优动身,首要咱们需求了解体系相关功用瓶颈的事务场景是什么?该功用是 I/O 密集型仍是 CPU 密集型?假设是 I/O 密集型大都的功用瓶颈在数据库,这个时分咱们就得了解数据库瓶颈的原因,究竟是数据量大仍是压力大?假设是数据量大,根据现有的事务场景应该挑选数据归档、临时表仍是分库分表,这之间的计划优缺点有什么不同?适用场景怎样样?假设是数据压力大了,咱们是否能用 Redis 做缓存抗压就行?

  再接着从 Redis 这个点继续考虑,假设 Redis 内存满了会怎样?咱们又了解到了 Redis 的内存筛选策略,设置了 volatile-lru 策略,由于咱们基本功厚实回想起 LUR 算法是根据链表的数据结构,虽然链表的写的时刻复杂度是 O(1),可是读是 O(n),不过咱们得先读后写,所以为了高功用又挑选 Hash 这种 O(1)的数据结构辅佐读的处理。

  你看,咱们是不是从问题动身到架构设计,再从数据库优化计划到 Redis 的运用,最终到数据结构,这一些体系的常识就串联起来了?

10年技术进阶路,让我明白了这3件事