优秀的程序员VS糟糕的程序员

优秀的程序员和一般的程序员差别在哪里?怎么才能成为优秀的程序员?我们选择了这个职业就要把他做好!

优秀的程序员:

1、逻辑能力很强,这也是解决问题的关键。

2、分析能力。可以很好的解决复杂问题。

3、事情做得专业的前提是能关注到细节
我觉得细心谨慎是程序员最基本的修养和素质,逻辑能力啥的倒是更为上一层的事情。整天想好的算法和架构是没有用的,你知道当你跟产品经理说解了半天的bug是因为少了个分号的时候,产品经理心中鄙视的是多么的波涛汹涌么。

4、技术要做到精益求精
编程语言那么多,多语言的程序员虽然抢手,但是如果是半瓶水的水平,估计也是没人愿意要的。
现在程序员非常多,是因为这个行业入门的门槛非常低,也就造成行业的水平参差不齐。做一个网站很难么,找个现成的框架,懂点数据库,建个数据表,前端再找个现成的模板,修修改改一个网站就出来了。

5. 以身为程序员而自豪

优秀的程序员都以作为程序员而感到自豪。一旦你完成了某项功能,你会迫不及待地将成果展示给客户、麻利利地实现客户的想法。

如果发现自己的代码里面可能存在问题时,怎么办?可能会“自大”,因为是自己写的,就觉得代码审核没有必要;或者有问题也非要自己完成,而不是协作解决。优秀的程序员,应该学会与团队分享,时刻保持激情,但不仅仅是为了自己,而是为了团队、产品和项目。

一般的程序员:

1.说得多做得少

糟糕的程序员总是觉得自己什么都懂,他们并不会觉得自己的认识和知识都是有限的。这就是所谓的夸夸其谈,是的,什么都做不好的程序员能靠什么混日子呢?就是吹啊吹啊。

另一个表现方式是他们在评论起别人的程序或是设计,总是能挑出一堆毛病,但自己的程序写得也很烂。总是批评抱怨,而没有任何有建设性的意见,或是提出可行的解决方案。

这些糟糕的程序员,总是喜欢以批评别人的程序而达到显示自己的优秀。

2.顽固

当你给出一打证据说明那里有一个更好的方案,那里有一个更好的方向的时候,他们总是会倔强的认为他们自己的做法才是最好的。一个我亲身经历的事例就是,当我看到一个新来的程序在解决一个问题的时候走到了错误的方向上时,我提醒他,你可能走错了,应该是另外那边,并且我证明了给他看还有一个更为简单的方法,有。然而,这位程序员却告诉我,“那是我的方法,我一定要把之走下去,不然我会非常难受”,于是,在三天后的代码评审中,在经过顽固地解释以及一片质疑声中,他不得不采用了我最先告诉他的那个方法。

3.总是在等待、找借口以及抱怨

当需求不明确的时候,当环境不是很满意的时候,他们总是在等待别人的改善。出现问题的时候,总是在找借口,或是抱怨这也不好,那也不好,所以自己当然就没有做好。糟糕的程序员总是希望自己的所处的环境是最好的,有明确的需求,有非常不错的开发环境,有足够的时间,有不错的QA,还有很强的team leader,以及体贴自己的经理,有足够的培训,有良好的讨论,有别人强有力的支持……,这是一种“饭来张口,衣来伸手”的态度,这个世界本来就不完美,一个团队需要所有人去奋斗,况且,如果什么都变得完美了,那么,你的价值何在吗?driving instead of waiting, leading instead of following.

4.懒惰

不认真的对待代码,只知道copy代码。不愿意学习新的知识。

5.责任心

遇到问题,第一反应是 这不是我的问题,代码不是我写的。没有责任心。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图解 Java 常用数据结构

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与…

程序员生存定律--使人生永动的势能

程序员生存定律这系列的目录在这里:程序员生存定律--目录 喜欢从头瞄的,可以移步。 ------------------------------------------------------------------------------- 这篇说的是精神,比较务虚,不感兴趣的可以略过。 在国内有…

int 和 Integer 的区别

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer变量必须实例化后才能使用,而int变量不需要…

度量术语之二:应用类和开发类生产率(实际度量案例)

