当前位置:首页>幼教>正文

优秀程序员具备的七大特征,你具备几条 幼师具备的七大能力是什么

2023-07-14 03:55:31 互联网 未知 幼教

优秀程序员具备的七大特征,你具备几条 幼师具备的七大能力是什么

优秀程序员具备的七大特征,你具备几条

**程序员这个行业,是一个区隔度特别高的行业。**不少人短短几年就可以成长为高级工程师、资深架构师、首席架构师,而另外一部分人很可能工作10年还是初中级工程师。

**程序员行业还有一个特点,优秀程序员的产出是普通程序员的好多倍,甚至是10倍!**这是因为编程不是一门「线性科学」,而是一门「非线性科学」。

「线性科学」,比如跑步的速度就是,世界冠军的速度也不可能是普通人的10倍。「非线性科学」是指很多种因素交汇在一起,极大增加了系统的复杂度。

程序设计和实现不是一种线性能力,像经验、编码能力、工程能力、知识、学习新知识的能力、对无用部分的识别等这些就不仅仅是线性优势,汇聚到一起会对编程产生倍增级效应。

优秀的程序员能达到百万年薪,而入门级或者初中级程序员可能只能拿10万年薪。输出的10倍差距带来的是收入上的10倍差距!

很多时候,遇见复杂系统问题,派多少个初中级工程师都于事无补,而一个资深架构师就可以轻松搞定。

过去11年的职场生涯,我带过过百名程序员,见过非常优秀的也见过平庸的。以下是我认为程序员和普通程序员拉开巨大差距的7个关键点:

—1—

裸编程能力

裸编程能力:处理程序实际实现部分的子任务,实现函数或者算法之类的能力。听起来很简单对吧?实际上很多程序员缺失这样的能力。

不知道大家有没有见过「复制粘贴工程师」,review他们的代码甚至会发现一些网上的注释,又或者其他人的编写错误。

并不是所有程序员都具备利用必备的基本编程结构有效的实现某个产品或者某个模块。

不少工作多年的程序员甚至连一个简单算法排序都没有考虑,当然这并不影响普通工作的输出,但在面临调优或者攻坚,这类型的程序员的表现甚至比刚毕业的优秀程序员还要糟糕。

在工作中遇到过一次将代码时间复杂度降低几个数量级的情况,在压测模拟过万人同时使用的情况下,没优化前服务端程序直接卡死,优化后能流畅的运行。

在这个复盘过程中,我发现实现这个功能的程序员缺乏基础的算法基础。for循环的嵌套,简直是触目惊心。

BAT大厂招聘高级工程师,为什么总是要求手写各种算法,恐怕也是基于考察裸编程能力。

—2—

调试能力

调试能力某种程度上比编码能力更重要。

查找和解决BUG会占用程序员大量的时间。查找BUG产生的根源不是一件简单的事情,需要整体的分析和经验的沉淀,同时还需要对各种调试工具熟练应用。

不少程序员,解决完一个BUG却导致了更多的隐患,没有真正把BUG产生的原因找到,只治标不治本。对于程序员来说,掌握在合理的步骤内修复BUG,以极简的方式编写较少BUG的代码的能力,就能显著提升效率。

另外在团队中担任骨干的往往都是调试能力极强的程序员,在其他成员遇到困境之时,快速定位解决问题。能否运用调试技能快速解决问题,是衡量一个程序员水平高低的重要标准。

—3—

追求简约

代码的注释是否恰到好处、函数模块和类的结构是否能让其他人直接秒懂、架构的设计是否足够清晰等等,都属于程序员追求简约的范畴。

有一种炫技程序员或者架构师,喜欢简单事情往复杂了做。明明几个类能搞定的,弄出很多中间类,明明三层架构就解决的问题,生生弄出五层。简约是成败之间最为明显的分界点,事实上能做到简约的人,恰恰是深度理解了系统的复杂性。就好比微信是一个极度简约的产品,能做到这么简约恰恰是因为张小龙深度理解了通信和社交产品的复杂度。

一个产品功能,有人用了500行实现,你写了几千行。多出来的代码有价值吗?不仅没有价值,还会对未来接手代码的人有很大的困扰。lessismore,简单就是美,这话说的真没错。看看Google、Facebook等公司的源码,找不到太多多余的代码和结构。无论是代码层面、类层面还是架构层面,都做到了恰如其分、恰到好处。

不要多写一行无用的代码!

—4—

准确预测技术工期

