掘金 后端 ( ) • 2024-04-29 10:48

作为一名Java后端菜鸟工程师,2024年3-29是我入行半年多的日子,这篇文章记录作为开发人员这半年的学习心得,工作感想,经验总结,欢迎大家查看指正。

💪学习如逆水行舟,不进则退。感谢粉丝朋友的支持💗,开源自己的想法精神,是互联网的一大宝贵财富,自我开发,自我挖掘,自我复盘是一种顶级的能力。笔者一直认为,复盘是人生最宝贵的财富,所以这里写下万文总结,为自己的人生路程留下一个脚印,奋斗的脚印。

⭐个人成长 | Improve⭐

记得在学校的时候,我感觉学了很多课程,学了有一种没用的感觉,比如《高等数学》《线性代数》.....这种感觉我想很多人都有这种感觉吧。其实我的理解就是,高等教育属于以面带点的教学,与真正意义上的学习是不一样的。真正的学习是自顶向下,一边研究一边学习,然后逐步完成学习目标。传统教育是让你预先储备很多知识点,当形成一个面以后,你会对事物有基础的认识,这个时候你有了选择的能力,选择进入企业?选择考研深造?选择出国?如果不进行这种通识教育,很多人连选择能力都没有。

🚩我的教育观

但从实际来看,高等教育的结局是:接受过高等教育的人依然不知道选择什么,所以从这个方面出发,我认为高等教育是失败的。在通识教育下,大家依然没有自主选择的能力,谁之过?读书前与读书后,学生依然不具备这种选择,思考的能力。如果从经济学的角度,从教育产量产出的角度来看,高等教育是以培养工程师为目的,以为社会输送人才为目的,那么教育的形式不管怎么搞,都是对的。但从我们个体来看,他就是失败的。

🍊教育不以成败论

在我的认知里,如果你接受了教育,但是依然不知道怎么选,那么这不是教育的失败,这是教育在你身上的失败。也就是说,高等教育不适合你,你的大学白读了。虽然你拿了一个本科毕业证,但是如果你不读大学,选择了其他路径,有没有可能更成功?这种可能性你是没法否定的。评判教育是否成功,标准是:教育有没有启迪你找到自己喜欢的东西,适合你的路径,如果没有,那么你就失败了。

📆关于学习、文化、教育

我记得在学校的时候,我学习就是死卷成绩,卷排名,卷的伤痕累累。到最后也不知道为什么要这样,只知道这样是对的。其实有很多知识跟我们普通人没关系,什么意思呢?有一些知识属于高级知识,属于厉害的人掌握,这样才会发挥出知识的价值。举个例子,一个卖菜的人不需要掌握高等数学、线性代数,她只要掌握了市场营销、掌握了销售技巧就能为市场经济下的市场提供自己的劳动产品,她也能得到市场的正确反馈--money。社会分工下的市场经济需要的是不同的人在不同的分工下贡献自己能贡献的,你掌握应该掌握的东西为市场提供价值,那么你的价值就出来了。

爱因斯坦、牛顿、波尔是少数高级的人才,他们掌握高级的知识,为社会带来的价值远高于一个普通人花20年读一个博士,研究一个很水的课题方向。教育在启迪你,启迪你认识你自己到底是不是高级的人,是什么样的人,你适合做什么,你应该做什么,让你有自知之明,躺平是绝不应该的,目前出现躺平现象就是教育出现了反噬的现象。

这个世界其实就是一个草台班子,很多人的差距没有那么大,但是社会资源是有限的,需要通过教育来分流,合理划分资源,你得到的资源和能力未必匹配,但是这不影响你去追逐自己适合自己的道路。很多人他不是那种做研究的人,做科学家的人,结果去考研了,考出来还是迷茫;很多人不适合读大学,结果在父母望子成龙的期盼下读了,最后没找到工作;事不与愿为的原因就是你没被教育启迪,你真的相信资本告诉你教育让你逆天改命,教育让你飞黄腾达了。

