导航:首页 > 程序命令 > 有产品视角的程序员

有产品视角的程序员

发布时间:2023-04-06 05:34:03

程序员转行可以做什么

面对着日新月异的代码和语言,你是否感到了力不从心?稍有懈怠,就跟不上岗位需要了?身体渐渐的发福,熬夜写代码开始扛不住了吗?

这个时代很残酷也相对公平,残酷的地方在于世界的变化之快容不得人有片刻懈怠,公平的地方在于:不论你是年轻还是年老,都要靠实力说话。

那些被时代抛弃的永远都是跑得比较慢甚至在原地徘徊的人,即所谓的工作十年却只有一年工作经验。

年轻程序员的优势在于年轻和激情,大龄程序员的优势在于阅历和经验。所以,年轻程序员不要有跨越年龄阶段的焦虑,大龄程序员也不要觉得年轻人抢了自己的饭碗。

每个年龄段都有自己要解决和面临的问题,认清自己内心真正的需求和渴望,再去寻找适合自己的栖身之地打怪升级,才是当务之急哦。

⑵ 程序员应该向产品经理学习哪些能力

最近几年要说哪个领域最火,无疑是互联网领域,而随着互联网的火热,伴随而来的也是相应的互联网职位的火热,比如炙手可热的程序员和产品经理(或者叫程序猿和产品汪)。我也是一个刚入行不到三年的菜鸟程序员一枚,大学学了四年计算机,毕业以后就一直在写程序。就像很多人说的那样,大部分时间似乎是在为了实现产品经理的需求而写程序,于是程序猿和产品汪之间那些相爱相杀的事情,我也基本都能体会一二。


如果按照主流的做法,作为程序猿王国里的一猿,我应该挥舞起长矛大刀对产品经理口诛笔伐一番,但是这里我却丝毫不想去为了黑而黑,而是一反常态,从自己的角度来谈谈,作为程序员,我们应该从产品经理那里学到些什么能力,而这些能力,程序员往往做得不够好甚至可能是欠缺的。

1、文案能力

对的,没错,就是文案能力。程序员最擅长的是写代码,用文字符号来清晰地表达程序的运行逻辑,简简单单的if...else、for就能表达很多枯州乱复杂的运行逻辑,时间久了,对于母语的表达能力渐渐下降,写个注释往往都能词不达意。更何况现在代码风格指南都在强调好的代码不需要注释,于是程序员越来越少写自然语言了。

2、沟通能力

据我的观察,画原型图只占据了产品经理工作时间很短的一部分,剩余的大部分时间是在和老板、开发、设计、测试沟通,推进产品的一次次迭代。所以,在一个程序员眼里,产品经理是要协调各方一起推进产品上线的角色,如果有人对需求产生了认知上的偏差,产品经理是要负很大一部分责任的,至少说明产品经理的沟通没做到位,而这样的产品经理大部分都被辞退了,因为出现沟通问题最严重的后果就是上线延期甚至产品失败,一个产品的失败是对产品经理最大的否定。

总之,产品经理绝不是埋头苦干的原型画家,要去关注外界、关注他人,平衡各方利益并且化解冲突。沟通,本质上也是权衡与妥协的艺术。我看到的和遇到的产品经理,沟通能力普遍都是很好的,至少大部分都不输于程序员。

3、整体思维

现在稍微有点规模的互联网公司都会把各个业务或者功能进行细分,很多程序员往往会专注于自己的业务和细分领域。精细化分工,是现代社会发展出来的一个高效率生产方式,对提高公司的竞争力是大有好处的。但是这有一个负面的影响是,很多程序员往往过于专注自己的一亩三分地,不太关心甚至忽略了整体的存在。

4、总结

一个迹滑好的产品经理其实绝不止这些能力,而文案、沟通、整体思维这些能力是我所观察到的作为产品经理最容易被放大和辨识到的能力,也是多数比较容易被程序员忽视的能力,程序员学习到产品经理身上这些最容易被没档观察到的特质,对程序员本身来说是一个非常好的进步的过程。所以,程序员,请多看看产品经理发给你的文案,是不是比你自己写的更友好,逼格更高?北大青鸟建议多观察产品经理是怎么说服大家接受需求变动的,如果换作是你,你能安抚大家的小情绪吗?多体会产品经理对产品设计和预期的宏观描述,再简单的功能也有它背后的逻辑和存在的意义。