老板想了个idea授意产品经理估工期。产品经理原型都没画出来,只有个大概想法,就找技术排工期。

这个时候,技术的内心大概多了几道菜式:清蒸产品经理、红烧产品总监、油炸CTO。

其实准确预测技术工期是程序员一项非常重要的能力。

为什么这么说?只有具备这项能力,才能让开发工作游刃有余、可进可退。事实上锻炼这种能力也并不困难,拿移动端开发来说,一个idea大概对应多少个页面多少个逻辑类,是能够估算出来的,以此为基础完全可以估出大概时间。更不用说产品文档出来之后的预测,会更为精准。

那么预测技术工期的意义在哪呢?首先在没有出文档之前的估计,可以作为给老板的重要判断武器。做任何功能一定会投入研发力量,而往往研发力量是最宝贵的,如果在idea出来之后就能大概知道工期,对于做什么不做什么的判断,意义重大。

产品文档出来之后的精确工期呢?对控制风险和进度把控非常有帮助,这个时候的精确排期其实对风险点的估计、资源协调的能力都有很高要求。准确预测的过程其实就是风险预判的过程。

—5—

理解底层系统原理

处理复杂任务或解决复杂BUG时,具备深厚的底层系统知识非常重要。

比如数据结构、网络协议、操作系统相关知识,等等。程序的很多问题都是源于对计算机工作原理的误解,即使是使用高级语言开发的程序也一样。另外,一些更偏应用层的架构或框架,基础一定是更底层的系统。

了解了底层原理,我们才能看穿眼花缭乱的技术背后的东西,不被层出不穷的新技术所累。

比如Docker技术兴起,改变了CI/CD的方式,推动了云原生技术的发展。那么Docker到底是什么东西呢,其底层无外乎:CGroups进行资源限制、Namespace对进程视图修改、rootfs为容器进程提供隔离后执行环境的文件系统。

了解了Docker的底层原理,才能在实际工作中更好的驾驭Docker。

再举个应用场景的例子:一提到分布式锁问题,大多数同学想到的方案是基于Redis的Master-Slave模式来实现。这个实现方案行不行?分布式锁本质是一个CP需求,基于Redis的实现是一个AP需求,乍一看基于Redis的实现是无法满足的。

脱离业务场景来谈架构都是耍流氓。从技术战略的需求层面来看,如果分布式锁在极端情况下获取锁的不一致,社交业务场景能够接受,那么基于Redis的实现是完全可行的。

**如果业务是交易场景,分布式锁在极端情况下获取锁的不一致性无法接受,**那么基于Redis的实现方案是不可行的。在锁强一致性的场景下,需要采取基于CP模型的etcd等方案来实现。

做出以上判断,需要深度理解底层系统原理。缺乏了这种理解,无法做出正确的架构抉择,也自然会对工作造成不利影响。

—6—

严格把控关键设计

无论是大的系统还是小的模块,一定都有最关键的功能。要在最关键功能上投入大量设计时间,才能规避开发过程中的各种坑。

程序员非常不情愿看到的一种情况是,需要在一些无关紧要的功能上浪费大量的时间,但你又不得不去将这个无关紧要的功能实现,因为它牵扯着这个项目的主要功能。

**这种时候,就需要反思,在顶层设计的时候是否考虑周全。**详细而缜密的顶层设计能够减少上述情况的发生,降低模块间的耦合性。

**必须意识到每一个细小的模块都有可能成为项目的瓶颈。**对于项目而言,最终的目标是合理的时间做最大的产出,实施重点就应该放在项目最主要的模块上。

**拿设计IM功能来说,一个IM系统最重要的核心模块,一定是通信部分。**将通信部分的各种设计搞定,其他锦上添花的方面都可以后续慢慢补充,例如客户端交互、好友关系等等。

—7—

拒绝完美主义

**完美主义包含两种情况,一种是追求极致性能的工程师文化、还有一种是个人性格使然。**无论哪一种,过分追求完美都会对业务交付产生影响。完美主义会影响程序员的心态,过于担心外部评价或过于追求内心的安全,反而会导致设计上的过度和偏差。

程序员真正产生价值一定需要和业务结合,业务交付的及时性、健壮性、简洁性、可持续性一定是首先需要考量的事情。一定不能出现偏袒设计而牺牲生产力的情况。

不少创业公司上来就谈中台战略,并花大量研发力量去实践,最终中台没做好基础的业务保障也出问题了。

在我看来,这也是追求完美主义的一种体现,诚然有一个类似阿里那样的能给各业务线赋能的中台是一个美好的愿望,但很多时候连业务方向都要多变,追求这种赋能无异于空中楼阁。