学校的大部分老师自己都没明白这个知识学了有啥用,比如说搞纯数学的人不懂麦克斯韦方程在通信领域无线通信的发展应用,不懂在给学生讲解傅里叶变换的时候,讲一下傅里叶变换在通信工程里电磁波理论的运用,让学通信的人知道我现在学这个高数有什么用,傅里叶变换能够将信号从时域转换到频域,从而方便我们对信号进行分析和处理。在通信系统中,信号调制、解调、滤波等操作都需要用到傅里叶变换。因此,将傅里叶变换与通信工程中的实际应用相结合进行讲解,能够使学生更好地理解。因为在中国的高校里,搞纯数学的人是一帮人,搞纯物理的人是一帮人,搞应用的是一帮人,他们在教育的分工下成了赫赫有名的“砖家”,他们在这个领域深耕就行了,其他领域理所当然的跟你说自己不是干这一行的,所以你在课堂上问:老师这个学了有什么用? 这个问题,中国高校的老师没法回答你。没法告诉你:学习傅里叶级数的时候,它与人工智能神经网络感知机有什么关系,联系。你的所有学习都是一个猜盲盒的阶段,当这个盲盒足够大的时候,你的阅历一旦碰到了这个盲盒,那么它对你就是有用的。举个例子:中国文化告诉你:道可道,非常道。为什么道说不清,因为你的阅历还没到,所以道讲不清楚,得靠你自己 ,中国文化最大的特点就是讲究 ,四书五经,儒释道,孔孟春秋都不会告诉你答案,书上都是释迦摩尼和弟子对话,孔子与弟子对话,阳明和学生对话,这些对话就是丢给你悟的。事实上在国外并不是这样的,西方人对学习是有严格要求与规范的,人家有标准界限,不讲究这种 所谓的。 什么人适合怎么学习,写书的人都是给你分好类的,你是初学者,你就去看初学的,你是中级工程师,应试考生,那么资料就给你分好了。你会发现,西方学者大多数都是多线作战,一个搞哲学的搞半天成了物理学家,一个物理学家还是搞数学的。哪怕放到国内,民国培养的大师钱学森,钱三强哪个不是多领域专家,哪个是只耕耘自己专业领域的混子?都不是对吧,这就是我的一家之言了。

中国文化体系决定了,一切都是悟。从你读小学开始,你做阅读理解,是让你理解书面意思吗?是让你悟出题人是什么意思。中考语文作文,高考英语作文,中高考阅读理解、中高考主观题的背后是让你悟出出题人的意思,不是题目本身,作文不是考你写作水平,英语不是考你英语运用能力,阅读理解不是让你理解能力,这些都在让你悟!悟性是一个人真正智力的表现。

你以为李白在写“床前明月光”,实则人家在思乡;你以为李煜在思难国,但其实人家只是对着美女意难平罢了;学这个东西有用无用,在于你悟,觉到悟到你就得到,那么对你来说就是有用的,得到悟不到有用也会无用。

中国的文化决定了教育下的体制只能输出某一方面的“专家”人才,深耕自己的某一个领域。教育体制的分工又制约了人才多样性的发展,文化矛盾导致体制结构矛盾,互相掣肘,相互制约。

👍企业开发流程 | Process👍

🌹关于师傅领进门&带你的组长、师傅🌹

在企业里,一个新人来了,通常不会让你接触核心项目的,核心业务的,一开始会让你学习一些基础框架,为后续工作做知识基础,知识储备。一般你进了一个组以后,会有一个leader来带你,带你的人就像你的师傅一样,会为你规划一下学习计划,成长计划,工作计划

我的师傅给我的成长计划如下:

image-20240329123314871

这份成长计划主要是让我先学会工程化的技术,过一遍,然后开始掌握一些接下来项目会用到的技术。

为了快速掌握这些基础框架的知识,师傅会给我布置一些任务,这些任务并不是公司项目,而是一些题目,类似于做题吧,先培养,先训练,后面再用你。

比如进入公司第一天,组长(全文叫师傅)给我布置的题目如下:

image-20240329123817527

这个过程就像做题一样,首先这个题肯定不是你学过的东西,比如这个时候我就不懂什么叫 Spring Securityshiro这些技术,这个时候就需要我们自己去查资料学习,然后完成上面的题目,完成以后让师傅看。

做题完成以后,就开始培养你一些单点技能!有什么技能在编程中很重要的呢?那就是调试debug

这个时候师傅就会拿过去的一些项目,让你debug,让你解决其中一些问题

image-20240329124519798

话说这些作业也没你想的那么简单,如果你是刚接触,你还是需要花点时间的,最主要的是你需要学习!需要学习以后锻炼运用出来。

🔔学英语 | 看英文技术文档🔔

很多大学毕业都要求英语四级要过。作为计算机科班毕业的,那么学英语就很重要了,这个重要性主要体现在:**阅读英文技术文档。**那你可能会说,看中文的不就行了?但是有一种情况就是,公司用的某个技术栈并没有中文版的,甚至国内都没有这个技术,这个时候怎么办?就只能看英文的了。比如我第一天到公司,研发总监给我一个技术文档BaseX:

image-20240329125114252

通过官方文档学习技术,这是最正确的路线!也是初级工程师最难做到的!

这个过程的话需要经常一遍看文档一边解决问题,其实这些技术文档就是英语四级的水平,如果你能经常翻,那么就会习惯这种状态。我一开始也不习惯这种感觉,因为感觉不舒服啊,毕竟英语不是母语!

话说BaseX技术框架是国外的一个技术,国内基本不用,国内也没有搬运工,那咋办,那就只能学啊!不学就不能干活!不能吃饭!所以一个初级研发攻城狮的必备技能:学英语,通过英语搬运国外的知识,将技术文档里的知识转换落地、并融入到你的工作中。