⑶ 做为一个程序员你为什么离开大厂呢原因有哪些

程序员的岗位生命周期与自己的自学能力、岗位等级和细分行业都是有较为立即的关联,尽管在大型厂有较大的上涨室内空间,并且会获取越来越多的网络资源支撑点,可是能不能在程序员岗位走得更长远通常或是因人有所不同的。从程序员岗位的特性看来,往往程序员岗位的岗位生命周期相对性较为短,一个主要的因素是程序员岗位的压力非常大,尤其是运用级程序员岗位,不但压力非常大,并且自己的上涨的空间也相对来说非常小,常常要应对许多可重复性的研发每日任务,这也会造成程序员的工艺管理体系慢慢老旧,进而被领域所取代。因此,从这种视角看来,从业产品研发级岗位会在一定水平上增加自己的岗位生命周期。

假如效益低迷加工厂会对技术人员开展裁掉,就算确实想做到退休几乎可以说天方夜谈,因此在企业都还没破产倒闭以前,多学习培训更多的专业技能为未来换工作奠定扎实的基本。程序员无论到什么高新科技产品研发企业、生产厂、网络科技公司,或是中央企业、国营企业全是较为吃香的专业,月收益过万没有问题。关键是对技术专业英雄熟练度、技术性是不是高超及其把握的关键技术比较多有较大的关系。

⑷ 程序员转做产品经理,对于转行谋职产品经理难度大吗

难度是比较大的,不同的职位有不同的事业规划,想要做一个成功的产品经理,必须要有着非常不错的沟通能力。

⑸ 程序员会甘愿为实现产品经理的想法而工作吗

其实产品经理这个岗位,就是程序员转岗的最佳选择之一。和程序员不同的是,产品经理不需要写代码,主要工作就是挖掘用户需求,将用户需求转化为功能需求,做出原型交给开发和 UI 进行产品的开发设计,同时跟进程序员同学开发进度直到产品上线。

产品经理其实就是对一个产品负责的管理者,和程序员相比,他需要具备更强的综合能力。

软件专业毕业的学生,做产品经理有得天独厚的优势。因为他们专业能力更强,也懂得什么样的产品能落地,他们更容易受到程序员的尊重,沟通起来也会更加顺畅。而且,产品经理的薪资待遇并不比程序员低。一、产品经理的主要工作

那么,产品经理的具体工作有哪些呢?

1、需求分析

通过用户调研(访谈,问卷,功能数据)等,发现用户的痛点。

2、产品设计

根据需求分析的结果,定制解决方案,通过产品原型(Demo)实现出来,并需要把交互,规则,逻辑及数据统计需求写清楚(PRD)。

3、项目跟进

需要与UI,UE,开发,测试,需求方进行沟通确认,保证整个项目过程中,各方对产品功能的理解一致,并按照原定计划进行推进。

4、产品上线

产品上线前,需要提前准备好宣传软文,培训手册;产品上线后,需要进行线上验证,检查和自己的产品设计是否一致,此外还需要数据的收集。

⑹ 产品经理怎么和程序员打交道【3】