一个令人震惊的事实是连生产率这种常见度量数据都没有一个简单的定义。连我们日常经常用到的公式:生产率工作产品/工作量(工作产品可以是代码行,功能点,也可以是任何可以计数的东西,比如文档页数)都是错误的…

注解 @ModelAttribute 运用详细介绍

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。1.ModelAttribute注释方法   例子(1),(2),(3&#x…

编程语言 IDE 对比

IDE是集成开发环境的英文缩写,所谓集成开发环境,就是将你在开发过程中所需要的工具或功能集成到了一起,比如代码编写、分析、编译、调试等功能,从而最大化地提高开发者的工作效率。每种编程语言都有一些特定的IDE,本文…

强制更新 maven 缓存

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 mvn dependency:purge-local-repository

程序员为什么那么难升职

一个有趣的现象是老程序员很难升职,如果你因为3K工资太低而要辞掉工作,你的上司宁可去外面找一个5K工资的新人,也不会来挽留你。那么程序员为什么那么难升职,这里总结了几点。你上司的问题你晋升困难,最大的主观原因在…

Docker 安装 Redis (Redis 配置)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 获取 redis 镜像 docker pull redis 不加版本号默认获取最新版本,也可以使用 docker search redis 查看镜像来源 查看本地镜像…

百度首席科学家 Andrew Ng谈深度学习的挑战和未来

摘要:7月7日上午,百度首席科学家Andrew Ng应邀做客中国科学院自动化研究所并做了《Deep Learning:Overview and trends》的学术报告。 【编者按】人工智能被认为是下一个互联网大事件,当下,谷歌、微软、百度等知名的高…

Linux 安装 jdk ( 两种方式 )

安装jdk有两种方法:手动安装 yum安装。 方式一: yum安装 1、查询要安装jdk的版本, 命令:yum -y list java* 2、安装jdk1.8 yum install -y java-1.8.0-openjdk.x86_64 3、查询jdk版本:java -version 这样就安装成功了。默认…

在动态网络下实现分布式共享存储

摘要:本文介绍了分布式环境下实现共享内存模型会遇到的各种问题和挑战,并针对不同问题介绍多种算法的优劣性。本文是对现阶段该领域研究现状的总体介绍,通过本文能了解动态分布式共享内存研究的前沿状况、挑战与机遇。 共享内存系统是普通单…

集合拷贝通用方法、list<A> 转换成 list<B> (属性相同)

拷贝2个拥有相同属性的集合实现: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 package com.hydbest.app.lbd.marketing.common.utils;import com.alibaba.fastjson.JSON…

Linkedln技术高管Jay Kreps:Lambda架构剖析

摘要:Jay Kreps是Linkedln的一名在线数据架构技术高管,在日常工作中,Jay Kreps经常被问及有关Lambda架构的问题,为此他结合实际经验和个人体会,针对Lambda架构进行深度剖析,分析了它的优缺点以及采用的替代…

JWT ( JSON Web Token ) 入门教程

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、跨域认证的问题 互联网服务离不开用户认证。一般流程是下面这样。 1、用户向服务器发送用户名和密码。 2、服务器验证通过后&#x…

优秀程序员必备的15大技能

编程是个很复杂的玩意,但是成就优秀程序员的很多因素和我们在学校中早期学到的相差无几。本文灵感来源于Robert Fulghum的《All I Really Need to Know I Learned in Kindergarten》。 1.分享 尽可能地使用开源,并且如果有能力的话也可以把自己的成果分…

注解 @Target 用法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Target: Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚…

软件开发者如何准备未来?

摘要:现今,科技领域技术更新非常迅速,作为该领域幕后勤恳劳作的软件开发者要想在其中永远保持领先,跟得上时代,就需要时刻面向未来做好准备。但面对各种技术各种开发语言,软件开发者该如何做? …

java 并发包之 LongAdder 源码分析

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 LongAdder是java8中新增的原子类,在多线程环境中,它比AtomicLong性能要高出不少,特别是写多的场景。…

JAVA 内存模型 (Java Memory Model,JMM)

JAVA内存模型 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Java内存模型(Java Memory Model,JMM) 是在硬件内存模型基础上更高层的抽象&#xf…