一个Java程序员该有的良好品质

一、前言

多年来,在IT领域,从一个普通的程序员到一个技术主管,再到一个技术经理,再到一个技术主管,他们践踏了许多坑,劳累了许多课程,还背着许多罐子。在提高他们的技术和管理能力的同时,他们一直在考虑如何作为IT技术从业人员这样做。这个领域发展得更好。随着年龄的增长,我们可以平静地应付所谓的“中年危机”,或者IT技术人员的自我培养。我们该怎么办?本文不是关于所谓成功人士的经验(作者离他对成功的理解还有18万英里),而是从技术人员的角度所作的一些思考和总结,希望能给那些有经验的同事以参考。ADY从事该行业或愿意从事该行业。

二、不断学习,建立自己的知识体系

学习能力应该是一个人最重要的能力之一,因为我们的大部分技能需要通过学习来获得。所谓天才,就是它的学习效率或学习能力比普通人强。IT技术的更新日新月异。无论是更新的新版本还是新框架的出现,它们都在以非常快的速度前进,令人眼花缭乱,势不可挡。因此,对IT技术人员来说,持续学习和选择性学习尤为重要。

那么,在和平时期,我们应该如何学习并不断提高我们的专业技能和综合能力呢?我总结了以下方法:

1.买书,上网

现在科技图书市场好坏参半,价格也不便宜。因此,建议有选择地购买技术书籍,介绍书籍的一般原则,如介绍JVM的基本原理、数据库的基本原理、设计模式、算法等书籍,在一定程度的保存下,可以不断购买修订版的书籍。电子战学习,虽然框架介绍书籍,个人不建议购买,因为盒子。帧更新迭代通常更快。有时当你买它们的时候,它们可能已经过时了,没有价值保护。因此,建议从官方文件、博客、公众号等渠道学习,也就是从网络科学中学习。从控制论中学习的最好方法是从官方文档中学习,因为信息在传播过程中会丢失,尤其是在英语文档中。不同的人有不同的语言和理解水平。对原文的分析或多或少有偏差。公文是最原始的,损失最小。其次,从一些知名的高质量的博客,从公众号,到最好的从头到尾,了解作者的整体技术体系(那些拼凑的,没有实践直接复制粘贴的最好不要去看)。

2.向大佬学习

三个人走路,一定要有我的老师,向比你好的人学习。在一个团队中,总是有一些很强的能力,而强壮的人总是有一些不同的特点和习惯。他们善于与这些人沟通。他们善于发现和总结他人的好性格和习惯,然后模仿、吸收,最后形成自己的性格和习惯。

3. 从总结学

任何组织或团队,总会有这样那样的问题,如果一个团队没有问题,那么这本身就是一个问题。在解决问题时,不应终止对问题的处理,也应及时总结,吸取教训,避免同一问题再次发生。当我第一次对除夕直播进行实时数据统计分析时,我工作的一家公司的数据部估计,由于缺乏经验,产品运营部的并发用户数约为50W。所以团队根据这个预测做了一个预测,准备了相应的服务器,结果是现场直播和当晚在线使用。250W+是家庭压力的五倍以上,直接破坏了整个实时分析环节。有趣的是,最初准备的大多数服务器磁盘都是几十GB的配置。滚动的日志在不到几分钟的时间内就填满了磁盘。一些人只是为了确保数据不会丢失而迁移日志文件,他们已经很匆忙了。只能放弃实时分析服务。幸运的是,数据已被保存,随后修复已创建连续工作36小时的记录。这是一个典型的失败教训。恢复后,我们总结了几点。一是预测不够,二是应急预案编制不到位,三是运行维护等部门不配合。第二年年底,我们的准备工作比预期多了三倍,每项服务都做好了镜像准备,做好了扩展准备,并协调运行维护部门实时监控各项指标,成功响应了5600万用户的直播。同时在线。因此,从问题和失败的回顾来看,中学是提高进步的主要途径,团队也是,个人也是。

4. 知识管理