经常有人问我:“嗨,费杰你好!请问阿里巴巴的需求文档怎么写?“,但很少听到人谈:“嗨,哥们你好!请问产品经理怎么和程序员打交道?”你回去稍微琢磨了一下,心里就会得到下面三种情况:1) 很多产品经理之前就是程序员,所以非常了解程序员是什么样的一个状态;2) 很多产品经理还停留在关注自己产品规划、设计本身,缺乏对团队配合的思考;3) 很多产品经理,其实是有和程序员打交道的实践技巧、心得的,但没有重视和分享。事实上在很多产品研发体系下,产品经理和程序员因为思考方式、关注范围、职能职责的差异,导致了沟通上的困难。如何更好的与程序员建立起一座畅通的桥梁也是每位产品经理需要思考的问题。一般情况下,产品经理和程序员沟通困难大概的原因:�0�21、得到信息不对称;�0�2�0�2产品经理得到的信息一般集中在:商业需求、商业策略、战略方向、产品规划、运营数据、整体营收、目标任务等方面。产品经理往往在根据公司现阶段的情况,以及市场的竞争情况,做一些产品策略或者一些产品的方案的策划、发起、实施。
所以这个过程中,产品经理扮演的角色是翻译:“市场需求、商业需求”,成为:“产品需求”,所有的信息全部围绕需求本身。为什么要做需求?怎么做需求?先做什么需求、后做什么?基于怎么样一个思路去推送产品进行实施、从一个利益平衡获得空间增长指标后达到另外一个利益平衡。程序员不一样,很多时候程序员得到的信息是:有一个需求,可能是小需求、产品需求、或大到项目需求,然后得到一系列需求列表,然后产品经理会让程序员看:“需求”哪些通过code改改就可以实现,哪些是需要开发可以实现,哪些是技术或构架或因为成本的原因不能实现。
所以在这个过程中,程序员扮演的角色是翻译:“产品需求”,成为:“技术语言”的评估,所有的信息全部围绕开发需求本身。如何开发这些需求?是沟通数据库增加字段?调用接口?开发新的接口?需要开发组件?重新构架引擎?来实现满足或支撑这些需求?那这个时候问题来了,很多情况下我们只是把程序员当做一个写代码,通过编程语言来操作计算机完成需求的工具了。�0�22、沟通语言不对称;�0�2�0�2说到两者沟通的语言,这肯定是困扰产品经理本身的。产品经理的语言是:“描述“、”形容“,我也见过很多产品经理,很多人的需求文档就是漫天飞舞的文字,一整段的描述+描述,不要说程序员看不清,可能过段时间连自己都看不清楚。除了书面语言,产品经理的沟通语言也是含糊的,没有太多的逻辑去组织,很多时候总是试图去述说一个需求,被程序员的一个计算机术语而打断。程序员的语言,更偏向于技术化。很多产品经理做过技术,有技术背景,但是还有很多产品经理不懂得技术。所以在这个时候,程序员在解说或回答一个需求的时候,会把自己习以为常的变量、函数、实现方式说出来。于是很多产品经理听到:“Sdk、webshell、select、api、组件、插件、控件“等等的时候会云里雾里,那这个时候问题来了,很多情况下我们总站在自己的立场上、自己的世界里认为别人也懂自己在说什么?实际呢?大家都是听得一半一半,沟通没有彻底到位。�0�23、思考角度不对称�0�2�0�2产品经理思考的角度在于产品本身,对技术的细节、技术的性能没有太多的发言权。很多产品经理要是的实现的业务逻辑,不管程序员是采用:c++ 、javaphp、Python、找开源代码改的,还是自己写的都没有关系。程序员只要在约定的时间里,把约定的业务逻辑开发出来就可以,产品经理不去会考虑目前服务器的配置、程序员手上任务的配置、技术能力的情况,要的是结果。而且很情愿的认为团队中的工程师都是世界上最好的工程师,想做什么都可以做,对因为技术原因而不能支持实现需求不能接受。程序员思考的角度有点区别,我也看到不到程序员本身对产品追求完美对需求的背景、意义去研究了解;但很多程序员还是停留在自己接单子任务一样来一个做一个的境界,做好了自己玩自己的。程序员考虑程序实现的方式同样的一个请求是get还是post,程序员考虑代码的性能,从而采取不一样的方案去实现需求,考虑请求并发量压力和安全性。但是很多情况下,程序员对技术的理解会导致有一些业务需求满足不了,不是因为不能实现,是因为实现了觉得是废代码,或者构架不完美了。那这个时候问题来了,很多情况下到底倾斜谁的立场上思考问题?我之前也会碰到很多情况程序员就程序的角度说业务需求不合理,产品经理说程序员消极罢工、霸得蛮。�0�24、考核标准不对称;�0�2�0�2谁也不尿谁,哼!你能把我怎么样。产品经理和程序员有为完全沟通或误会的时候,极端情况下,有一方会罢工。这个时候主要是2个角色的各个考核标准不一样,所以在很多情况下显得非常的无奈。产品经理很可能考核的是方案和上线的时间、产品上线后的数据;而工程师考核的是程序的性能、很多时候产品经理催的急要的急,但程序员每天的时间有限,还是得慢慢构架慢慢开发,程序员开发时间少了,未知的执行BUG没考虑过是要负责的。这个时候问题又来了,产品经理天天干着急!咋办?以上是我结合几年来的工作经验总结出来的,当然这4大因素把很多共性的因素概况进来了。当然过程中还是会因为很多产品经理或程序员本身(个性)的沟通技巧、态度、情商等因素导致的沟通不倡,影响了彼此之间的默契。其实仔细的分析一下,产品经理和程序员打交道的过程中不管是共性的因素还是个性的因素,也不是想象中那么困难。通过一些努力之后,我们总是会找到一些快速和程序员建立沟通桥梁的办法。我个观点如下:�0�21、 要看到项目层面,不要只看需求本身。�0�2�0�2上面说到的几点不管是:“信息不对称“、”沟通的语言不对称“、”思考角度不对称“还是”考核的标准不对称“是我们常见的几个客观隐私。把几个因素抽取出来剖析,发现还是由于我们站问题的视角的高度不一致造成的。产品经理只是看到自己得到了商业的需求,策划了产品的需求,接下来会把很多事情抛给程序员做了,那还是站在需求方的角色中。那如果真正的是站在意识层面的项目经理的角度,这个时候看待问题的视眼会广很多。这个时候你就想着为了做这个项目这个需求,程序员是不是明白了为什么要做?是不是对这哪些需求的优先级有了重要的认识?作为产品经理我用怎么样一种表达方式程序员更明白?是不是需要把时间点等划定?目前程序员的资源和服务器情况允许他们能做的空间是多大?怎么样才能拉动他们的积极性更好的完成这个项目?适当的时候,需要帮助程序员做哪些申请或让步?对产品经理来说,同样张罗一件事情,同样会了得到一个结果,但是中间的过程很可能是完全不一样的。所以因为思考角度仅仅从做完一个需求死磨硬泡上升到,站在项目的角度去考虑各个关节的风险点、时间点,得到的效果是完全不一样的。�0�22、从理解程序员开始,换位思考会更好。�0�2�0�2一直在问一个问题:“程序员是什么一群人?“就和问自己:”产品经理是什么一群人?“一样,有点好笑、有点幼稚。从小工到专家,从CSDN到走出软件作坊,发现很多很多非常优秀的程序员的心声。程序员是什么样一群人?像切西瓜一样一刀一刀切:写php的写Java的写windows C的写liunx C的写C++的编程水平一般的编程水平还行的编程水平牛逼的编程水平大师级的构架牛的数据库牛的勤奋的懒于思考的不会JavaScript的积极的喜欢钻研的……好像都不太合适,因为你找不到解决和工程师沟通的好的办法。而且这些很多是外在的条件,随随都在改变。看到很多朋友一年之间经历几个大项目水平突然猛进,态度、一些特点也变得完全不一样。这个时候你需要的是了解和掌握程序员,作为职场的人,和我们一样的人共同需要的一些特点。如下4点:1) 是不是特别想被肯定、获得尊重;理解、肯定、尊重。这3个词或许非常的空但确确实实是一个非常好的方子。静下心来走近程序员,听听他们的心声、他们的抱怨,或许产品经理和程序员的距离将不再是那么遥远。虽然很多时候我们讲德行说尊重,但真正领悟到心里、落实到行动、表现在态度上的完全不一样的。真正,你是不是一言、一行本真理解、肯定、尊重程序员的,程序员是有感知的。2) 是不是想给产品提供自己的建议,而不是仅仅做一个编程的机器;很多程序员对产品非常热爱、对产品有独特的想法,但多数又局限于技术情节对产品的建议常常被忽视。相信很多程序员都希望参与产品,通过自己的专长改变产品,进而打磨出一款完美的产品。所以产品经理也可以适当的给程序员一点发挥的空间,特别是在技术创新、产品需要技术驱动的方面,在商业可控的层面让程序员发挥排头兵的作用。这样程序员会开足马力投入到开发实施的过程中。3) 是不是不仅仅和人任务指派,需求更多的和谐的人与人之间的沟通建立。产品经理和程序员两者之间没有一个良好的沟通,只是基于做与不做,做好做不好,什么时候做好,这样的功利性沟通肯定是不可靠的。往往两者因默契不够,或一方因沟通技巧不足、对待工作态度不够积极,造成矛盾。建立一个人与人之间的良好沟通,帮助产品经理或程序员更好的认知对方、了解对方,这样无论是在平时的沟通过程,还是在项目的合作过程中更好的促进了解、达成共致都会有一个前提保障。4)是不是需要别人的帮助,让他在非技术领域获得真知。看到很多产品经理朋友和程序员打成一片,和程序员一天聊天、抽烟、一起下班打游戏、打球,甚至有些时候产品头脑风暴的时候要去几个有产品情节的工程师参与前期的讨论,效果都不错。可能这些现象从另外一个层面来解决我们上面的一些疑惑。3、产品经理要改善心智,不断自我学习。�0�2�0�2最近突然觉得说得想的,有点像哲学。群里的一个朋友说了, 其实哲学就是我们生活一些事情表现出来的道路。产品经理跟程序员打交道也好,对待生活也好,我个人认为是产品经理对哲学的认识、理解、应用。产品经理越往下走,抛开产品技能本身不谈,沉淀商业以及人脉资源,都是需要以一种良好、可靠的思维方式去支撑的,也就是所说的心智模型。很多时候产品经理改善心智可以不断的增强一些事物的判断。如:遇到程序员的拒绝的、不行的理由,这个时候你通过分析起码要判断得出来,这个是程序员隔个人的态度问题,还是流程问题,有一点微妙的。所以产品经理需要不断的学习,学习提高软技能。说到学习,回应这篇《产品经理怎么样和程序员打交道》中,程序员常用的一些技术原理、技术术语得去学习一下、研究一下。Right? OK, End !

