程序员进阶之道(一)

最近一个月都在在大厂华为出差跟进项目,工做一直是996或者997,因此最近一个月没怎么更新文章。
周末抽点时间,争取把耽误的,想写的文章尽快补上。前端

我自己作开发不少年,也算是一个资深的程序员。同时工做中也接触了不少的程序员,有优秀的,也有平庸的,接触下来,发现但凡优秀的程序员,都有不少优秀的通用特质。
因此想写一个系列的文章,讲讲程序员的进阶之路。程序员

本篇是第一篇,本篇文章主要从程序员的思惟模式和心态来说述初级程序员的进阶之道。若是你想成为一个优秀的程序员,能够参考其中对你有价值的东西。为啥把思惟模式和心态放到首篇呢,由于我以为思惟模式和心态是决定一我的成长最主要的因素。后端

闭环思惟

闭环思惟体现了一我的的责任心和职业素养。你接受到一个任务,不仅是完成代码这么简单。而是须要推动整个任务的最终完成。好比你完成了任务,应该转测,并主动给测试人员留下测试方案。架构

遇到一些开发能力还算不错程序员,可是在闭环思惟方面不好。不少时候就是完成了代码编写,就逃之夭夭。不对基本的结果负责,甚至不作基本的自我测试或者单元测试。
领导交给你任务,你完成了,或者阶段性完成了,须要主动向领导汇报,或者按期写进度报告,或者在管理系统提交你的进度报告,这也是闭合思惟的一个体现。也是靠谱的一种表现。
  实际工做中,遇到的各类麻烦可能远远超过你的预期。你会遇到不少人,不少公司,不少项目。其中遇到的问题,林林总总。不少时候难题可能不是技术自己层面的,还涉及到不一样的流程协调层面的。
  有的时候,除了完成本身手上的工做,你还的去驱动和其余人的集成对接工做。好比有的大型项目,涉及到多个部门甚至多个公司的研发团队。此时的各类对接流程未必那么完善和自动化,这个时候闭合思惟显得尤其重要。
好比A部门(公司)负责前端部分,B部门(公司)负责后端部分。前端开发完成了,就得主动去驱动前端和后端的集成和对接;而且要主动驱动后续的测试。而不是开发完成了,而后以甩手无论,领导或者客户来咨询的时候,却一脸无辜的说:已经开发完成了呀。
总之,所谓的闭环思惟就是,对最终结果负责。就是尽最大努力,获得领导和客户想要的结果。

不要逃避难点

遇到困难时的态度,决定了你技术之路的高度。
遇到一些还算聪明的人,平时开发的时候,技术都还不错,开发效率和质量也还能够。可是一旦遇到技术难题,就会选择逃避。这实际上是放弃了提高本身的机会。
你遇到难题的时候,说明你已经在某个方面开始深刻了,此时若是你坚持下去,不要放弃难点,就会真正的深刻。只要你坚持,你的思惟能力和某个方面的专业性必定会大大的提升。等你上升一个台阶以后,再回过头来看你曾经以为难的问题,就会发现已经变得简单。
怕的就是你泛泛的学,都不深刻。遇到难题就逃避,这样你永远均可能在门槛外面。
说一句鸡汤的话就是:遇到了坑就绕过,你的人生就全是坑。遇到坑你就去填坑,你的人生路可能会愈来愈平顺。
说说个人经验,我通常遇到难题,若是暂时不能解决。我就会把它加入到TODO List,同时在脑中把它加入到ToThink List(待思考的问题列表)。只要空闲的时候,我就会投入时间来思索。有不少问题,我都是在上下班的路上想出来的。好比 大数据量绘制,2.5D解决方案等(后续我可能会写一篇2.5D诞生录的文章)。
要相信绝大多数你遇到难题,只要你对其抱有热情,不放弃,不断的思索,相信就总有找到解决方案的时候。
这世上没有举手可得的星辰,也没有一蹴而就的成就。框架

上面提到了一个词:”热情“。 通过这么多年的研发生涯,我发现,一我的能达到的高度,与智商、天赋的关系其实没有人们想象的那么大,决定因素反而是对一件事情的持续的热情,信心和决心。 这一点我愿和你们共勉之。

不要抱怨

养成抱怨的习惯颇有害。complain makes you weak。抱怨和情绪不能解决任何问题,只能让你变弱。抱怨浪费你的时间,情绪消耗你的能量,并让你不能正视问题。函数