据报道,有连续的技术专长,对于IT技术领域来说,真正的堆栈非常少,所有的熟练通常意味着所有的平庸。因此,选择自己的技术方向,并进一步开拓,IT软件技术领域的总方向是服务器、网络前端、移动、大数据、人工智能等。在学习和工作的同时,及时记录一些重点和难点。好的记忆力不如糟糕的写作。许多人在学校有记笔记的好习惯,但当他们参加工作的时候就失去了。对于IT技术人员来说,他们每天大部分时间都在面对计算机,因此他们可以使用一些笔记本软件(如印象笔记、OneNote等)来组织和记录他们在日常学习中遇到的一些知识点、问题和解决方案,这很容易被审查。和咨询。他们也可以使用博客和公共号码的形式。定期梳理自己的知识体系,不仅巩固了自己的知识,而且为人们学习提供了参考,何乐而不为呢。如果两者都不可用,请从今天开始选择一个。

三、对待问题要刨根问底

所谓求知,就是要了解事物背后的本质和根源,以此类推,互相举一反三。例如,如果你在博客文章中看到添加评论可以实现某种功能,你可以直接使用它或者分析为什么它可以实现这种效果;或者如果程序崩溃,你可以直接重新开始处理,或者在某些条件下收集必要的数据分析原因,或者gua先咆哮一下。在应用程序服务可用后继续跟踪定位。很多人都有过找人帮忙解决问题的经历,我也帮助过很多人找到和处理问题,但有不少人在你帮他解决问题后有了“牛叉”,然后就没有了。不要问问题的原因是什么,为什么可以处理它,如何避免它或类似的事情,然后下次你请求你的帮助,你会发现另一个类似的问题。我也看到过很多场景,在线服务失败,程序员通过重新启动服务来恢复,但很快又失败了,因此他每天都定期重新启动以避免故障的再次发生,但他过去从来没有想过找出故障的原因。他可能感觉不到相似。经验,不知道从哪里开始,但经验是积累的,没有人能从一开始就掌握所有的技能。这些都是表面上的坏习惯,不想被理解。

获得更好理解的最简单方法是询问更多关于原因的问题,直到您知道问题的根源或知识点。我曾经和一个研究生一起工作,他现在在微软工作,在一家公司做项目需要研究。当时,公司组织了一次黄山之旅,我们在黄山脚下的酒店里整理了文件。晚上,我们一起吃晚饭喝饮料。当我们回到房间时,我只能躺在椅子上,但我发现了。我的同学毫不匆忙地把电脑从包里拿出来,打开电脑,然后打开Eclipse…后来,我知道他一直在考虑解决一个问题,晚餐时突然灵感迸发,所以当他回来时,他立即尝试了。这个例子并不是说我的同学在喝酒后写代码的能力有多强,而是说优秀的人之所以优秀的原因在于他们遇到问题时的习惯和理解能力。但另一方面,理解并不意味着你必须一路走下去,花很多时间和头脑风暴回到操作系统甚至硬件的底层,因为毕竟,工作不同于科学研究,需要有效的输出。一般来说,您了解框架设计的基本原则和关键源代码,或者问题的根源和最佳解决方案,以防止类似问题再次发生。

四、做一个可靠的人

我认为判断一个技师是否合格有三个标准:态度、技能和成就。在这里我把态度放在首位,责任感是态度的重要体现。技术人员的责任感体现在哪些方面?我认为也有三点:它是否具有自我驱动力,它是否具有契约精神,它是否具有主动承担责任的能力。自我激励就是把分配给你的任务当作自己的事情,按时保质保量地完成,积极跟进你对上游的依赖,积极反馈问题和团队的进步,积极学习和提高技能和工作效率;精神合同的内容是,如果有变化,就说什么做什么。他们也可以及时沟通和谈判,主动性是要勇于承担自己应该承担的责任或没有人可以承担的责任,为团队提出建议,并尽可能地帮助他人。要做到这三点,是一个负责人,是一个可靠人,这样的人无论是老板还是上级,还是同事都会信任和尊重人。

《一个Java程序员该有的良好品质》

五、增长见识

经常听到一些同行的抱怨,这里每天都是添加、删除和修改,没有乐趣,没有增长。面对这样的抱怨,我想说的是,技术人员的视野不应该这么狭隘。任何Web项目都将涵盖从产品定位、需求分析到系统架构设计、数据库设计、前端和后端开发、测试到部署、在线操作和维护的所有内容。每一个相关的链接都包含了一本书无法解释的内容,你可以学到很多东西。有人可能会说我只是一个开发人员,你让我负责产品、架构、测试、操作和维护?面对这个问题,我可能会说,然后你继续写添加,删除和修改。