前几天我的读者群又有创业者在谈AI中台,我只想说既然是创业,咱能不能先MVP?等业务用户量更大了,再来追求更漂亮的实现?

写在最后

以上关于优秀程序员的7个能力,就说完了。其实还有一些通用的能力,比如高效学习能力、耐力、注意力等等,这些也是拉开程序员之间差距的重要因素。

今天还有个感悟:世界上的事情分两种,一种是有边界确定性强的事情:比如运动就会瘦、早起早睡会更健康、勤奋努力会具备架构思维。

另一种是无边界不确定的事情:比如练就6块腹肌、长寿100岁、成为首席架构师。如果我们连有边界确定性强的事情都搞不定还懊悔,那不要懊悔了,是因为我们压根没有真正渴望。

希望我身边的每个有足够渴望的程序员都能成为优秀的程序员。

另外,程序员多刷算法题好处多多,算法厉害的人进大厂非常容易。

祝大家前程似锦,在编码的道路上一马平川。

出版新时代,优秀编辑所应具备的七大业务能力

本文转自:中华读书报

■朱卫净

█对于编辑来说,作者资源是最重要的资源,是编辑工作的制胜法宝。一般说来,大社、名社的编辑在获得作者资源、作品资源方面具有优势,毕竟,大社、名社的品牌、资金、运作能力对于编辑赢得作者的信任和版权代理机构的青睐会形成强力的支撑,但中小出版机构的编辑也有获得优质作者资源、优质作品版权的机会,这主要看编辑的诚意表达力、选题判断力、策划能力、运作能力和信息获取能力了。在出版实践中,我们可以看到很多小社的编辑撬动了大作者、拿走了大选题的例子。

出版业是内容产业,这就从根本上决定了作为内容生产主要执行者的编辑,是出版业从业者中最重要的部分。编辑工作的成功与否,决定了一个出版机构的兴衰。“内容为王”作为出版业的铁律,无论出版业因时代的变迁发生过怎样的变化,都始终未曾改变,新时代也依然如此。新时代,出版业需要什么样的编辑,从事编辑工作的人怎样才能成为新时代出版工作需要的好编辑?这是需要我们认真思考并用实际行动予以回答的问题。

出版导向为前提

要在新时代做好编辑工作,前提是政治立场坚定,出版导向正确。党中央对意识形态工作高度重视,从事意识形态工作的人就必须把党中央的指示和要求落实到具体的工作中。要做到政治立场坚定,出版导向正确,就必须深入学习、理解马克思主义的立场、观点、方法,并在实际工作中加以践行;就必须对“五史”有深入了解并能运用到编辑工作实践中去;就必须对当下的出版政策、法规、条例有清晰的了解并在具体工作中加以落实;就必须对党的民族、宗教政策、港澳台政策等有充分的了解,并体现于具体的编辑工作。政治立场坚定、出版导向正确,是新时代做好编辑出版工作的前提。

七大业务能力

新时代图书出版对编辑的业务能力的要求也越来越高,并越来越全面。之前做得很好的编辑,如果不能全面地丰富自己,提高自己,在新时代的出版业中,也很难取得成功。

其一,新时代的编辑必须有良好的专业背景。所谓专业主要指两个方面的专业,一是编辑所从事的编辑领域所涉及到的专业,二是出版业务工作知识和经验的积累。这里重点说的是编辑所从事的出版领域所涉及的专业。取得了令人瞩目的成就的编辑都有很好的专业背景。他们甚至是那些领域中有影响力的专家。比如周振甫先生,他除了是个大编辑,还是著名的中国古典文学学者,在古典诗词、文论的整理和研究方面做出了突出贡献。没有很好的专业背景,就无法对所编辑的图书选题的创新性、写作达到的程度做出正确的判断,就难以解决书稿中存在的问题,甚至无法与作者进行业务上的交流,难以得到作者对编者的起码的信任。

为什么今天着重强调编辑的专业背景?实际上还源于出版业这些年的一个明显的变化。这些年,因为读者鉴赏能力的提升、书价大幅上涨等,好书越来越受欢迎。所谓好书,一方面是书的内容好,一方面是编得好。这都要求编辑必须专业,没有很好的专业背景的编辑是很难编出好书的。