⑺ 如何辨别一个程序员水平的高低

1.自己介绍项目,看对项目的提炼总结能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技术深度;
3.设计模式提问,看有没有学习方法;
4.语法基础问题,多线,分布,安全等问题,看知识面广度;
5.智力问题,看反应能力,分析问题思路等
上述五步基本可知是否是一个好程序猿

计科专业从事软件开发十几年了,主要在浏览器内核领域研究的比较多,最近在研究服务器后台方向,辨别程序员水平高低主要看做出了什么产品,如同现在的程序员主要是项目经验,简历上写的一堆项目经验都是面试的时候主要提及的问题。经常在面试中会问两个关键点:一个是做过什么项目;一个是在项目组中承担什么职务,毕竟参与过和做的多少程度是不一样的,这些都是可以通过一些具体的细节检测出来,问题越具体越是容易看出水准,具体的东西不是能够编造出来的。

有很多技术公司直接不通过笔试,仅仅通过简单的面试就确定工资水准了,最简单的测试程序员水平的直接用笔试的方式,笔试可以把一些细节量化,尽量的细节化也是能测试出程序员基本功的,但这种基本用来测试初级程序员的,很多高级的程序员看到有笔试直接就抬腿走人了,因为有些程序员在一个方向做的时间太长了,很多基本功都忘得差不多了,所以笔试可能不过关,现实中很多程序员笔试不过关,面试还可以,也一样可以做项目说的就是这类人,起码这算是非常优秀的程序员。