我认为技术人员的价值不在于你能写出多漂亮(不是说代码不需要写得好),也不在于你能设计出多大、多好的结构,而在于你真正解决问题的能力,在于你能用技术手段为企业服务。除了添加、删除、修改和检查之外,您还知道得太多。例如,您是否知道您的项目的总体结构、系统的部署计划、整个业务流程、所有的关键和难点,如果您知道,您能否找出每个环节中存在的问题,并为这些问题提供解决方案?具体计划?所以,不要抱怨添加、删除、修改和扩展你的视野。从软件工程的角度,而不仅仅是从功能或模块的角度,提高你的认知和能力。因为只有扩展你的视野和拓宽你的知识,你才能真正提高你解决问题的能力。如果你坚持认为这不是我的责任,那么你的水平能力和发展空间将基本上停止那里。

六、做事专注,提高工作效率

有人可能会说你说得太轻率了,我每天都写不完代码。我怎么能有那么多时间去学习、理解和拓展我的视野呢?对于这类学生,你可能需要问问自己,为什么你这么忙,技术水平和岗位不匹配,或者工作效率太低?面试筛选后,一般来说,技术水平和职位应该相匹配,那么如何提高工作效率,我认为主要方法之一就是提高重点。当你阅读时,你会发现那些成绩好的人通常不会在课后或放学后带着书阅读,而那些整天带着书阅读的人往往会获得平均成绩。为什么?因为当他学习好的时候,他会非常专注和无意识,所以他很有效率。那些整天看书的人不能总是集中精力。因为人的精力有限,他们可以听一会儿音乐,放松一下大脑,长时间地培养这种懒散的水。很难低效地思考习惯。工作也是如此。

以我自己为例,我属于那种能高度专注于工作,在工作繁忙时可能会忘记喝酒的人。当我从德国企业毕业时,我和同济的一个同学和复旦的一个同学进行了实习(这里没有学校偏见,只是一个案例研究)。每周,主管会给我们三个人分配相同的工作量任务。我通常可以在两到三天内完成,不需要加班,但两个同学不需要加班。但几乎每天加班都没有完成,最后通过我的协助按时完成。几天我特别关注他们的工作情况,发现他们会看一段时间的新闻刷微博,然后去喝一杯,戴耳机听音乐,不急,悠闲舒适。这种工作状态,除非能力很强,经验很丰富,否则能轻车熟悉道路三乘五分二处理事情,否则很难想到效率低下。
因此,保持高度的关注是提高工作效率的有效途径。随着工作效率的提高,你可以有一些时间去了解和拓展你的视野,从而提高你的能力,促进工作效率的进一步提高,这是一个良性循环;相反,如果工作效率没有提高,你就不会有E。现在是学习和提高的时候,当任务来临时,你只会更加忙碌。这是一个恶性循环。

七、软实力

对于许多IT技术人员来说,技术管理是他们职业发展的一个方向。尤其是在国内环境下,40岁或以上的人很难编写代码(除非你不再需要靠薪水生活,否则编写代码纯粹是一种兴趣)。从普通程序员到技术经理,除了技术能力外,还具有一定程度的软实力,如沟通表达能力、组织协调能力、业务架构能力等。程序员通常性格内向,缺乏沟通和表达的欲望和技能。因此,在日常工作中,要自觉提高自己,更好地与他人沟通,主动承担更多的责任,对企业有更深的了解。机会总是有利于有准备的人。只有在和平时期积累它们,当机会来临时,你才能有足够的能力和信心去迎接它们。

一般来说,寻找和把握技术管理发展机遇的方法有几种:1。去潜在的初创企业;2.对知名大型企业进行镀金,然后再对中小企业进行跳转;离开现有的上级;开设新的业务线;自己创业。任何方式都只是一个机会。我们能否把握它,不仅取决于机会,还取决于我们的积累和准备。

八、做一下总结

失败的原因是不同的,但成功人士的性格和习惯却大同小异。IT技术人员的自我修养可以从持续学习、理解、责任感、远见、高度集中、软实力等方面提高。只有沉稳稳步前进,逐步进步,才能在一个领域打好基础,冷静地应对所谓的“中年危机”。

点赞