当前位置: 首页 > Web前端 > HTML5

谈事业——读《程序员的自我修养》

时间:2023-04-05 01:22:46 HTML5

题图:黄昏的上海陆家嘴。最近看了《程序员的自我修养》,作者陈义和,写给程序员的思考书。其实市面上类似题材的书很多,比如我就看了另外两本书《内外兼修——程序员的成长之路》《程序员必读的职业规划书》,只是后悔看得太晚了,也太晚明白了很多道理。我需要多读这些书,为自己找到一些方向感和动力。一直在努力实践书中的一些方法和理解,本文是对本书第一部分的总结,希望对你有所帮助,有兴趣的朋友可以购买本书详细学习。好了,正文开始~~~当我成为IT经理后,我从更多的程序员身上看到了他们的一些特性对他们职业生涯的影响;从设计大师那里得到了很多启发性的观点,对程序员也有很大的价值;而当我开始写作的时候,在每篇文章完成后与年轻的程序员读者交流的过程中,我的想法和观点才能得到进一步的完善和完善。年轻程序员的10条启示1、正确认识自己比起码农、程序员、软件工程师、张江南、屌丝程序员等网络词汇,当你把自己看成屌丝程序员时,那你可能也是那个屌丝没有什么可担心的,却整天无所事事,无所追求。我更喜欢用技术员这个词来形容程序员,就像我给自己起的外号一样。程序员应该是那些不断追求更高技术,有自己产品梦想的工匠。当你不断打磨自己的技能,一次又一次做出那些优秀的产品时,你会发现自己不再是码农,也不再是别人口中的屌丝,而更多的是高手和大神,受到大家的喜爱。尊重。2.比一般人更努力的优秀程序员,往往和天才或者高智商的人联系在一起,但是我想告诉你,你身边看到的天才(你身边的优秀程序员)都是你看不见的时候.到时候,就是多花时间工作或者学习,坚持下去,你就会变得和他们一样优秀。3.适时建立个人权威。建立个人权威可以让别人看到你的不同,并在公司或团队中为你建立良好的影响力。当然,这一切的前提是你通过不断的努力积累了自己的实力,并且在合适的时候施展了出来。4.Followthebestpractice技术更新太快,作为程序员,我们如何去适应这种变化?其实,就像每年都有新的流行设计趋势一样,设计的本质和原则都是一样的。这些最佳实践或由此衍生出的框架和工具,都是经验丰富的程序员通过大量实践总结出来的最佳软件开发思想。通过对它们的理解和有效实践,可以站在前人的肩膀上,对软件开发本身有更深刻的认识和认识。5.有好奇心,乐于探索新事物优秀的程序员也往往非常乐于探索看似与工作无关的技术。比如后端程序员学习前端技能,前端工程师学习UI设计等等,虽然这些不会让他们成为那个领域的专家,但是技术往往是相通的。同时,你会发现你原本的技能也得到了提升。6.抛开代码与人交流“盯着电脑屏幕,在键盘上打字,神情有些呆滞”。这可能是程序员给人的印象。但是我见过的那些优秀的程序员却不是这样的。他们往往兴趣广泛,乐于与人交流。程序员很容易忽视与人的交流,这其实不利于他们的职业发展。我支持那些坚持走技术路线的年轻程序员,但这不应该成为你拒绝与人交流的理由。你需要与他人交流以得到他人的帮助;您需要与他人沟通以建立良好的工作关系;当你的能力不断提升,你被赋予更多的责任时,你需要与他人沟通以管理好你的团队,以及与老板或客户的有效沟通等。7.为优秀的人工作环境对一个人的影响人是巨大的,最可怕的是当你身处其中时,你很难意识到自己正在变得更糟。之前带过一些不错的程序员,也有一些去了一些整体氛围或者环境不是很好的公司。过了一段时间,当我再次见到他们,和他们聊天时,发现他们的思想观点和以前相比并没有进步,有的甚至倒退了。8、生活、睡觉、旅行希望每个程序员都能明白,工作、技术、写代码并不是你存在的意义,生活才是。你需要了解生活,学会生活。生活:尽量过一种有节制有规律的生活,程序员的职业绝不是短跑,更像是一场马拉松。睡眠:很多人认为睡眠是虚弱的标志。他们往往会长时间熬夜。其实我觉得这是一个恶性循环,会让你的工作效率更低。旅行:到任何一个新的地方都可以称为旅行,让你发现和感受电脑屏幕上无法获得的新事物。9.相信自己的才能和创造力。每个人都有自己的天赋和创造力,但绝不是与生俱来的。你需要在生活中不断地培养和发现它们。以下是一些我认为行之有效的方法。阅读优秀书籍:好的想法从来都不是凭空产生的,尝试从书籍中寻找能够激发你的创造力和灵感的优秀内容。记录收藏:试着用小本子记录下你稍纵即逝的美好想法。它们可能不会直接有效,但下一个更好的想法可能来自您记录的这些想法。自己试一试:光有好点子还不够,要做一个有工匠精神的人。通过亲手尝试和练习,你会不断从中获得新的创意。10.如果上面提到的其他建议都不适合你,那么坚持第2点,因为这将是你最大的竞争优势。那些事后诸葛亮的程序员的职业经历1.你的薪水与工作量无关,换句话说,你是否容易被替换。公司很容易找到与你相似的应届毕业生,而对于那些对公司产品非常熟悉并且发挥关键作用的老员工,如果要更换他们,公司需要付出的代价而且它需要承担的风险会很高很多。因此,不妨摆正心态,正确认识自己在公司的定位,努力修炼内功,让自己越来越重要。我相信你的薪水也会相应增加。2、尽可能持续做一件事。既然你对公司的价值来自于你的不可替代性,那么你如何有效地提升它呢?我的建议是尽可能长时间地坚持做一件事。这不仅仅是指技术的积累,更意味着你可以参与同一个项目或者开发一个产品的时间是完整的或者更长的。技术深度和完整项目经验的重要性,如果你一直跟着那些新兴的技术和框架走,你很难在某项技术上达到理想的深度;同样,在一个公司,如果你总是在换项目的时候,你自己的价值是很难提升的。参与10个项目还不如完全参与一个项目。持续做一件事,需要你把每一件事都做的彻底、做好,而不是表面上摸索,只擦皮擦。3.唯一不变的是变化本身。作为程序员,我们应该如何应对这些变化呢?我想说,你很难改变你所处的环境,或者阻止那些变化的大趋势。你所能做的就是培养你不断学习的能力。4、你的名声很重要除了常说的诚实守信、吃苦耐劳等,还有一点尤为重要,那就是严谨。因为它往往是判断一个程序员是否具有优秀潜力的重要因素。严谨的程序员会仔细理解分配给他们的任务,并仔细检查他们的输出。这些都可以大大降低工作中出错的概率,给团队或者公司其他人留下良好的印象。5、理解沟通的意义当我们对问题没有深刻的理解时,我们很难写出正确的程序,所以我们需要虚心向用户请教,真正理解他们要解决的问题。6.你的右脑将是你成功的关键。说到那些在我们眼中非常成功的科技巨头和IT高管,他们会出乎意料地把一些非技术能力作为他们成功的关键。比如写文档或者做PPT的能力,说话的能力,说服别人的能力等等。我不完全同意最好的程序员不写代码的观点,但我相信你的右脑将是你成功的关键。7、不要说简单不可能。年轻的程序员不要轻易做出那些过于绝对的判断。他们应该尽可能地用科学的方法进行分析和论证,然后用一种不易被误解的方式进行有效的表达。这样,你的观点才能让所有人信服。8.你不应该总是一个人如果你真的想做一些有影响力的事情,一个人很难做到。你需要与团队中不同角色的人合作。有时候你需要说服别人,有时候你也会被别人说服。9.让你的能力显眼那些优秀的程序员无时无刻不在展示自己的能力,从游刃有余地解决技术问题,到在会议上提出一致通过的解决方案,再到他们写出的优雅完整的代码。都让他们看起来与众不同,仿佛天生就是优秀的程序员。但我想说,他们其实都是努力过的人,用对过方法的人。一个程序员的能力来源于大量的编码实践,以及不断学习的能力和勤于思考的习惯。凡是自作聪明,自作聪明,投机取巧的人,在明眼人的眼里,只会是一个仿制品,显得那么渺小。每个程序员都应该知道的一件事。我遇到过一些业内IT高管和技术专家。私下聊起自己是如何变得如此优秀的时候,大部分人都会自嘲但又略带得意。口气诉说着他们独有的秘密。我的文档写得非常好。我很能说会道,总是能说服别人。我的PPT非常好,是公司里最好的PPT之一。我写了几篇流行的技术文章。我热爱开源文化,在社区中广为人知。……我发现,这些普通人眼中的大神,很少提及自己的技术有多好,反而更多的功劳归功于看似与技术无关的能力。不要误以为他们只是一群华而不实的小人,靠着一些诡计往上爬。一点也不,我可以向你保证,他们中的每一个人在技术上也非常胜任,并且在作为程序员或其他技术角色的工作中表现出色。但为什么在他们眼里,这些还不足以让他们达到现在的高度,而那些写文件、做PPT、演讲等不起眼的本事,却让他们在一场又一场的比赛中胜出,成为我们中的佼佼者呢?其实在我看来,这些所谓的秘籍,都可以归结为一种能力,就是自我营销。程序员如果能及早认识到自我营销的重要性,并有意识地锻炼和使用这种能力,对自己的职业生涯大有裨益。那么对于程序员来说,提升自我营销能力的途径有哪些呢?这是我的一些建议。1.阅读与技术无关的书籍。我建议只买一些经典的技术书籍帮你打好基础,然后再从网上学习新的东西。我特别鼓励大家阅读与技术无关的书籍。程序员不擅长自我营销。其中一个重要原因是他们掌握的知识体系过于单一,很难跳出技术范畴去与人交流,引起他人的兴趣和认可。历史、经济、人文、艺术什么书都可以看。它们可以帮助你丰富你的知识和思想,使你更加全面和完整,这反过来又可以帮助你建立信心。2.会写文档文档可能是你写完代码后最好的展示给你看的机会。当代码完成它的功能时,很少有人会再看一遍,除非它是错误的。但是文档被阅读的概率要大得多。从一篇文档中,我们可以看出作者的很多方面,思考是否周到,逻辑是否强,设计是否优秀等等。可以说文档的好坏是衡量一个程序员好坏的重要标准之一。3、学会包装说到包装,人们往往会有一种不好的感觉,将其与假冒伪劣的东西联系在一起。其实我说的包装应该包含两层意思:知道什么是美(excellent)。精心制作。作者举了一个例子,一位普华永道的高级管理人员通过一份非常精美的114页PPT赢得了保监会关于偿付能力改革的会议。在日常工作中,经常发现身边的程序员很难写出漂亮、工整的文档或PPT。这方面与我们从小缺乏美感教育有关,更重要的是他们并没有真正用心去制作。其实我们可以通过找一些优秀的文档示例来学习如何制作优秀的文档,其实并不难。只知道什么是好的,然后让它和你写代码一样难。4、想多说话一直是很多程序员的硬伤。当然,这也是我的缺点。根据我的经验,您需要跨越两个障碍:大声说出来。让你说的和你想的相符。5.建立社交关系。一个完全封闭的程序员一定不是一个好的程序员。优秀的程序员往往乐于并善于与人交流,分享自己的经验和想法,并在交流中收获有用的东西。这样做有很多好处:通过这些社交活动,可以进一步提炼你的想法和技能。它可以让你建立权威,你的技术博客,在一些社区回答技术问题,你的开源项目会让人们认为你是这个领域的专家。同样,你也可以得到别人的帮助来解决困难的问题。您可以找到与您有相同兴趣的人,一起做有趣的事情。你的社交网络会扩大,这意味着你有更多的机会。程序员的烦恼1.该不该留在一线城市?如果一切都能给你的生活赋予意义,让你感觉更快乐,那么你应该更坚定地留下来,而不是离开。2、小公司做的事情太复杂了。他们常说“家务不复杂”。虽然他们看起来纠结于很多非技术性的事情,但是对你来说也是有意义的。你可能会获得沟通能力、管理能力、建立更广泛的人脉、在公司内部建立影响力等。3.创业公司的危机感无论成功与否,一个完整的创业公司都会让你受益匪浅很多。你会学到很多在大公司当螺丝钉学不到的东西。虽然在这个过程中,你肯定会感到沮丧和焦虑,但坚持下去或许就会看到曙光。还有一点我想说的是,创业的过程会让你获得不一样的视角。创业大多在一个新的领域进行。你不仅要关注公司使用的技术,还需要通过对这个新领域的深入了解,获得不一样的视角和眼光,因为它们也将在未来。成为您的核心竞争力。4.技术单一,想多学点我总是鼓励身边的程序员去涉猎不同的技术甚至领域,但前提是你必须先精通某项技术。技术需要深耕。深入学习一门主流开发技术,不断提升编程思维,远比尝遍众多技术栈要好得多。所以,如果你的精力有限,不妨先学一门技术,你会发现后面学其他的技术会容易很多,因为它们往往是相通的。5、我想自学编程,应该学什么语言?如果你实在是没什么想法,只是希望所学的编程语言能有用,我的建议是JavaScript,因为它似乎是未来唯一可能被用在所有领域的编程语言,从我们的手机设备,它几乎无处不在,从传统的网络应用程序到服务器端开发甚至硬件编程。6、大专毕业能进大公司吗?全日制本科学历几乎成为所有内部职位的最低要求,所以学历的缺失确实会成为你进入大公司的障碍。当然也有例外:通过内部员工推荐。通过外包公司进入后,再转给内部员工。努力成为某一领域的专家,或建立个人影响力。如果你还是一名大学生,那么希望你不要过早地焦虑,试着问问自己,除了学历之外,还有什么能让你脱颖而出?有自己的个人项目吗?为一个著名的开源项目贡献了代码,或者只是贡献了文档?你有没有通过写博客阐述自己独特的观点并得到大家的认可?你在哪家公司实习?这些很可能会引起用人单位的注意,弥补你学历的不足。给年轻程序员的职业建议1.早点决定你想做什么。尽早确定你想做什么——你的职业目标——意味着你比其他人有更多的时间来做这件事。2、一万小时定律3、提高工作效率。有以下两点建议:加快工作节奏,使用工具完成工作4.简单的沟通方式5.持续学习6.学会控制情绪7.和最优秀的人在一起8.善于总结和表达9.掌握英语10.睡眠让你更强壮