有很多公司采用谷歌的方式,直接采用上机写代码的方式检验程序员水平,这种方式比较直接,但在现实中可能消耗的时间以及面试官的精力,目前只有极少数的公司用这种方式,国外的公司用这种方式比较多,这种看基本功非常有效。通过代码可以看到编码习惯以及算法的设计上,都能直接看的出来。

普通的程序员直接看项目的经验,高级的直接看做过的产品,特别是产品主要设计人员,这就是程序员内心的自豪感,毕竟作为一个程序员起码要有自己设计开发的产品,也算是不白做一个程序员,在程序员的职业经历中如果能经历过一个产品从开始设计的初稿到最后推向市场,如果是完整的经历,将是一种巨大的财富,只要经历过一次都会对产品设计有一个比较层次的认识,这种能力需要靠直接的面试语言表达来展示出来,谈下对产品的认识以及产品稳定性性能等方面的总结,能到这个层面起码是高级软件工程师的级别。

当然有些程序员内在的东西不是靠语言或者写代码看出来的,因为一个优秀的程序员不仅仅是代码能力以及框架能力,还有几个非常重要的能力

程序员的能力表面是可以直接展示出来,但很多内在需要是需要时间的磨合才能了解,人就才能见人心,而且很多优秀的程序员是培养出来的,能够长时间在一起的队友都是时间长了磨练出来的。