🍒成事&做人 | Heart🍒

谈到这个章节的时候,你可能会说,做技术的还要学做人吗?是不是还要学敬酒?当然不是这个意思。其实在研发过程中,最难的往往不是技术,不是技术层面怎么样,而是沟通。这个沟通指的是产品经理在提交产品需求以后,研发这边怎么理解这个需求?

谭浩强在C语言的教材中说过,程序设计的心法是:高内聚、低耦合、可扩展。

其实这句话的本质是在说:人。做人的目的是成事,因为要成事,事在人为,所以要学会做人,主打一个效率!在企业里,允许乔布斯这样的人存在,是因为乔布斯的成事法则可以提高企业效率,所以他的为人无论再怎么躁狂,只要对苹果公司的效率不会产生影响,那么他就是存在合理的东西,符合市场经济下企业运转的基本逻辑------企业只看效率,效率代表利益。

在事业单位里,这套逻辑反过来了,事业单位不讲究效率,所以不讲究成事,更看重你怎么做人。所以把乔布斯放在事业单位里,大概率是会出问题的。事业单位的管理体系无论新旧,只要运转时间长了,你就是放一个猪一样的领导在岗位上也不会影响事业单位的运转,因为他们不讲究效率,不会因为效率损失利润,但是企业会。根本上来说,事业单位吃的不是市场经济这碗饭。

如果说没有沟通,那么谭浩强的“高内聚、低耦合、可扩展”就是一句废话。沟通是一个非常困难的事情,如果需求沟通不明确,接下来的开发任务效率会受到很大的影响,你会因为一点理解偏差,一句话没理解,没说清楚浪费一两天的时间! 至少在我看来,沟通才是研发攻城狮的首要核心能力。

能在一个单位里共事的同事,说明你们的能力差距没有大到什么离谱的阶段,要放平心态!要沟通!讲清楚需求是什么,做的任务是什么,一定要理解到位了再下手,一定要问清楚!!!

高内聚、低耦合、可扩展的本质就是你和你的同事各拿一个功能模块,各拿一个需求,这个时候你们要对接,要进行联系或者解耦,要合作,要分工,你们需要“沟通”!!!你们的分工要明确,要丝滑。你要把你的模块内聚,降低你和对方的耦合性,你又要腾出扩展的通道,能让对方联系你。这个就像你和你的女朋友,不能走的太近,不能解耦长时间不联系,要扩展一个分支交流,你们可以吵架,但是吵架的时候要埋一个沟通渠道,晚上留个门。你们又不能黏的太近了,这样会让彼此失去自由的空间,这就是哲学里说的 !要掌握这个度,所以高内聚、低耦合、可扩展就是让你掌握 !谈的是人和人之间的关系!

🍑程序员的职场经验🍑

如上所说,在企业里,看的是效率。所以这种职场文化就是围绕着效率展开的。

在职场上,你会遇到各种各样的领导,但是这些领导也是围绕着效率转的。因为我在上文已经说到过,企业吃的是市场经济这碗饭,市场经济的体制要的是企业的效率,效率代表利润,利益。利益决定企业生死,一家企业离倒闭永远只有倒数6个月。你需要找准自己的下属类型,然后去对标领导类型,那么这样相处就不会累。

领导分很多类型,在职场,领导分为如下类型:

  • 平庸型领导
  • 优柔寡断型领导
  • 多疑型领导
  • 武大郎开店型领导

不同的领导需要不同类型的员工,下属。领导需要的下属有如下几种类型:

  • 专家型
  • 八面玲珑型
  • 谋士型
  • 管家型
  • 老黄牛型
  • 开括型

一个员工最基本的能力:弄清领导的意图。领导这次开会,这次通知是什么意思?什么意图?你要做的就是发现意图,解决需求!其实人事关系没有那么复杂!你只要做好你该做的工作就行了!

🚆关于企业 | Company🚆

大公司和小公司的区别就是,大公司的工作是分工明确的,细分的,你做的事情就是拧螺丝!小公司不然,小公司的工作是多样的,开发测试一起干,甚至运维都有可能让一个人干,达到企业降本增效的目的。

大公司,小公司其实都有各自的好处,没有所谓的好坏之分。主要看你的内心状态。

通常小公司都会有几个师傅,其他学徒围着这个师傅转,师傅带徒弟,技术总监是监工,监工同时监督几条研发线推进!

产品经理大多是需要技术、市场、一线指导作战的能力,产品经理对技术的理解不会太深刻!架构师是设计产品图纸的设计师,负责架构规划设计。

一个成熟的互联网科技公司团队包括:

image-20240329135729737

公司项目采用什么技术栈,技术架构,这个决定权看似在架构师手上,其实架构师也要看看产品那边怎么说,产品要看运营那边怎么说,要看财务里钱够不够,要看整个产品开发-运行的成本!