读《暗时间》——“怎么花两年时间去面试一个人”有感

        前段时间拜读了刘未鹏老师《暗时间(第二版)》虽然只读了其中的一篇“怎么花两年时间去面试一个人”,但也是振奋我心,酣畅淋漓,我也是有所感悟和总结,在此分享给大家。

        首先,未鹏老师的“怎么花两年时间去面试一个人”这篇文章中,并不是单纯的讲一个面试官为了找到优秀、符合公司招聘标准的人才而去面试了两年,实际上是在讲一个程序员(或者说是计算机爱好者、在校即将找工作的大学生等)该如何花两年左右的时间提升自己,将自己锻炼成为一名符合公司要求的、优秀的、有强大的自学能力和思考能力的准程序员。而实现这一途径,未鹏老师指出两条路:

一是长期坚持读优秀的技术书籍(不仅要读书,更要读好书、会读书),比如《深入理解计算机系统》、《代码大全》、《编程珠玑》、《Effective C++》C等。

二是坚持使用GitHub等代码托管平台,把自己写的代码托管保管。

        另外未鹏老师还提到了写技术博客,将自己思考和总结的感悟写入博客里。除了写还要多去读,面试官不仅可以通过观察写哪些博客?内容是什么?质量如何?等侧面考察面试者的专业素养与技能本领,有时也关注面试者都读了谁的文章?收藏了哪些文章?关注了哪些作者?等等。未鹏老师提到的这几点,我想不仅是我应该尽力坚持去完成的,也是各位想要变得优秀、迈进大厂的同学们去努力的。之后我想分享一些我的观点和补充

        首先长期坚持读技术书籍肯定是成为一名合格的程序员必备的技能,现在很多程序员(虽然目前我只是一个正在学习编程的菜鸟)都开始担心35岁危机,甚至担心30岁危机,面对年龄的压力和大脑、身体机能开始衰退,他们开始感到迷惘(即使距离35岁还有好几年),我想这不应该是我们所担心的,正所谓“车到山前必有路嘛”。那么该如何摆脱35岁危机呢?我认为最有效的两个方法就是:

1、长期坚持读高质量技术书籍、高质量技术博客、并且与同伴一起交流提升、互相学习促进。