希望能够帮到你。

自认为不是一个好的面试官,因为我认为在这么短的时间内,准确地衡量出来程序员水平的高低是有比较大的难度的,并且我有多次看走眼的时候,面试的时候觉得能力还不错,但是入职工作了一段时间之后,编程能力不忍直视。

工作之后接触一段时间,我会从这么几个方面观察他们,以判断技术能力的高低和发展潜力。


能不能出活儿、能不能debug

能不能把开发任务按时按质量地完成,当然是最主要的衡量标准了:

解决问题的方法

在开发过程中,难免会遇到没有见过的问题,有些程序员遇到问题无从下手,而优秀的程序员,自有一套解决问题的方法。

分析问题、流程设计的思路

有人会认为,程序员的主要工作就是敲代码,上班大部分时候都是在敲代码,其实并不是这样:

总结问题和改进问题的能力

好的程序员,相同的问题不会犯第二次,差的程序员,总会在一个问题上栽跟头:

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

不请自来,一介码农路过,留下些看法。

程序员主要是有四种综合能力,也就是debug 能力、 performance分析、 保护性编程和 投入产出比。

仅仅独立完成日后必然成高手?

在这里不能说一棒子打死,至少对于很多人来说,能独立完成是没什么问题的,有的是因为对业务熟悉,有的是真的基础扎实。但怎么说呢,程序员和浏览器打交道是最多的,现在这个互联网时代,遇到的大部分问题网络都是可以解决的,也就是普通程序员 + 网络 = 超级程序员。 但很多人也没明白具体的原理,甚至都是这个项目抄抄那个项目抄抄的,久而久之虽然解决了平时的业务,但进步的空间却很少,甚至止步不前,写出来的代码也可能存在很多坑,所以,仅仅能独立完成任务的话,离高手还有比较远的一段距离。

如何辨别高手程序员?

也就是结合我们一开始列举的那四个能力进行判断。不同级别的程序员,在那综合能力面前,强弱也是不同的。例如在奔溃的或者其他性能调优问题上,即使是面对大量复杂的代码,在信息不全的时候也会一步步的分析,抽丝剥茧缩小范围,最终定位根本原因

,并且最终给出一个好的方案。

如何成为高手程序员?

当然还有看他摘了帽子是否秃顶这样的笑话,就再不赘述了。

第一阶段(黄金):会用编程语言实现需求,比如现在的业务系统,都会找一些会搬代码的人来拼工作量,也就是能自己独立基于搭好的框架实现crud常规操作。

第二阶段(铂金):除了crud,还会有一些自己踩过坑的经验,知道如何处理一些常见问题,或者可以基于搜索引擎快速解决一些异常情况。

第三阶段(钻石):能解决一些疑难杂症和会通过debug部分源码类库查看到这些疑难杂症是如何引发的,并通过编码解决这些问题,还能进行一些局部的性能优化,类似某个系统接口缓慢可以单独去优化。

第四阶段(星耀):会基于整个系统进行设计和规划,根据业务特性选择合适的框架,从源头控制开发遇到问题的频率,可以自主的搭建框架并完善机制,了解各个组件工作原理。

第五阶段(王者):小说里面总是说练武功的永远比不过创造武功的,同样的道理,用框架的也往往不如写框架的,所以写框架的这类人单独分层。

