一、前言

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

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

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

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

1.买书,上网

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

2.向大佬学习

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

3. 从总结学

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

4. 知识管理

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

三、对待问题要刨根问底

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

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

四、做一个可靠的人

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

五、增长见识

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

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

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

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

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

七、软实力

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

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

八、做一下总结

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

一个Java程序员该有的良好品质的更多相关文章

  1. 做为一个Java程序员,你需要哪些傍身的技能?

    最近总有些断断续续的思考,想想从我入行以来,我到底学会了什么,做成过什么,以后要做什么,如何提升自己······· 工作3年了,常听人说3年,5年,10年是程序员的坎,每过一个都会有新的想法,新的改变 ...

  2. 0~5年一个Java程序员的晋升之路

    在程序界流行着一种默认的说法叫“黄金5年”,也就是一个程序员从入职的时候算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向,如何走好这5年,彻底从一个刚入行的菜鸟蜕变成可以以不变应万变 ...

  3. 文章推荐一个Java程序员跟大家谈谈从业心得

    一个Java程序员跟大家谈谈从业心得 2017-10-21 java那些事 java那些事 java那些事 微信号 csh624366188 功能介绍 分享java开发中常用的技术,分享软件开发中各种 ...

  4. 正式工作的前奏——一个Java程序员的实习总结(1)

    不知不觉,到深圳实习已经三个礼拜了.跟在暑假的三个半月实习不一样,这次收获更多,感受更好,算是摆脱了那次实习给我带来的阴影(这个会放到以后才说). 在知乎上,有这么一个问题,你现在最想跟刚工作时的你说 ...

  5. 一个JAVA程序员成长之路分享

    我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...

  6. 一个java程序员的年终总结

    年底了,该给自己写点总结了! 从毕业到现在已经快4年啦,一直在Java的WEB开发行业混迹.我不是牛人,但是自我感觉还算是个合格的程序员,有必要写下自己将近4年来的经历,给自我以提示,给刚入行的朋友提 ...

  7. 一个Java程序员的实习总结(2)

    在今天的总结里,主要讲述第二.三周这半个月的培训情况,并且穿插讲讲我对实习和见习的看法,有需要有兴趣的童鞋可以看看. 半个月的见习 其实我更愿意把实习和见习分开讲,实习指的是还没签三方或者直接就是大三 ...

  8. Python 绘制图表之我见 ---一个java程序员的看法

    ---------------- 环境: win 10  . python3.5 https://github.com/Leechen2014/1400OS_01_Codes/blob/master/ ...

  9. Java入门基础学习,成为一个Java程序员的必备知识

    引言 众所周知,Java是一种面向对象的编程语言.您可以在Windows操作系统上编写Java源代码,而在Linux操作系统上运行编译后的字节码,而无需修改源代码. 数据类型 Java 有 2 种数据 ...

随机推荐

  1. Unknown column 'startname' in 'field list

    Unknown column 'startname' in 'field list  字段匹配不上 解决思路 1.检查数据库字段名与sql中的字段名是否一致 2.是否为关键字或中英文区别 ,(关键字可 ...

  2. load average 定义(网易面试)

    1. load average 定义 linux系统中的Load对当前CPU工作量的度量.简单的说是进程队列的长度. Load Average 就是一段时间 (1 分钟.5分钟.15分钟) 内平均 L ...

  3. 删除DB2实例下的数据库

    db2ilist 查看所有实例  db2 get instance 查看当前连接的实例 db2 list db directory 查看当前实例下连接的数据库 ==================== ...

  4. Solidity开发注意

    pragma版本:1.版本要高于0.4.24才可以编译:2.高于0.5的版本则不可编译:3.第三位的版本号可以变,留出来用做bug可以修复(如0.4.1的编译器有bug,可在0.4.2修复,现有合约不 ...

  5. [原]globalmapper设置高程配色(globalmapper自定义配色方案)

    1.使用的globalmapper版本:1.8以上(之前的版本也应该支持) 2.将全球DEM加载进去 (零时找的小DEM  全球7级) 3.右击此处,选择“高程图例选项” 4.选择 配置-着色器选项 ...

  6. Python 使用 win32com 模块对 word 文件进行操作

    what's the win32com 模块 win32com 模块主要为 Python 提供调用 windows 底层组件对 word .Excel.PPT 等进行操作的功能,只能在 Windows ...

  7. Redux counterpart rematch dva

    rematch https://github.com/rematch/rematch#examples 数据模型一个文件定义, 不用分散到 action actiontype reducer 文件 e ...

  8. JavaScript 图片与Base64数据互相转换脚本

    JavaScript 图片与Base64数据互相转换脚本 注: 转换过程中注意跨域问题.测试页是否支持相关标签创建.dom结构. 方法一:非Html 5使用FileReader 使用XMLHttpRe ...

  9. C#中Control的Invoke和BeginInvoke是相对于支线线程

    近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资料,整理如下. Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用, ...

  10. angular4.x实现一个全选,反选,外加从下一页返回上一页,选中上一次的操作记录

    productMap:any = new Map<string, string>(); //定义一个map的数据模型 //只要操作这个checkbox 那么只管把数据全部勾起了就行了 刷新 ...