有的人偶尔抱怨一下,还能够理解,毕竟咱们不少人都是普通人,固然你能够挑战本身,永远不抱怨,不过难度很大,在此并不想灌永不抱怨的鸡汤。可是若是抱怨多了,并且不可以及时调整本身的心态改变本身,让抱怨成了一种习惯性的大脑反馈,那么你就会变得让人讨厌,固然也不会获得上司的喜欢。从我我的的角度来讲,若是一个员工偶尔向我抱怨,我能够接受,而且认同其中的一些倾诉,理解一些客观的困难和不公平,并想办法去消除这些客观的因素。可是若是一个员工就某个事情,老是抱怨,或者说习惯性抱怨,我必定认为就是这个员工本身的问题。工具

抱怨是一种情绪,并且是一种有害的负面情绪。管理很差本身的情绪,就必定管理很差本身的工做。管理很差本身的负面情绪,就必定管理很差本身的工做,是一我的不成熟的表现,毫不会被提拔重用,这是不少上司的共识。所以要想树立本身成熟,稳重和值得信赖的我的形象,就要从避免我的情绪化外露开始着手。单元测试

当你想要抱怨的时候,冷静下来,问问本身,抱怨能够最终解决问题吗。 若是是答案是NO,那么请放下抱怨。积极面对问题和不公平,事实上当你放弃抱怨,作出积极的努力的时候,你会发现你的大脑会更加快乐,并且在你积极面对的时候,必定会给你本身带来提高。学习

学会say no的正确姿式

我不会给你们灌输 never say no的鸡汤。 由于有的事情,在有限的条件下,确实是无法达成结果的。
可是,你们仍是要养成正确的say no的姿式。先看看什么样的姿式是错误的,如下是常见的错误姿式:
”这个方案技术无法实现“,恩,技术无法实现,多么熟悉的声音。
”这个时间点确定不能交付“,恩,确实无法交付,咱们都懂。
”对不起,你的需求超纲了,不作“。若是你作过项目,就会懂得客户的需求就没有不超纲的,各类条款限制都没有用的。
上面的全部的say no,问题在于,都是直接否认,态度太过强硬,彻底没有商量的余地。 这必定会让产品经理,或者领导,或者客户很不爽。
那么以上问题,正确的say no姿式是怎么样的呢?
第一条,这个方案技术无法实现。stop,先中止你的习惯性拒绝吧。首先想想,真的是无法实现吗。或许你不用一种轻易拒绝的心态,积极思考,就能想到好的实现方式。此时你不须要say no。
仍是没想到实现方法?或许并非不能够实现,只是你不知道如何实现,或者应该说,是你暂时不知道如何实现。这个时候你的say no 应该是:
”这个方案我暂时尚未想到解决方案,我须要下去研究一下,因此我还不肯定是否能够实现“ 这儿的关键就在于,你没有直接拒绝对方(多是产品经理,领导或者客户),会让对方以为舒服不少;同时,你也没有拒绝掉你本身的成长之路,由于你真的应该下来好好摸索一番。在笔者看来,不少不能实现的问题,绝大多数时间是能够找到解决方案的。
若是最终发现确实无法实现,可是你通过了前面的探索,也能够说明白真正的理由是什么,真正的困难点在哪里。同时,你能够提出变通的方案为最佳。
第二条,”这个时间点无法交付“。确实,时间太紧,无法交付。可是态度仍是太生硬。对方也未必了解真正的工做量,你此时最好是列出工做量,并说明可以交付的部分。相信大部分人都会作出妥协和退让,并不会死抠不放。
第三条,”对不起,你的需求超纲了,不作“。恩,理解你,前面就说了,客户(产品经理)的需求就没有不超纲的。 可是,你若是直接说不作,会让客户很难看。结果就是可能在后面的交付给你制造麻烦。事实上,你应该仔细去了解和倾听客户需求,了解客户的真正的需求和痛点所在。若是真的存在痛点,而工做量不太大的状况下,就请帮忙改了吧。若是工做量太大,能够考虑让公司有关部门协商,有偿增长需求。请珍惜客户的痛点,由于这是你的价值机会。测试

可能还会有其余的状况,总之,say no的态度不能太硬。另外,确实不要轻易直接拒绝,多研究研究再说。更不能养成惯性say no的习惯,在我看来,习惯性say no就把say no变成了你懒惰或者无能的借口。

技术自信力

我从事开发工做10多年,期间也作出了一丁点业绩。若是说这些年开发工做,对我带来了什么改变的话,我想有一个很重要的点,就是技术自信力。什么叫技术自信力,这其实我本身创造的一个词。啥意思呢,我相信技术可以解决99.9的需求,只要你愿意去钻研和研究,这就是技术自信力。固然不是盲目自信,相似让你造火箭这样的需求,你应该仍是须要有自知之明。问题是,不少时候,不会真有这种需求吧。这也是前面一条所强调的,不要轻易say no的缘由。