现在说起出版,一般而言指教育出版、学术出版、专业出版和大众出版。教育出版、学术出版、专业出版对编辑的专业背景的要求一直很高,似乎大众出版对专业背景的要求不高。其实,这是一个错误的认识。大众出版的专业化是大众出版的高境界,是我们应该追求的境界,谁能做到,谁的品牌就会远播,谁的基业就会常青。大众出版的专业化必须通过专业化、专家型的编辑来实现。未来,即便在大众出版领域,那些啥都懂一点、什么都所知不深的编辑将很难有所作为。

其二,新时代的编辑必须有广泛的作者资源和聚拢优质作者资源、版权资源的能力。对于编辑来说,作者资源,特别是优质作者资源,是最重要的资源,是编辑工作的制胜法宝。做出版,做的就是资源——作者资源、作品资源。一般说来,大社、名社的编辑在获得作者资源、作品资源方面具有优势,毕竟,大社、名社的品牌、资金、运作能力对于编辑赢得作者的信任和版权代理机构的青睐会形成强力的支撑,但中小出版机构的编辑也有获得优质作者资源、优质作品版权的机会,这主要看编辑的诚意表达力、选题判断力、策划能力、运作能力和信息获取能力了。在出版实践中,我们可以看到很多小社的编辑撬动了大作者、拿走了大选题的例子。其实,无论对大、小出版机构的编辑来说,诚意表达力、选题判断力、策划能力、运作能力和信息获取能力都是其获得优质作者资源、优质作品版权的必不可少的几种能力。这些能力弱,即使在大社,也是大社里的小编辑;这些能力强,即使在小社,也是小社里的大编辑。在大社小编辑和小社大编辑之间做选择时,很多作者、版权代理机构会选择小社里的大编辑。当然,如果你是大社里的大编辑,你的优势无疑是最强的。

其三,新时代的编辑必须具有经营意识和经营能力。党和政府对出版业的要求是坚持社会效益第一、社会效益和经济效益相统一。就是说,出版业必须在坚持正确的政治方向和出版导向的前提下,做好经营工作。出版机构对编辑的考核也是双效结合。对于获奖图书,出版机构会给予奖励,对于编辑创造的利润,出版机构将按照一定比例给予提成等奖励。对于大多数没有获奖机会的出版机构来说,机构对编辑的考核,更多的是经济效益。这就要求编辑必须具备经营意识、经营能力。编辑的经营意识和经营能力体现在各个方面。选题签约时,签什么样的起印数是作者和出版机构都能接受的、合理的数量?在起印数和版税率之间做取舍时,给起印数多些,还是给版税率高些,更划算?对于一本畅销书选题,多大的销量是这本书的保本点?在进入生产环节后,选择什么样的包装和材料最合适?一本书的定价策略是什么?首印量做到多少最经济?在营销和销售环节,做不做营销,如何做营销?怎样赢得发行部门对这本书的重视?在渠道策略上你有哪些建议?怎样去做日常的销售跟踪?以上种种与经营密切相关的工作,对于先前的编辑来说,不一定都是他们要关心的,而对于当今的编辑来说,他必须每天面对,要做一个好编辑,在经营上有突出的成绩,他就必须做好这些工作。

其四,新时代的编辑还必须具备为所编辑的图书做产品定位和包装的能力。在做一本书之前,编辑必须明确这本书的读者是谁。在选题申报单读者对象一栏填写“广大读者”的时代已经一去不复返了。编辑对一本书的读者对象必须有清晰、准确的描述。是男是女,多大年龄,读这本书会解决他们的什么问题,编辑必须首先心中有数。在明确了读者对象后,编辑才能够提供有效的价格策略建议、材料使用建议等。当然,这时,编辑还要向书装设计师提供书的设计风格建议,包括内文、封面的设计风格、开本尺寸等。当下,完全任由设计师凭个人喜好做书装的编辑很难说是好编辑,因为他没有为他所编辑的图书负起码的责任。只有编辑最了解什么样的包装才是最适合这本书的。在参与书的包装的过程中,编辑必须牢牢把握一个原则,就是合适。粗鄙当然不行,但一味豪华包装更不可取。完全没有工艺可能不行,但靠工艺来弥补设计不足的做法更应遭到唾弃。要想在设计师的包装工作中有发言权,编辑就必须有足够的鉴赏力,要懂得欣赏设计师的可贵的创新创造,对重复、乏味、缺少灵感的设计,要有指出其不足的能力。

