什么样的程序员才是牛逼的程序员?

恰好最近在反省自己的日常生活,感觉每天做些增删改查、枯燥无味的工作, 对于现在的我来讲,学会且能够享受生活就是牛逼,对于其他行业一样。
写代码十年了,现在也还坚持要让自己写写代码。
* 第一层能力,编码能力。用你掌握的语言把描述中的算法编写出来,运行正确。逻辑比较复杂的代码,比如说五层以上的循环,各个层内有判断和处理,能看透能定位问题。或者其他语言写好的核心级别的代码块,能重新编码成另一语言的版本。这一层能力决定了程序员之路能走多顺畅多块。
* 第二层能力,分析推理。从需求文档到对象设计,能有多快多准确。一个问题或者变更,要动哪层哪块代码,动多少,工作量多大。还有,这个需求后续最有可能跟着哪些需求,这个问题后面会隐藏着什么其他缺陷,如何改进,工作量多大。这一层能力决定对技术理解深入到什么级别,对客户业务需求理解有多深入,对软件架构有多了然于胸。
* 第三层能力,销售水平。客户提出的需求,有的是对他重要对你则稍微改动即可,你是免费还是收费,收的话收多少合适。项目管理所谓进度质量成本三角,数据库的速度一致性数据量三角,根本是取舍之道。程序员要生存要发展,人生就是干活,作品的价值,售出的价格三角的平衡。不能只从自己的视角看自己的东西,要从团队客户商业战略角度多审视。所以要提高销售水平,和bug斗也要学会别被人斗,万一斗起来自己能有概率反杀。
* 第四层能力,意志力。这个不用展开,十多年间遇见几个很有天分的,做了几年转售前转项目经理,感觉他们疲于救火了,以至于有些火能力不足以灭了。这个社会专心做技术不行,放弃了技术上的攀登也不行。共勉。
PS:很多人都为了生活打拼,放弃自己的梦想、兴趣、爱好,像机器一样工作。如果一个人有追求,能够享受生活,活的有趣,对我来说他就是牛逼的。除了技术,日常爱好摄影、音乐。我觉得这才叫程序员,而我这种以及很多普通程序员只能算是民工。总体上而言,厉害的程序员能够对问题(不仅仅是技术问题)有更深入的见解,从而能够根据更复杂的信息做更好的抉择,然后能够执行好这个抉择。
如果你现在在JAVA这条路上挣扎,也想在IT行业拿高薪,可以参加我们的训练营课程,选择最适合自己的课程学习,技术大牛亲授,7个月后,进入名企拿高薪。我们的课程内容有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,q群号为:230419550
注:加群要求
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。
5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!