但愿每一个程序员都有这种技术自信力。  
最近读了心理学家卡罗尔·德韦克的经典做品《终身成长》。里面说到了人的两种思惟模式,成长性思惟模式和固定性思惟模式。固定型思惟模式中,成功来源于事情的结果,可以证实本身的天赋和能力。而成长型思惟模式中,成功来源于尽本身最大努力作事,来源于学习和自我提升。      
 建议有兴趣的读者,能够去读一读这本书,颇有启发。

若是你是一个拥有技术自信力的程序员,说明你是成长性思惟模式。这种思惟模式将终身影响你的成长。

重视思考

孔圣人都说过,学而不思则罔,思而不学则殆。一个不肯意思考的程序员是没有前途的。不论你多么的忙,都须要留下时间思考。 由于思考可让你在纷繁琐碎的平常工做中,找到本身成长上升的阶梯。
有这么一句话,不要用战术上的努力,掩盖战略上的懒惰。 懒于思考,其实就是战略上的懒惰, 勤于思考,就是一种战略上的努力。
对于程序员来讲,能够有不少思考的东西。
好比对于已经作过的东西,进行复盘,能够思考哪些地方咱们作的好,哪些地方咱们能够改进,应该如何改进。工具、效率、代码质量和规范。
对于咱们暂时没有作出来的东西,不断反思,应该如何才能作到。
作的项目多了,写的代码多了,咱们能够考虑概括,总结,提取有价值的东西。把经常使用的功能封装成工具库,工具函数。进而提升咱们的工做效率,也是一个沉淀的过程。
把相似的东西,通过抽象,造成更加通用的产品。事实上,不少著名的开源库/框架,相信都是经过抽象加工,开发出来的。
还有就是,可否对于一些问题,思索出一些创造性的解决方案。
思考的过程,能够提高咱们的思惟能力,提高咱们的认知和能力。
若是你不会思考,天天机械似的干着一样重复的工做,就不能怪别人叫你码农。更要命的是,你得不到成长。

作好终身学习的准备

若是想成为一个优秀的程序员,就必须作好终身学习的准备。由于这个世界为程序员准备了太多须要学习的东西,多到这辈子都学不完。
不过我发现绝大多数程序员都是爱学习的,因此此点,我不打算多作表述。不过我想要说的一点是,请务必享受学习的过程,而不是痛苦的去学习,由于这不是长久之道。

接受平凡的事情

不少人对不少事都是这样:刚开始的时候充满了热情,鸡血满满,可是随着时间的推移,这种热情就会淡去。咱们对于本身看似熟练的东西,再也提不起来兴趣。技术也想像围城,你老是这山望着那山高,老是讨厌当下的境地,而向往所谓的让人仰止的高山,由于那老是让本身激动,但是或许也就仅仅停留在心里的激动。只是就算你到了另一座高山,它终究也会变成你讨厌的当下。

不少人学习新知识的热情很高,却对于工做中遇到的问题视而不见,漠不关心。其实你要知道,在职场上,你的价值在于你可以解决多少问题,而不是学会了 多少门新的技术。 固然我不是让你们不要学习,而是要你们先把本职工做作好的基础上再去学习新的东西,若是本职工做一大堆问题你置之不理,而饶有兴趣的去浅尝辄止的学习新的东西,就是本末倒置。

能坚守平凡的人,才能不凡。由于任何事情,都终究变得平凡而琐碎。你再喜欢的女神,终究也会容颜老去。
咱们老是羡慕那些大牛们,他们有丰富的学识,有高超的技艺,有不凡的魅力。 只是你不知道,大牛的今天,是无数个默默付出的夜晚、无数个敲击键盘的清晨累计而来的。他们未曾放弃过任何一个当下的问题,永远可以在变得枯燥的平常中找寻到新的乐趣、可以在当下的平凡中探索出不凡之路。
对每一行代码的执着,对每个问题的深刻探索,终究是你我都须要经历的。
相信我,你的快速成长能够来自于平凡而琐碎的工做,来自于你对司空见惯的代码的优化、对平常的每一个问题的执着的探索、对于难点的苦苦思索。

临渊羡鱼,不如退而结网,而不少人选择了退而却步。但愿你可以沉下心来,好好的解决好当下的问题。咱们要作的就是坚持不懈的履履而行。
正如保罗.柯艾略的《朝圣》一书所言,超凡之境恰在平凡之路上,愿以此与诸君共勉。

欢迎关注公众号“ITman彪叔”。彪叔,拥有10多年开发经验,现任公司系统架构师、技术总监、技术培训师、职业规划师。熟悉Java、JavaScript。在计算机图形学、WebGL、前端可视化方面有深刻研究。对程序员思惟能力训练和培训、程序员职业规划和程序员理财投资有浓厚兴趣。

ITman彪叔公众号

个人博客即将同步至腾讯云+社区,邀请你们一同入驻:https://cloud.tencent.com/dev...

相关文章
相关标签/搜索