2、长期坚持学习与思考,培养自学能力与思考能力,这里的学习不仅仅是读书上课,更多的要练习,正所谓绝知此事要躬行,理论课程尚且如此,何况我们的计算机专业呢。

        现在去担心几年、十几年后的事为时尚早,甚至到了35岁左右也不必过度担心。因为有一句话叫“活到老,学到老”,现在真是这样子的,这句话已经不是教授、科研工作者、教师、医生等职业的代名词,更是我们计算机专业同学的人生格言。当今时代,网络发展迅速,曾经还没有的AI大模型、5G芯片、新能源汽车、计算机视觉、北斗卫星导航系统、量子通信、超级计算机。。。等等高科技发展突飞猛进,大国也正在飞速崛起,这一切看似涉及多个领域,可都与计算机专业密切相关。如此看来,我们读书不仅该仅限于大学、研究生阶段,更要在接下来的公司发展中抽时间去读。

        另外,技术书籍千千万,好书烂书各一半,选择一本优秀的经典书籍可以事半功倍,而读到一本质量差的书就得多走半年弯路,那想知道都有哪些好书,大家可以去网上搜索一些,看看网友们的评价如何,或者文章结尾我将把《暗时间》中各位技术大佬推荐的书籍一一列举。

        除了多读书之外,还要多思考总结,“学而不思则罔,思而不学则殆”,孔夫子的观点即使过了千年也屹立不倒。确实,不会学习的人思想就会受限,而不会思考的人就不会从学习中获得成长,未鹏老师在文章中也举了个例子,阿基米德如果没有日日夜夜不断的思考,怎么会在泡澡时候想到浮力的原理呢?会不会有同学反驳了,那他不是在泡澡时灵感昙花一现吗?这明显是外力作用啊,怎么会归结到思考上面呢?充其量是因为他生来就是个天才。他是天才这话没错,可如果只是因为天才,没有坚持的学习和思考的话,最终也都会泯然众人矣,何况人家也不是第一次泡澡,以前泡澡怎么没发现呢?难不成他和柯南一样,在需要灵光乍现的时候,编剧就让他脑袋嗡的一下,之后说出那句“我知道了,凶手就是用那种手法、在那个时候的、那个地方、说那个话的、那个人~”

        那到底要怎么思考呢?该如何思考呢?我认为写技术博客就是我们学计算机的人最好、最有效的思考和输出方式。这里为什么要提到“输出”呢?根据大家熟知的“费曼学习法”,我们在学习(也就是输入)的时候,看起来学完了、学会了,可是一考就废,这是因为没有做一个有效的输出,正所谓输出,就是把一个专业性知识讲给一个与该专业毫无关系的人,尽可能用最通俗的语言,用最容易理解的方法,让他理解这个知识点,如果 他都听懂了,我们才是真的学会了,说不定还可以从这个过程中获得一些启发,这就是一种思考方式。我始终坚信一句话,就是学习得来的知识并不是给别人学的(想到初中老师的教诲——你们学习都给我学的吗?),而是自己成长道路上积累的最宝贵的财富。

        下面我们聊聊博客,因为写博客是我们学习成长的最好方式之一,但是想长期坚持写下来并不容易(我也非常惭愧,曾经停了一年多,但好在现在又重振旗鼓了)。那该如何写优秀博客呢?如何长期坚持写下去呢?也许读到这里的同学们已经发现了,我非常喜欢用设问句,先抛出一个大众问题,之后用自己的想法进行回答。(这个也许回答的不对,但任何事物都有正反两面,我的观点也仅代表我个人的观点,一千个作家就有一千个哈姆雷特,所以各位如果有其他的观点,不妨和我分享)所以我认为这种设问的方式就是一种很好的思考方式,虽然有时候提出的问题对我来说确实很难,但经过长时间思考之后沉淀下来的答案,不管是内容如何,我相信都是经得起推敲和考验的。所以我把博客当做为别人讲解知识点的平台,同时也是我吸取养分的风水宝地,其实只要找准目标,一步一个脚印的往前走,坚持其实并不难,并不是非要写出多好多优秀的文章,只要是自己思考总结之后的精华,分享给大家都是具有成就感的,所以每天只要坚持下来,一天一天过去,通往优秀的大门终会为我们打开,我们要做的就是静待花开。

        博客的问题谈完之后,我们来聊聊下一个话题——敲代码。这个看着挺土,并且还有时候被调侃为码农的词汇,却是我们技能提升重要法宝。正所谓有人靠脸吃饭,有人靠嘴活着,有人跑腿挣钱,有人写作谋生,我们这专业的人,键盘就是我们的命根子,每天上去敲一敲,走上人生巅峰不是梦(有点扯远了哈)。说实话,敲代码确实对我们来说相当重要,主要体现在哪里呢?首先我说的这个敲代码并不是抱着天天键盘敲“hello world!”(不然面试时候,简历上写的全是精通各种编程语言的“hello world!”、熟练掌握各种开发工具的项目创建、深入理解计算机的开机和关机等等),那到底是敲什么呢?注意,重点不是敲了什么,而是培养出代码的调试能力、对算法深入理解的能力。这两点我认为是非常重要的,正所谓一周七天,一天敲代码,一天扯闲篇,还有五天都在调试各种bug(虽然我不是程序员,不过我也了解过不少)。所以我们要借助敲代码,熟练掌握编程语言的语法,写出具有可读性好、健壮性强的高质量代码,这样最起码可以避免一部分bug,同时还要理解计算机底层,知道计算机是如何工作的(不然计算机专业的不知道计算机咋工作,传出去不让人笑话?)。

        敲代码是夜以继日的不断练习,那自学能力就一定是不断积累和总结所形成的、我们程序员(或者计算机专业学生)生涯的、决定我们能否在35岁危机存活下去,不像《逆行人生》里面的主角一样去送外卖的、最重要最关键能力。这个词我用了非常多的修饰,足以体现他的重要性,因为我看了很多优秀程序员的回答,无一例外都会谈到自学能力,那这个能力到底是什么?它为什么那么重要?又该如何培养?这里说说我的观点。

        所谓自学,就是自己学习,通过阅读书籍、博客、文章、网站、文献,外加思考、总结、感悟,还有苦练敲代码,提升算法思维、调试能力,说白了,自学能力就是将上面所提到的所有内容融合在一起,不断的学习-反思-学习(这好像是否定之否定规律),最终掌握这些知识的能力。

        所以培养这种能力是困难的,很难坚持下去的,那换个角度想一想,如果很简单就做成的一件事,成功了又有多大的收获呢?我们今天觉得困难,可坚持了一段时间之后未必会这样认为,不要妄自菲薄,但更不能纸上谈兵。自学是要相伴我们终身的,无论是计算机专业的知识,还是其他方面的知识。比如一个不会做饭的人,为了成立一个家庭就必须学习做饭,这是不是学习?一个不会喝酒的人,为了获得遥不可及的工资,给饭桌上给老板挡酒,之后每天喝点去练习可就,换来的只有一张没烙熟的大饼,这是不是学习?再比如一个中年且刚刚因为某些原因丢了工作,结果抓住互联网风口,走起了创作短视频路线,这是不是也是学习?所以学习无处不在,同样不论形式。老师教也好,自己悟也罢,只要最终收获了知识,获得了成长,与我而言,这就是自学。所以我认为即使有老师教,也同样属于自学,正所谓“师傅领进门,修行在个人”,成绩好的孩子不是老师教出来的,而是自己学出来的。但我们这里不谈成绩,只谈理想~。(有扯开话题了)只谈如何培养这种能力。

        那说了这么多,再说说培养,我是怎么认为的?无非是多读书、多看报、少吃零食多睡觉,哈哈。确实,想要自学读书是必不可少的。有些同学可能就要问了,“我每天忙的要死,哪有时间读书啊?”其实,你真的很忙吗,是忙着为《哪吒2》冲排名,还是忙着为游戏公司冲业绩,亦或是哄另一半开心一点(ta哪怕是开心一点点,我也就开心),还是为了生活四处奔波,想诉说这心中疾苦与命运的不公,却发现无人可以倾听,只能自我安慰,还是忙着为以前的事、昨天的事忏悔,还是忙着等等呢?其实上面的这些“忙”,我多多少少都忙过,但是我们的人生,我们就是主角,我们想要成为什么样的人,就要付出什么样的努力,正如那句话“人生只要是走上坡路,就都是困难的”,但如果熬过这个只有一丝光亮的黑夜,迎来的最起码不是太阳下山的黄昏(可能看到这有人就会觉得我是在散播毒鸡汤,这个社会的生存法则有怎是几句话就可以撼动的呢?确实,本人目前22岁,我相信我这个年龄段的大多数人都是对未来有憧憬和希望的,都是在努力坚持和奋斗的,正如《哪吒2》结尾处,哪吒相信敖丙会回来,因为他们都是一样的人,在此我与诸君共勉)。

        其次,自学还要善于思考与提问,还是那句话,学了不思考就等于白学。曾经我也迷茫过该如何思考,后来我明白了,真正会思考的人是不会迷茫的,他们会在吃饭时、上厕所时、看书时、睡觉之前、工作时、休息时、洗澡时等等零碎时间思考。后来我也慢慢的区培养,我的方法是有闲工夫的时候,就想一个问题,可以是算法题,比如有没有办法再进一步优化KMP算法?也可以是哲学知识,比如人为什么而存在?甚至是一些有趣的面试题,比如家里突然发生地震了,只允许带一样东西逃出去,你会拿什么?(我想大部分人的想法和我一样,就是都地震了我还拿什么,我能跑出去就不错了,可这种答案未必是面试官想要的)

        最后,我认为自学要制定计划,培养习惯,这也是不可忽视的,比如同样薪资的两份工作,一个是我喜欢的,另一个是我厌烦的,我会毫不犹豫的选择前者,最起码是我喜欢的工作,能够使我成长的几率更大一些(但如果薪资不同,我可能要考虑考虑了)。那该如何制定计划呢?其实很多同学比我都会制定计划,关键是不懂得如何执行(更加准确的是如何坚持的执行)。这个其实很困难,我的推荐是不要给自己设限,但也不要搞太多计划,即不要说一个小时必须看完10页书,并且理解其中的内容,2个小时必须背会100个单词,等等,那如果真的没有完成咋办,还不是对自己说“算了,明天重新开始,今天先这样吧,又是美好的一天”。那不会做计划的呢,可以去网上找找相关的资源,或者先从简单的开始,比如用零碎时间读几页书,不管是技术书籍,还是文学名著其实都好。当我们每天的小计划一个个被完成之后,长期坚持的习惯也就慢慢的培养起来了,切记“行百里者半于九十,不要五十步笑百步,更不能妄自菲薄”。