第六阶段(荣耀):其实这个阶段不应该列入进来,因为这类人往往不编码的,只是给出思想;像Hadoop这种框架就是基于人家发表的一些论文(bigdata)进行编码实现的,这类人注重的是思想和算法,区块链,大数据,云计算等等概念的创造和理论的支撑是这类人提出来的,这些人才是真正影响行业走向的人。

程序员的水平高低,不是靠语言或外在表现就能看出来的,不是看他会多少技术、参加过多少项目、写了多少博客,而是看他在实际业务场景中解决问题的能力,尤其是面对一些特别复杂的问题,或在高强度、高压工作状态下解决问题的能力与态度。


技术可以通过学习掌握,但是解决问题、定位问题的能力却不是一蹴而就。大家可能会说,“解决问题的能力”这个太宽泛了吧,可以更具象化吗,有具体的测量方法吗?简单整理了以下几点供参考。


优秀的代码能力

会写出满足需求的代码,早就不是评判程序员水平的标准了。代码编写既要满足业务需求,同时还要考虑后续的软件维护,说得通俗些,既要自己爽,也要别人爽。一个优秀的程序员,会致力于写出更简单、更效率、可读性强、扩展性强的程序代码。


逻辑思维

程序员在日常工作中,需要理解各式各样的业务需求,所以这就需要程序员具备一定的逻辑思维能力。可以说,逻辑思维是程序员的灵魂,因为每一行代码都是程序员逻辑的体现。


debug能力

项目着急上线,发布时出现问题?

业务高峰时段,系统宕机了?

业务催、运营催、用户催、老板催!

各种形态的bug,各种着急的心情,背后无数支眼睛盯得内心慌慌......

这些都是一位合格程序员所需要面对的日常。不同的程序员,在解决问题的方法、效率、质量等方面,都各有千秋。一个经验丰富的程序员,能够扛住各方压力,在复杂条件下找到核心问题,通过抽丝剥茧的分析来找到产生问题的原因,并快速进行应对处理,事后及时复盘总结,减少同类问题出现的概率。


学习能力

随之互联网的发展,越来越多的人涌入程序员这个赛道,竞争日益激烈,加之新技术层出不穷,更新迭代快,程序员所使用的语言、框架、模式都会发生天翻地覆的变化。如果不主动学习,你很快就会被落伍淘汰。



沟通能力

这种其实在面试过程中能体现出来,沟通主要是技术沟通,以及和客户之间的沟通,所有技术都不是闭门造车就能搞定的,沟通能让事情推进起来更加顺畅,包括和产品经理之间的流畅的沟通也显得非常重要。程序员的能力表面是可以直接展示出来,但很多内在需要是需要时间的磨合才能了解,人就才能见人心,而且很多优秀的程序员是培养出来的,能够长时间在一起的队友都是时间长了磨练出来的。


责任心

线上出bug了,第一时间响应、处理;

团队项目进度紧张、人手紧缺,主动补位;

又或者,在项目推进过程中如果只是关心自己模块内容,对于整个项目置之不理,只守着自己的一亩三分地。

随着时间轴的拉长,你会发现,有此f技术能力不是最好的,甚至不如你的小伙伴,最后做到了技术主管或经理、甚至更高职位,这里面除了技术实力,还有一个叫“责任心”的东西。


结束语

判断一个程序员的水平高低,核心是其解决问题的能力,而解决问题的能力养成,需要扎实的底层基础来支撑,要综合其代码质量、项目经验、框架能力、逻辑思维等等多方面,不能单看某一方面。


而对于1-6岁的程序员来说,想要成为一个高级程序员,变得越来越优秀,唯有持之以恒去学习、积累、实践、修炼。



----end----


一:50岁的时候,头发还是黑色的浓密的。

二:赚到的钱能保证家人快乐的生活。

三:当公司不要你的时候能成功转型。

其他的例如编程经验、写代码厉害啊什么的根本不值一提。

这就是程序员的面试嘛 :-)

(1)是否能熟练使用所用编程语言的主要功能;

(2)是否知道用合适的数据结构解决问题;

(3)是否知道基本的算法,并且用这些算法解决问题;

(4)只看少量代码的话,从变量命名和程序结构一般能够判断是否是新手;

