《“前途丛书”这就是软件工程师》是一本指导软件工程师求职和职业发展的好书。作者从实际案例出发,深入浅出地讲解了软件工程师的职业路径、技能要求、薪资水平等方面的内容,为软件工程师提供了宝贵的参考和建议。
“前途丛书”这就是软件工程师读后感(一)
我是一个四个月大的萌新软件工程师,自己看这本书是为了在路上不迷茫,在上手的阶段心中能有谱。基于“前途丛书”这个系列的编写对象本来就是大众,我就把这本书强推给了爸妈,没有什么奢望,就只求以后谈起工作的时候,不要再反反复复唠叨“趁早考虑做管理”,“你不就是个码农嘛“这类充满偏见的话语,减轻反噬伤势,六根清净。
事实就是,效果真的不错,消除了一些偏见,也算是获得了一些理解。如果你有相同需求,不妨一试!
“前途丛书”这就是软件工程师读后感(二)
机械工程师有代码工程师的心,略读感想:
部分内容的思维导图,供参考:
“前途丛书”这就是软件工程师读后感(三)
小王今年25岁,是一名外卖小哥,为了生活每天骑着电动车,穿搜在车水马龙的街道上,风里来雨里去,对未来职业发展一片茫然。 想想当年一起玩得好的几个同学,个个都有专业技术在身,对未来的职业规则都很清晰,再看看自已没有一点目标,心里很是忏愧。 于是小王痛下决心要为自己的将来好好规划一下,朋友介绍说可以学习软件工程师,但小王学在网上看到35岁会成了互联网人的危机之年。什么35岁焦虑,什么35岁职业危机,让他犹豫不定,难以抉择。 为什么会出现35岁危机呢? 《这就是软件工程师》这本书有讲到,根据国内情况分析来看,国内很多公司面临着比较大的变化,好不容易做了一个新的产品,可等到上线之后却发现没用。之后就撤下,换成别的。所以软件工程师打磨得再好,也无法体现价值。 国内整体的氛围和发展阶段如此,作为软件工程师人人很难有所改变。如果想在这一行干得长久,你需要明白“35岁危机”,更多是和能力,水平相关。年龄不是问题。 所以需要的是提升自己,达到资深工程师水平,才能继续干下去。 1、探路能力 只要方向没有问题,即使没有路,也能够蹚出路来 2、贡献能力 能够在实施过程中提出更好的,更简单的方法能及相关创意 3、解决能力 方法总比问题多,能够带动团队解决一切拦路的问题 4、提高标准 能够不断发现不路并弥补,解决问题,提高标准 这本书特别适合以下几类人群,为子女规划未来的父母,高中和大学队段的学生,刚刚步入职场的新鲜人,以及人事职业生涯规划的专业人士。当然,如果你有充沛的好奇心,或者正在规划职业道路的切换,它很适合你。
“前途丛书”这就是软件工程师读后感(四)
买这本书是因为作者有 郄小虎 (之前谷歌上海的 director)和 陈智峰(Google L8),我以为这本书是对几名做的不错的软件工程师的深度访谈(类比 Coders at Work 和 Programmers at Work),因为书的介绍就这么说:
然而收到书后,我傻了。
我从来没有见过这么莫名其妙的书:
1. 啥都有讲:从软件工程师的职责到代码命名,从 API 设计到学习效率,从代码评审到软件测试,从技术选型到带领团队,甚至连软件工程师的工资分布都有提及。
2. 啥都说不清楚:每个 topic 都只有两三页,这本书的印刷又是 小纸张 + 大号字 + 超大行间距,导致内容稀薄,每个 topic 都只有 500 - 800 字。你觉得有可能用不到两三页讲清楚上面任何一个话题么?
3. 各种凑字数:这本书 290 页。但它“慷慨”的用 90 页的篇幅去讲“行业大神”(从网上扒的程序员大神简介,比如 Linus Torvalds 和 Guido van Rossum),推荐书籍(一大堆书,每本书的推荐都是一两行,你们写书是按行收费么),推荐电影(???尼玛有这么凑字的么???),名词解释(从维基或百度百科上扒的词条解释,我懒得吐槽了)
4. 陈词滥调:四个作者,陈皓的内容全来自他的博客,剩下的三个 Google 工程师写的大部分内容都和 Google 内部流程耦合。简单的说,大部分内容是正确的废话,小部分内容有用,但受限于篇幅,根本讲不清楚。
我用了不到 25 分钟,把这本书从头看到尾,唯一的收获,以后绝对不会买任何国内技术书籍。
MD 智障。
“前途丛书”这就是软件工程师读后感(五)
我们都知道,码农说的就是软件工程师,我们经常听说华为或者某家大型IT公司又裁人了,很多37岁左右的码农被裁掉,这导致人们认为码农就是吃青春饭的,青春不在的时候就会被裁员走人,这被社会上称为IT业中年危机。
果真如此吗?码农真的过了35岁就干不动了吗?这个事为什么在IT业这么引人注目?它在别的行业是否也存在?
实际上,这是人们不了解这个职业而造成的误解。我们可以来看看《这就是软件工程师》这本书。作者采访了郄小虎、陈浩、陈智峰、鲁鹏俊等行业大咖,通过他们的讲述为我们全方位展现了码农这个职业的特点和进阶之路,归纳了码农快速成长的方法,教会码农最终如何成为行业大神。
35岁真的是IT业的一个坎儿吗?其实不是的,IT业和其他行业一样,不存在真正年龄的坎儿,只存在能力的坎儿。有点区别的是:码农如果没有持续学习能力,到了这个岁数在业内就混不下去了,而别的行业还能混下去。比如说:当年做塞班系统的码农,如果没有持续学习ios系统和安卓系统,后期就只能失业。而医生不一样,旧的知识是不会被淘汰的,即使做不了名医,做个一般的医生都可以,总不至于会失业。
所以说,码农对于持续学习的要求,几乎是所有职业中最高的。那么码农怎么学习才能迅速成长呢?我们总结为三步:
第一步,新手开始工作前,一定要拆分任务
比如说:一个大的程序里有30个文件,你可以按照3个一组,把它拆成10个子文件,拆分的过程可以让你的思路更清晰。然后,每做好一个文件就提交一个。这样一来,如果你第一个文件出现问题,同事帮你指出来,你在后面的文件里就能避免类似的问题。
相反,如果你一口气把整个大任务都做完了,交给测试人员,结果一看,底层代码都有问题,那你就面临全面返工了,不仅浪费精力,还可能耽误工期。
第二步,多读牛人的代码
多读牛人的代码,会让你明白什么才是真正的好代码。
牛人的代码会清晰、明确,好用。就像傻瓜相机,不需要知道里面的复杂原理,只要按照说明书去做,就能拍出好的照片来。牛人的代码也一样,它易懂好用。
牛人的代码执行起来很高效,他能用简洁、精炼的代码解决复杂的问题。你会发现,某些牛人的代码,没有优化的空间,他们的抽象和组织结构都恰到好处,到了增一分则长,减一分则短的境界。
牛人的代码通用性高,可扩展,而且自带风格。这跟书法有点像,每个人的字都有着自己的辨识度。牛人的代码也一样,你多看了代码,一眼就能看出是哪位大咖写的,在你学习的过程中,慢慢模仿,就能吸取精华,为己所用。
第三步,和优秀的人一起工作
和厉害的同事一起工作,在进阶的路上,你会走得特别快,别人花十年才能完成的跨越,你一两年就能完成。在一个厉害的团队中,有的人善于提高性能,有的人善于拆解问题,有的人擅长压缩,就是因为在每个小的领域里,他们都有自己的绝招,快速的学习这些招法,学会融合优化,就能使自己提升的特别快。和他们在一起,你基本不会掉队,还可能成为第一梯队的人。
只要你有了持续学习的能力,35岁就不会是你的坎儿,所谓的中年危机都不叫个事。如果你在业务精进上有想法,你想带团队或者成为行业大神,可以来看看《这就是软件工程师》这本书。书中为你策划好了进阶之路,只要你肯持续学习,一切皆有可能。
“前途丛书”这就是软件工程师读后感(六)
由于从事IT行业,所以平时接触的最多得就是软件工程师这个职位的人,这么多年,当然见识了很多技术牛逼的人,但也有让自己感叹的,这写的都是些什么。
其实不管在哪个行业,有不厉害的就有厉害的。因为他们的天赋和付出的不一样,所展现出来的实力也就不一样。
还记得上家公司,有次做一个新项目。等到开发写好项目后,转交到测试手里。我依稀记得那个测试在群里咆哮:“某某,这跑个主流程都跑不通,你真的有自测过才提交过来的吗?”这已经算是很客气的问候了,听说私底下有些人还会嘲讽这代码质量堪比小学生。
可想而知,这样的代码质量,在测试那里肯定过不了关,直接给打回了。不久后那个开发就离职了。听说是被暗地里辞退的,因为很多人投诉说他代码质量不好。
当然了没有人一开始就很牛逼,都是通过不断的学习,实践和坚持,才能写出一手漂亮的代码。虽说天赋同样很重要,但学习和努力占了百分之九十九。
就像丁丛丛,靳冉的《这就是软件工程师》里就有提到:在学习上我们应该不止于跟别人学、碎片式的学,而是需要向内精进,搭建起自己的知识体系。如果能做好这些,相信可以让我们的工作能力有效地得到大幅度提升。
对于应该如何才能更好的提升自身的能力,在这里结合书中的内容为大家分享三个方法,不妨耐心地继续看下去:
不管做任何事情,基础永远是最重要的,只有基础打牢固了,我们才能在上面建立更多的知识体系。
就像起房子,就必须要打地基,而且要打得很牢固。这样不管是想起五层还是十层楼都能完成目标。
学习上也是同理,我们需要先打好坚实的基础,才能在基础上再拓展需要的知识。
而关于软件技术的基础就需要系统的学习程序语言,包括语言的原理,类库的实现,编程技术,编程范式,设计模式等。
还有一些系统原理,包括计算机系统,操作系统,网络协议,数据库原理等。再加上中间件,包括消息队列,缓存系统,网关代理,调度系统等。
最后是理论知识,包括算法和数据结构,数据库范式,网络七层模型,分布式系统等扥这些知识。
当然学习基础并非一朝一夕就能完成,是需要花大量的时间和精力去持续性的积累。
另外任何知识,只在点上学识不够的,还需要在面上学,因此,我们可以去总结并归纳知识树或者知识图。
我们都知道,一个知识面会由多个知识板块组成,一个板块又有各种知识点,一个知识点会到处另外的知识点,各种知识点又会交叉和依赖起来,学习就是要系统地学习整个知识树。
就好像,对于一棵树来说,“根基”是最重要的,所以,我们学好基础知识非常重要。因为如果我们身处在一个陌生的地方,有一份地图是非常重要的,没有地图的话只会乱窜,迷路甚至走冤枉路。
只要我们打好了基础,那么就可以开始利用知识树系统的去学习了。相信效果会很惊人。
其实学习也分很多种,读书,听讲都是学习。讨论,实践也是学习,学习与学习之间还是有一定的差别。
很多时候大部分人一直处在被动学习中,比如读书,听讲。只有少部分人会从被动学习转变成主动学习,如讨论和实践。
如果一直处在被动学习中,相信很难有进步,所以我们应该主动去学习,这样才能真正的学到一些有助于我们能力提升的东西。
比如对软件工程师来说,我们可以写博客,做分享都是很好的主动学习的方式。
因为当我们要去教别人的时候,当我们要把自己写的东西公之于众的时候,我们势必需要去查很多东西,而且会很上心,这样一来就会学的很系统。会在不知不觉中提升自己的知识面以及能力。
《这就是软件工程师》告诉我们学习不是为了找到答案,而是为了找到方法。因为任何知识都是有缘由的,了解一个知识的来龙去脉,会让你对这个知识有非常好的掌握,而不再知识靠记忆去学习。
“前途丛书”这就是软件工程师读后感(七)
2021年1月7日,雷军在北京小米科技园隆重揭晓了“2020百万美金技术大奖”获奖者。小米秒充团队和MIUI隐私保护团队,在一百多个团队的激烈角逐中脱颖而出,成功拿下小米技术创新最高荣誉,并分别荣获100万美金。其中的MIUI隐私保护团队,就是软件工程师团队。 软件工程师这一行有很多“英雄出少年”的例子,比如比尔・盖茨、扎克伯格,年纪轻轻就做出了开创性的研发与设计。但其实,一出手就站在金字塔塔尖的年轻人只是极少数,可以说是凤毛麟角。大多数的软件工程师,都是需要在这金字塔里,一个台阶一个台阶往上走的。 《这就是软件工程师》一书写到,过去二三十年,互联网改变了世界,巨大变化的背后站着一个职业,那就是软件工程师。正是软件工程师,通过一行一行代码,让这一切得以实现。 本书作者丁丛丛、靳冉,一位是得到APP编辑,一位是软件工程师,两人凭借自己的专业经验,加上对小红书CTO郄小虎、谷歌大脑首席工程师陈智峰等行业高手的采访,共同编著了《这就是软件工程师》。 如果我们把软件工程师的金字塔分为四大台阶,那它分别是:新手阶段、进阶阶段、高手阶段和行业大神阶段。这四个阶段分别对应这样几种能力:执行力、设计能力、会贯通的能力、沉淀方法论和开创新领域的能力。不同阶段,所需要具备的能力是不同的,比如,在高手这个阶段,更需要前瞻能力和取舍能力;进阶阶段,需要独立完成需求的能力;新手阶段,需要保质保量完成分配到手上的任务。 执行力字面理解为:执行并完成任务的能力,在西点军校中有一句经典语言“没有任何借口”,也是对执行力进行完整的诠释。 新手阶段强调执行力。就好比你刚进入公司,还是新人的时候,被分配一些任务。指派任务的上级,会非常明确地告诉你任务是什么,用什么样的方法,去达成什么样的目标。然后,干就完了!你按照方法一步步操作,保质保量去完成,这就是执行力。 小姜是个同事眼中的“老法师”。上班迟到了,会说“路上堵车”、“闹铃没响”等等;工作协作不好,会说“这项工作太复杂……”、“这个我不会,没学过”;工作没业绩,会说“政策不好”或“我已经尽力了”等等,事情做砸了有借口,任务没完成有借口。最后,公司业绩下滑需要裁员,“老法师”小姜首当其冲被开掉。究其原因,就是工作没有执行力,对公司的经营发展毫无意义。 同事小莫则不然。初进公司,就有一位前辈曾告诫过他:不管接到什么工作安排,你都要想办法干。只有强有力的执行上级的命令和要求,才能不断地提高自己的执行力和工作效率。虚心听从建议的小莫,三年工作中始终坚持高度的执行力,正因为这一点,他被部门经理赏识,推荐给高层,很快就做到了总经理助理的岗位,前途不可限量。 在现实生活中,需要的正是那种想尽办法去完成任务,而不是去寻找借口的执行力。 与新手阶段不同的是,进阶阶段强调设计能力。这个时候,上级布置给你任务,就是你要独立完成一个工作模块、独立设计程序,上级不会告诉你步骤,你需要自己方法解决问题。这个阶段的关键能力叫作设计能力一一你要学会分析需求,弄清楚模糊不清的问题:你要学会做技术调研,找到最佳解决方案;你要学会对问题进行抽象和拆解;你要学会搭建原型、设计架构。 一旦进入进阶通道,你在工作上不再止于做执行,而是要更多地发挥创造性,独立设计和优化;在团队里不再止于埋头完成自己的事情,而是要做好一个项目从头至尾的把控,协调内外部的合作关系;在学习上不再止于跟别人学、片式地学,而是向内精进,搭建起自己的知识体系。 这就好比写作文时,老师给你一个命题,你来构思作文结构怎么搭几个段落、每个段落表达什么主题,它们之间如何承接。设计程序也一样,客户一个需求来了,你要考虑怎么把它用程序现出来,一个程序分成几个不同的模块,每个模块干什么它们之间怎样协同配合。客户只是提出一个需求,而你要给出合理的、科学的解决方案。 很多软件工程师在高手阶段会认为,只要做到全面细致,把代码写得足够好就没问题了。但其实,作为高阶工程师,这远远不够。高手阶段最重要的能力有两个:一是前瞻能力,二是取舍能力。核心是具有前瞻能力,也就是说,你得知道为什么系统今天是这个样子,以及未来它会朝着什么样的方向去演进,对未来有预判,根据预判对技术选型做一些决策。 比如一个系统大概要解决未来两年的问题,那么在未来的两年内,外界和底层技术会发生什么样的变化,你要采用什么样的技术去完成,这都需要心里有数。想要拥有前瞻能力,第一要有知识的广度,需要去读论文,读业内各大公司的资料,还要去各个公司做广泛的交流,保证有足够多的不同的信息进入你的视野。第二多做跨行业的交流,跳出自己的圈子,跟其他行业的人,特别是投资人、创业者等见多识广的人群多交流。 除了前瞻能力,高手阶段的软件工程师还需要具备取舍能力。所谓取舍,就是确定自己要干什么,以及不干什么的能力。要想做好取含,关键在于两点:明确目标、学会预测。 第一是明确目标。一个问题可能有很多种解决方案,但是每种解决方案都不可能完美。这时候你就要分析,哪个对最终目标可能产生的负面影响更大,然后选择影响更小的那个。第二是学会预测。有时候即使你的目标很明确,不好取含,难点在于很多数据你并不能提前知晓。这时就得预测一下,到底哪个方案带来的结果是更优的。这里的预测和前面说的前瞻性不太一样,它不是指大的时间轴上预测未来,而是说基于现有信息做出一个测,然后完成取舍。最终取舍得好不好,就看你预测得不准。 比如,出租车公司想要把起步价提高1元,总收入会增加还是少?如果有个人觉得打车上班花15元比较合理,你涨了这1元就超出了他的心理价位,他不能接受了一个用户。如果有个人觉得涨1元无所谓,他一点儿也不在意,那就相当于出租车公司增加了1元钱的收入。至于要不要涨这1元钱,需要你具备类似于“人脑大数据”的功能,在对用户和系统的理解的基础上作出预测。 而一旦进入大神阶段,大家都公认你是这方面的权威,你对这个方向的判断是非常准确的。同时你还能够总结出一个方法,这个方法不只适用于当前的领域,别人把你这套东西拿过来,还可以解决另外的问题。 大神阶段最重要的是创新能力,能够开创新领域。可以说,几乎计算机、互联网领域出现的每个重大里程碑,都是软件工程师开创新领域的结果。
比如业界公认的行业大神,美国科学家肯・汤普森( Ken Thompson)在20世纪70年代作为主创者之一开发出了全新的操作系统UNIX(这一系统不仅可以用于网络操作,还可以作为单机操作系统使用,后来被广泛使用于工程应用和科学计算等领域),就是开创新领域的代表。 进阶软件工程师,就要具备以上所说这几种能力。而且,从这几个台阶来讲,越往上走,要求越高,能达到的人越少。从执行到设计,可能60%以上的软件工程师都可以跨越但从设计跨越到融会贯通,就大概只有30%;再从融会贯通到形成方法论、到开创新领域,1%都不到。越到金字塔的顶层,人越少。想进阶软件工程师,就去努力学习,好好培养自己的能力吧。
“前途丛书”这就是软件工程师读后感(八)
最近热播综艺《初入职场的我们》完美收官,经过1个多月的观察,董明珠最终选择了专业不对口但学习能力超强的孟羽童。其实在节目刚开播的时候,观众对于这位99年的小女生并不看好。除了专业不对口、履历不如其他实习生,甚至在自我介绍的时候因展示女团舞,被岳云鹏提出质疑:“这是招聘吗?”
《初入职场的我们》孟羽童最终获得董明珠的格力入职机会
可偏偏就是这样子一位不被看好的女生,最终拿到格力的入职资格,董明珠对她也给予了很好的评价:“孟羽童很好学,非常努力,这个孩子她的品质我是认同的,我希望格力未来的接班人的能力能够像她这样。”
董老板说过:“未来都是属于年轻人”。以后的世界是一个未知,我们需要有一群像孟羽童品质的人把世界推得更高。由此可见对于毕业生来说,学历只是敲门砖,未来想要走得更远,最终看的还是个人能力。
董明珠给予孟羽童很高的评价,简直人生高光时刻
作为职场小白,或许你也会有疑问:我们可以通过怎样的捷径快速提升自己的能力,成为一名合格的未来接班人。现代职业说明书《这就是软件工程师》一书中指出:作为新人,我们得想方设法地接近牛人,问题总会变,技术也会在变,但优秀的解题思路不变。
“前途丛书”这就是软件工程师
7.9
丁丛丛 靳冉 / 2021 / 新星出版社
1、和优秀的人一起工作
很多毕业生在刚进入职场的时候都会很期待能有一位专业上很牛还很愿意带人的上级,能够手把手地教自己。这个想法固然是好的,但是现实是骨感的,不是每一个人都那么幸运能找到一位这么好的领导,这时和厉害的的同事在一起工作,对一个人的成长帮助更大。
以我自己为例,2012年毕业后我刚加入了一家涂料公司,作为销售助理的我,不会做销售报表和不懂分析财务数据,所以出来的报告往往过于浅显没有可参考性。那时一方面领导焦急想要结果,另一方面自己又深陷寻求解决方法。后来发现A同事在做销售报表方面很有逻辑性,她利用了很多数据制定相关内容表格大大提升效率,财务B同事多维度分析数据能力,可以很好找到销售问题的所在。我从这两位同事的身上学到了这两招,后来也结合了自己所学市场营销知识进行了报告优化,最终给领导交了满意的答卷。
和这两位厉害的同事在一起工作可以很好地放大我自己的弱点,让我明白光有理论的知识是不行的,重点还是需要结合内外部环境对方案进行实践分析,这样子才能更好地做出一份可行性的报告。我除了学习对方的逻辑性和分析问题的思路,还需要不断努力成为足够优秀的人,才能有资格和厉害的的人站在一起。
所以说和优秀的人一起工作会让你成长的道路走得更快,很多可能别人要花10年的才能完成的跨越,你一年多就能完成。从长远来看,别人身上解决问题的方法和能力,会潜移默化地成为你的一部分。
2、学习牛人的思路
除了和厉害的同事在一起工作,要想更快速地成长,我们还可以想方设法主动找牛人帮忙向她们学习和牛人一起解决难题,这样子,你才能有可能慢慢成为团队里面第一梯队的人才。
我刚加入职场作为实习生那段时间,我真的被骂到自己背地里都哭了无数次甚至想要辞职了。每个实习生都会安排一个师傅来带,刚好带我的师傅年纪大但是经验却很丰富,她不会很耐心的告诉你要怎样做,只是给你自由发挥,结果就是无情的批评。虽然被挨骂但我会特别关注问题点,以及师傅提到的下次改进的方法,坚持下来发现原来我是实习生当中进步最快的一个,还是唯一一个可以留在市场部的实习生,还有幸多次被师傅点名一起参与解决部门难题,让我可以得到一个质的飞跃。
每当遇到难题时,都会发现师傅的市场触角特别高,她会冷静地逐一分析并拆解问题,给予我们方向任务。市场是不断更新迭代的,我们一定要紧跟市场的动向发展,做到日积月累。现在我每天早上起床的第一时间是看财经新闻,日常也会多通读商界牛人的运营管理书籍扩充自己的大脑思维。
所以说,跟牛人学习无疑是提升自己很好的一条捷径,但这并不意味着我们可以照搬照抄牛人的方式方法。牛人之所以是牛人,是因为他们都会有自己一套解决难题的思路,在遇到问题的时候需要保持清醒的的头脑,运用清晰的逻辑思维提炼问题并归纳总结解决方法,而我们只需要在上面进行不断升级优化即可。
由此看来,
初入职场的我们要想在竞争激烈的大环境里面快速站稳脚步,我们需要的是保持一种主动学习的姿态,当然也不能眉毛胡子一把抓,什么都学习。未来需要是更精细化的人才,我们要把自己的专业知识学精学透,把门道摸清楚,只有真正地搞明白理论、工具和方法越多,你才能快人一步获得成功。