好了,我的分享到此结束了,谢谢诸君阅读,与君共勉,静待花开~

下面是《暗时间》中一些技术大佬推荐的一些书:

1、刘未鹏老师推荐:《编码的奥秘》、《深入理解计算机系统》或《Windows核心编程》或《程序员的自我修养》、《代码大全》或《程序员修炼之道》、《编程珠玑》或《编程之美》、《The C++ programming Language》、《计算机程序的构造和解释》、《Clean Code》、《设计模式》、《重构》

2、云风老师推荐:《C++编程思想》、《Effective C++》、《深入探索C++对象模型》、《C++语言的设计和演化》、《C专家编程》、《C陷阱与缺陷》、《C接口与实现》、《Lua程序设计》、《COM本质论》、《Windows核心编程》、《深入理解Windows操作系统》、《程序员修炼之道》、《代码大全》、《UNIX编程艺术》、《设计模式》、《代码优化:有效使用内存》、《深入理解计算机系统》、《深入理解Linux内核》、《TCP/IP详解》

3、冯大辉老师推荐:《软件随想录》、《黑客与画家》、《重来》、《UNIX编程艺术》、《编程人生》、《浪潮之巅》、《数学之美》

4、洪强宁老师推荐:《代码大全》、《人月神话》、《编码的奥秘》、《程序员的修炼之道》、《设计模式》、《计算机程序的构造与解释》、《重构》、《The C++ programming Language》、《算法导论》

5、郑钧老师推荐:《代码大全》、《程序员修炼之道》、《深入理解计算机系统》、《设计模式》、《重构——改善及有代码的设计》、《快速软件开发》、《人月神话》、《IT项目管理那些事》、《软件随想录》、《最后期限》、《走出软件作坊》、《你的灯亮着吗?》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值