您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

程序员如何利用周末提升自己? [源码交易]

  • 时间:2022-09-08 01:24 编辑: 来源: 阅读:295
  • 扫一扫,手机访问
摘要:程序员如何利用周末提升自己? [源码交易]
要成为一名优秀的程序员,必须经过一段时间的学习和摸索,而提升自己,必须从两个方面入手:技术上的硬实力和沟通上的软实力。 以下内容可以帮助你尽快找到未来的方向——一、程序员成长的必要条件。毕竟,程序员的工作就是编写一个符合需求的程序。做好这份工作,就发展得好。所以程序员的成长都是围绕着“编写一个符合需求的程序”来进行的。 第一,程序员要明白,工作的最终目的是满足需求。 许多程序员在这篇文章中走错了方向。他们错误地认为程序员的价值在于把技术玩得很出色。所以他们脑子里想的都是如何应用各种时髦、炫酷、牛逼的技术,完全忽略了他们工作最根本的目的是满足需求。 可惜这种程序员还是少数,而且因为这种想法表面上看起来挺混乱的,所以很有市场。我甚至听到一个初创公司的CTO说:“如果程序员不用最新最先进的技术,他们为什么要这么做?他们在工作中使用所有最新的时尚技术。不出意外,这家创业公司倒闭了。 如果你能意识到程序员的工作就是满足需求,你就已经比大多数二流程序员优秀了,因为你的出发点会不一样。 在做技术选择的时候,你会更有可能做出正确的选择。 有些程序员会说,需求满足不满足,那是公司的事。不管怎样,我只需要学习最新最酷的技术。如果公司破产了,我还可以再找一份工作。 且不说这种想法自私,但从“学”的角度来看也是错误的 接下来我想说说下一个程序员成长的必要条件——学习能力。 第二,程序员长大后一定要有学习的能力。 每一个程序员都知道,这个行业有海量的知识,更不用说层出不穷的编程语言和框架了。只是各种概念和潮流铺天盖地。 这个行业的特点是技术发展很快,几年后会有一个革命性的变化。几年前,微服务只是最佳实践的候选,现在是开发大型后台应用的标准配置;几年前,整个行业都在谈论大数据。近年来,整个行业都在谈论人工智能...快速发展的行业带来了快速增长的知识和技术。 那么,我们是不是应该表现出自己的学习能力,把这些都学会呢?当然不是!学习能力很重要的一部分就是知道“什么需要学,什么不需要学”。不做区分,学什么时髦,学别人提倡的,就是贪多嚼不烂。最后,一切都会松懈。 为什么我一再强调程序员首先要明确自己的领域方向,确定自己将在什么样的公司工作?因为这些选择会决定什么样的知识对你最有价值。 假设你确定自己的发展方向是手机开发,服务公司定位是初创公司,那么,当一个新的手机操作系统出现的时候,你就要多加关注。相对来说,你不需要花太多时间去理解一个新的机器学习算法;一个快速发展的模式出现,你值得关注。相对来说,一个超级重的软件管理流程,你知道有这么个东西就够了。 把学习精力集中在与自己方向相关的领域,可以获得最佳的投入产出比。当然,这并不意味着你不关心任何与你领域无关的事情。从扩大知识面的角度来说,你需要了解这些知识点,但在有限的时间内,你不应该被这些东西分心。 面对新技术变革的挑战,与其抢占自己的专属领域,不如折断一根手指,先做一个领域的专家。 目前在做前台开发。如果你现在想学习前台开发技术,并且遇到任何关于学习方法、学习路线、学习效率等方面的问题。入门过程中可以申请加入我的前台学习交流裙:前:851中:231末:348。 有少量初学者裙档正在自学前台。还有少量我在做前台技术期间整理的前台学习手册、前台面试问题、前台开发工具、PDF文档、书籍和教程。如果需要,可以自己下载。 第三,程序员开发要和团队开发挂钩。 在这个行业,没有人能单枪匹马。你可能认为你可以自己完成一个项目,但是你可以闭上眼睛想一想。如果你的工作缺少几个同事的支持,你真的能完成吗?如果产品经理没有给你明确的要求,你就不能开始编程吗?如果没有项目经理在各个部门之间协调进度,能不能得不到相应部门的支持?如果没有测试人员来测试你,你是不是没有信心让程序上线?如果没有其他程序员给你做代码审查,你没有发现任何隐藏的代码缺陷吗?如果你对以上所有问题都不认同,认为自己什么都能做,那你真的没必要看这本书。恭喜你,你可以成为一个非常独立的自由职业者。 但是,大多数程序员应该正视这样一个事实,你不是在孤军奋战,你是在团队中工作。 所以,我们不仅要关注自己的成长,更要关注团队的成长。团队出现问题的时候,要想办法处理。当队友遇到困难时,我们应该帮助他们处理。 如果你的团队发展不好,即使你有孙悟空的魔力,也无法按时推出符合需求的产品。如果团队发展的好,哪怕你只是像沙僧一样跟着佛经团队走,最后也能取得正果。 综上所述,程序员成长的必备条件是明确目的是提供符合需求的程序。所以要明白满足需求才是最重要的,要充分发挥自己的学习能力,把自身发展和团队发展联系起来。 我们已经详细描述了程序员的成长,然而,这是建立在工作时间在3年以内的前提下。接下来,我们要从长计议,详细说明程序员如何在更长的时间内规划自己的职业生涯。 二、如何确定自己的成长目标?为了达到成长的目的,有必要进行有针对性的训练。首先要确定自己的目标。 请先让自己回答以下问题:五年后,我想对这个领域了解多少?10%、30%、50%还是100%?我希望五年后能在这个领域影响多少人?3人、10人、100人还是1000人?这时候可能有人会看不下去了,会喊“不要这样,你就告诉我怎么在五年内让我年薪达到XX万元,其他的都不要说了。” 抱歉,作者只知道提升自己的能力和影响力,不能给你工资。如何做到这些年薪,是在提升他的能力和影响力之后才有可能的。没有他能力和影响力的提升,纯粹的幻想是没有意义的。 如上所述,重点是对领域知识的理解,代表深度,你能影响多少人,代表广度。 只有在深度和广度上投入,才能在事业上顺利发展。 我们不能把握世界,但至少我们可以把握自己,通过提升自己的能力来实现目标。人的能力可以分为“硬技能”和“软技能”。 “硬技能”是指那些可以量化衡量的外在技能。我们在学校学的大部分课程都是教硬技能的,因为这些技能是可以用考试成绩来衡量的。 对于程序员来说,编程能力是最重要的硬技能。一个一天就能开发出一个程序模块的程序员,胜过一个需要一周才能开发出同样模块的程序员的硬技能。可见,硬技能是很容易量化和衡量的。 “软技能”是指那些内在的、情绪化的、难以量化的技能,如专业素养、人际交往能力、领导能力和管理能力等。我们无法对一个人的软技能进行评级,因为没有这种量化的衡量方法。 接下来,我们将讨论如何提高“硬技能”和“软技能”。 三、如何培养自己的硬技能?硬技能,对于程序员来说,就是创造与软件相关的专业知识和技能,并培养这些知识。方法其实很简单。无论如何提高任何硬技能,请遵循这三个步骤:第一步,确定目标,明确衡量自己能力的方法;第二步,学习相应的知识和技能;第三步:给自己一个测试,看看自己是否能达到目标。如果是这样,你就完了。如果没有,请返回步骤1并继续。 因为硬技能是可以衡量的,每个人都可以用这个套路来提升自己。 比如你想学习Python语言,你首先确定你这个月的目标是能够独立编写一个游戏,然后你就开始学习。每个星期,你都尝试用Python写一个小游戏。如果能完成,说明你的目标达到了,否则,需要继续学习。 提高硬技能的方法看似简单,做起来却并不容易。这个问题我在知乎上被问过无数次:“我看了XXX这本书,看到X章就看不懂了!”每次我试图去理解这些程序员的难处,最终发现问题的根源是基础差。 这个IT行业的每个知识点都是建立在很多其他知识点的基础上的。比如不知道时间复杂度,就不会知道数据库为什么需要索引。要知道时间复杂度,必须知道算法和数据结构基础...以此类推,实践中一个小小的功能点,需要你了解很多基础知识。 要想获得扎实的基础,最直接的就是接受过计算机专业的本科教育。 很多网上朋友都问过我,没上过计算机本科怎么办?对不起,我真的没有什么好的方法。如果我能有捷径取代本科计算机教育,那我就牛逼了。如果本科计算机教育能这么容易被取代,那就不值钱了吧?对于想从事这个行业的孩子来说,不要被一时的快感或者利益所蒙蔽。即使高中或初中毕业也不要参加工作。磨刀不误砍柴工。请一定要至少考一个计算机专业的本科,这样才能有扎实的基础。 初中或高中学历的人不能做程序员吗?当然不会。事实上,我见过一小部分高中毕业的程序员。他们中的一些人很努力,工作得很好。但是他们经历的艰辛是别人无法想象的,但是他们发展的天花板是大家有目共睹的。 对于那些失去了接受计算机专业本科教育机会的朋友们,不要灰心。补救方法也很简单。你可以找任何你喜欢的计算机学院,找出他们的专业课程,然后根据他们的课程进行学习。这当然不如接受全日制教育,但却是最好的补救办法。 我说过,没有《九阴真镜》《九阳真镜》这样的秘籍,看完就能打通任督二脉。如果非要说有,就是计算机本科的教材,没有其他捷径。 有了扎实的计算机基础之后,就要多加练习。这个行业是以实践为基础的,优秀的程序员只能通过实践来培养。 简单来说,就是少说废话,对实际创造价值的贡献有多大。 提问,大家都会;处理问题,谁也做不到。 据我观察,职业发展好的程序员都有一个特点,就是善于解决问题,而不是那些把问题扔出去让别人处理的人。 让我给你举一个非常具体的例子。团队里的代码质量很差,每三天就有bug上线,这让开发团队一方面有开发新功能的压力,另一方面还要花时间修复线上bug。这个时候团队肯定会抱怨。 这时候只会问问题的人只会抱怨:“项目一塌糊涂,不知道怎么办。” ”“大家都没有积极性,所以一定要这样下去。 “越改bug越不知道为什么要改。” 当然,好的问题是问题的一半,但如果你只是单纯的提问,甚至是以否定的态度提问,那只会徒增困惑。 能提出解决方案的人会说,“我们把团队分成两组,一组专注于开发新功能,另一组专注于修复线上的bug。 “我们代码分支管理可以介入gitflow的流程,避免代码涨价的混乱。 “我们需要研究和分析重复错误的类别,并针对最常见的类别进行改进。 “以上“处理问题的方法”只是几个例子,重点是这些方法是针对实际问题的对策,可以帮助团队渡过难关。 能够提出解决方案并付诸实施,不仅是对个人能力的锻炼,更重要的是真正处理问题的人能够赢得组织的青睐,获得更多的晋升机会。 确定了学习方法和态度之后,“硬技能”的培养就是花时间反复训练,没有捷径可走。下面介绍几个提高硬技能的直接方法:1。当你加入一个新项目时,从修复一个bug开始工作,因为你的同事可能没有时间帮助你通过代码,你找到的文档经常是过时的或错误的,修复一个bug是让你自己熟悉它的最快方法。 2.当你学习一门新的语言时,用这门语言做一个你每天都会用到的程序,比如“待办事项”或者弹球游戏。写这样一个程序的好处是需求非常明确。既然你见过无数次类似的功能,那就不用纠结于需求(虽然实际工作中还是要纠结),可以无忧应用。 3.如果有时间,把你写的程序都重写一遍,你会发现第二次写的会和第一次有很大的不同。越是不一样,越是在这期间进步很大。 4.每天花一两个小时学习工作之外的技能。如果因为工作压力抽不出这个时间,那就每个周末抽出几个小时来学习。 5.不要浪费时间和别人争论语言或说话人框架的优劣。把争论的时间用在实际使用编程上,你不会后悔的。 6.无论如何,给自己定一个目标,每个月不能少于1000行代码。这是关于新写的代码,不是修改别人的代码。 7.当你积累了多年的工作经验,对某个领域非常熟悉的时候,可以考虑扩大自己的广度,成为其他领域的专家。这是你扩大影响力的唯一途径。 四。如何培养自己的软技能?相比硬技能,软技能在程序员职业发展中的作用更大。为什么这么说?由于硬技能的学习资料过于饱和,各种语言、工具、框架的细节可以说是冗长的重复。只要你有足够的时间和耐心,学好一门硬技能是没有问题的;与硬技能相反,软技能的培养是一个非常冷门的领域,更多的是依靠程序员在工作和生活中的理解。在没有任何指令的情况下,偶尔能开悟并掌握软技能的程序员会更加厉害。 更重要的是,这个行业需要的是人与人之间的合作。一个人的硬技能只能做好一个人的工作,但是解决人际关系的软技能可以让一个团队齐心协力,达到1+1 >;2的效果 我遇到过很多程序员,他们认为技术就是一切,有技术就是牛,忽视了软技能的培养,很大程度上影响了他们的成长,体现在这几个方面:只会做自己的工作,不会教别人做自己的工作,最后累死了;花了很大力气做出的结果,却无法表达出来,团队和领导也看不出这个结果有多重要;唯技术至上,看不起刚入门技术的同事,甚至出口不畅,产生矛盾。 这样的例子数不胜数。相反,即使软技能优秀的程序员在技术上不是最强的,职业发展也会一帆风顺。真的,说到底,人与人之间的差距更多的是软技能的差距。 软技能是一个模糊的范围,可以包括但不限于以下能力:1。表达能力;2.自我营销能力;3.与他人沟通的能力;4.说服他人的能力;5.组织能力;6.训练指导他人的能力;......如果要总结以上“软技能”的共同点,那就是这些技能是在和“人”打交道,而不是和计算机、逻辑、程序打交道。所以“软技能”的核心是与人打交道的能力。 说到与人打交道,就不得不提到情商这个概念。 情商高的人软技能高吗?其实一个人可能情商不高,但是一演讲就紧张。情商更多的是一个人的生活态度,并不能完全代表技能。和人打交道有几个技巧,比如说话技巧,还是需要训练才能获得的。 所以情商高只是基础,软技能还是需要训练的。 程序员这个职业,因为长时间和电脑打交道,而且和电脑打交道还能拿工资,所以经常给人一种错觉,认为培养和人打交道的能力是没有必要的。 其实软件开发就是与人打交道的艺术,更何况产品经理、项目经理、程序员之间的沟通都是与人打交道,程序员之间的沟通也是与人打交道。 我之前说过,要成为更高层次的程序员,你的“影响力”会扩大,你影响的是人,所以与人打交道的能力是必修课。 在这里,我们不需要把“软技能”神秘化。我们可以识别程序员需要提高的软技能。请尽量做到以下几点。 1.每个知识点都可以让不懂计算机的人来讲解。你不确定你需要让对方和你一样精通,但是你可以用比喻的方式让对方理解。 2.你可以通过演讲来传播你的想法。为什么这么做,怎么做?你可以通过半小时到一小时的演讲说清楚。 3.你可以让团队成员像春风一样和你交流,可以有不同意见,但不要红着脸吵架。 在与人交往的过程中,请记住卡内基教给我们的话:“每个人都想成为重要的人。” 记住这一点,让每个人都觉得自己很重要,这样你才能和每个人都有愉快的交流。 如果做到以上三点,你的软技能已经强于大部分程序员,足以让你成为一个高级以上的程序员。 我在微软工作的时候,曾经有一个工号为100的资深员工来给我们做培训,培训内容涵盖了硬技能和软技能。 关于硬技能,参加培训的员工都没有怀疑,但当他详细介绍软技能培训时,大家都觉得难以把握,于是我问了这位学长一个很具体的问题:“如果我只能做一件事来提高软技能,那应该是什么?””学长说,“你觉得你日常能遇到的人里,谁的软技能最高?"我想了一下,说:"让我们做我们部门的建筑师吧。 ”学长又问我,“为什么你觉得他的软技能最高?”我说,“因为他情商高,谈吐风趣,又能理清复杂痛苦的事情,大家都说跟他说话总是很愉快。 然后学长给出了建议:“那你可以约这个建筑师两个月后进行一对一的会面。一个人两个月后肯定会接受见面,然后你可以通过接触了解他的做事方式。 后来我就按照这一个的方式做了,发现这招真的不错。当我有了明确的例子可以学习的时候,那些看似虚无缥缈的软技能就变得非常具体,简单易学。 由此可见,虽然“软技能”是软的,难以量化,但对于个人来说,也有一种可以“量化”的训练方法。这个方法也很简单:在你的接触范围内找“软技能”的例子,然后努力让自己喜欢上他。 这个例子可能是一个口才很好的领导,也可能是一个情商超高的项目经理。重要的是你认可他是你几年后想达到的水平。你可以多和他交流,看看他平时看什么书,平时有什么编程习惯,平时怎么和人交流,平时怎么解决问题。哪怕你只学了他45%的技巧,你很快就会发现你变了一个人。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部