其五,新时代的编辑必须熟悉市场,特别是熟悉所编图书的市场。每一本书都是同类书中的一种。每种类型书都有消长沉浮的变化。编辑在编一本书之前,首先必须了解这类书的消长沉浮的变化状况。在有了开卷等数据平台支撑后,了解类型书的市场变化情况,就变得更加简便易行。在了解了类型书的市场状况之后,在给予所编图书在类型书中的定位之后,编辑就可以大致判断所编图书未来的市场可能性了。这让编辑在判断选题操作的可行性、签约条件、确定首印数、如何定价等方面更容易克服盲目性、冒险性。当然,对一个成熟的编辑来说,仅凭数据来判断,还不够,在做出更有效的判断之前,还应该融入经验和对读者阅读心理变化的评估。所有的数据指向的都是历史,而对读者阅读心理变化的评估是可以通向未来的,这样的评估对新的类型书的选择尤其重要。

其六,新时代的编辑必须既有营销愿望,又有营销能力。疫情开始之后,出版业一个明显的变化是,无营销,不销售。另一个明显的变化是,编辑正在成为营销的主力军。让编辑将全部精力或大部分精力都投放到营销活动中去,这显然不是科学的作法,编辑的主要精力还是应该放在选题策划、组稿、书稿加工等编辑活动中。但这并不意味着编辑可以远离营销。现今的编辑想要做好编辑出版工作,必须既有营销意愿,又有营销能力。他应该是图书营销活动的发动机。他必须去主动争取出版机构的有限的营销资源,他必须在营销活动的各个环节都起到强力的推动作用。营销方案的制定,他是主力,因为他最了解这本书;营销活动的实施,他是纽带和桥梁,他熟悉作者、书评人;营销活动开展时,他得积极参与并强力推动。其实,编辑的营销工作早就开始了,从书名的确定、包装方案的确定,到腰封文字的撰写,到新书快递等宣传文字的打磨,等等,都应该体现出编辑的营销意识和营销能力。既然当下的出版业对编辑的营销意识和营销能力有如此高的要求,编辑就应该在营销方面加强修炼,必须掌握现代营销知识和理论,必须对现代传播学理论和工具、平台等有充分的了解。

最后,新时代的编辑还必须有IP运营的意识与推动意愿。融合发展已成为当今出版业的一个热门话题。出版机构自身希望通过融合发展为企业探索新的经济增长点,希望通过融合发展为企业的未来找到一条路径。对于出版企业来说,融合发展是基于传统纸书的版权衍生权的开发,涉及数字出版、影视、游戏版权开发、文创、教育培训等领域。出版机构在传统的编、印、发等部门之外,设立了数科部、文创部、教育培训部等等新的部门,有的甚至为此成立了专门的公司。这些部门想要顺利地开展工作,必须首先得到编辑们的配合。图书的版权是编辑们签下来的,他如果不能说服作者将那些衍生权利授权给出版机构使用,新部门的操作只能是无米之炊。另外,编辑是最了解作品的,他应该最清楚所编图书的IP价值如何。当然,这建立在编辑对融合发展所涉领域的运作规律和需求有所了解的基础之上。这就是问题的关键了,当下要做一名好编辑,你还需要对融合发展也就是IP衍生权利所涉领域有深入的了解,掌握其运作的大致规律。对于编辑来说,如果在融合发展方面参与得多,参与得好,除了对自己的技能有所提升外,还可以分享到一定的经济收益。

出版工作的魅力何在

现在做出版很难。对优质内容资源的竞争已经白热化;市场的无序、无底线打折使出版商的利润大大缩水;盗版问题始终没能根本解决,大量盗版书的存在严重伤害了出版商的利益;手机阅读夺走了很多人的阅读时间;消费者的购买欲望降低,市场在萎缩。出版从业者的收入依然较低。在这样的情况下,如果没有对出版事业的热爱和执着,是难以坚持下去的。

编辑们为什么热爱出版工作呢,换句话说,出版工作的魅力何在?首先,这是一个高尚的职业。你所出版的图书传播的是知识和文化,影响的是人的灵魂;其次,这是一份创造性的工作,可以充分发挥每个人的聪明才智;第三,出版是一个特别的平台,编辑有机会和这个时代最杰出的人物交流;最后,每本书都是一个产品,编辑可以不断地体会成功的喜悦和失败的懊恼。既然出版工作是这样一个有魅力的工作,编辑们就应该充满激情地去做好这份工作。激情可以让编辑不舍昼夜地工作;激情作为一种状态可以产生很多好的创意;激情可以感染你的同伴、你的作者,和你一同创新创造。

(本文作者为人民文学出版社总编室主任)

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。

相关文章