(5)给出具体问题,能够用程序解决,能考虑到所有的边界条件;

(6)考虑程序的可扩展性,可维护性;

再往高一点走,就需要

(7)面对模糊的问题能够分析并且找到细节和具体的需求;

(8)知道利用已有的库,架构和工具等来解决新的问题,而不是什么都自己实现;

(9)能发现并改进已有程序中的瓶颈;

(10)对整个大项目的程序架构有很清晰的了解,知道相互之间的依赖,以及知道为什么采用这样就架构;

(11)给一个大的项目,能够对整个项目的程序架构和组件进行合理的设计,考虑并行性,低延迟,大数据量等各种需求和应对方式。

带领团队已多年,项目数十个,对判别程序员水平的高低,我有自己的看法,欢迎大家一起交流。



1.代码质量。

优质的代码,首先是经得起考验。静态分析工具过一遍,无错误,无警告。当然警告部分需要人工重审,因为静态分析工具不一定完全正确。过了这一关,重要的还须过测试关,少Bug或无Bug的代码,才是好代码。优质的代码带有技术气质和艺术气质。阅读起来,有一种赏心悦目的快感,即工整美观,干净利落,又蕴含着理论常识,运用技巧,精准到位。



2.表达能力。



3.文档能力。

文档形式包括但不限于PPT,文字,图表,音视频。文档内容包括但不限于API说明,工具手册,项目事项,技术论述,陷阱总结,方案展示,指导手册。文档要求必须是满足公司或部门的规范和格式,否则五花八门的,不利于交流和传承。



以上3点,是我量化判断程序员水平的标准,仅供参考。相比水平,其实我更看重程序员的态度,执行力,时间观念,自学力等等,也是很重要的团队作战能力,也可以说是程序员水平的考量吧。

谢谢大家。

⑻ 为何大多数程序猿会转行做产品经理的背后的原因有哪些

产品经理这个工作对之前的工作经历或者学历没有太高的要求,再加上这两种工作有联系,作为程序员了解产品的属性或者性质,程序员的沟通能力很强,所以可以好好的胜任产品经理这个工作。

⑼ 你认识的程序员都有哪些特点

程序员都是一些追求完美的人。女程序员细致认真,不仅能写代码而且注释详尽清晰、能做好单元测试BUG最少、能写标准规范的设计文件不会对不上模块编号也不会少了类或接口说明,提交代码不会忘记写LOG,不会和测试人员面红耳赤地争辩这是测试理解错误而不是代码错误,不会因为还要写用户手册而抱怨连天,不是份内的工作如果需要也会按时完成。程序员都是一些追求完美的人。女程序员细致认真,不仅能写代码而且注释详尽清晰、能做好单元测试BUG最少、能写标准规范的设计文件不会对不上模块编号也不会少了类或接口说明,提交代码不会忘记写LOG,不会和测试人员面红耳赤地争辩这是测试理解错误而不是代码错误,不会因为还要写用户手册而抱怨连天,不是份内的工作如果需要也会按时完成。 女人天生比男人细心、耐心、有爱心、不愿意给别人带来麻烦。周围的女程序员的确不多: 一个学人机交互的女博,她负责的产品从各个方面来讲都很棒,工作交给她非常放心。

阅读全文

与有产品视角的程序员相关的资料

热点内容
emacslinux配置文件 浏览:377
python3在线教程 浏览:112
不小心删文件夹的文件 浏览:476
java获取手机IP 浏览:816
手机rar解压密码获取 浏览:344
程序员被辞退工资怎么处理 浏览:494
恋活的模型没加密 浏览:159
如何把安卓机的微信转移苹果 浏览:583
爬山算法相关题目 浏览:724
vc编程大全 浏览:118
excel表格单列数据加密 浏览:648
给同事的解压话语 浏览:992
linux关闭网卡命令行 浏览:454
史上最漂亮程序员 浏览:770
java实现excel的导入 浏览:760
光遇账号如何转移安卓 浏览:266
5分之13除以26的算法 浏览:342
兰州安宁区买解压包子 浏览:641
php接收图片代码 浏览:668
hci命令 浏览:664