大家好,又见面了,我是你们的朋友全栈君。
「高级工程师」
这个词听起来就好像是逼格高的意思,事实上,这是个模糊概念,高不高级没有个标准。做高级的工作才算是高级、还是说职称上带有「高级」字样。我所见过的一些所谓高级的职位或是头上写着高级的人,明明是对这个词的蔑视。每个人对高级的理解都是不一样的,下面就以我理解的高级工程师进行回答,不一定只适合“Java”方面的,如果一个工程师只是局限在一种语言内的“高级”实际上并不会太高级。
Java,这个大系语言,不必多说。要达到所谓高级起码应该具备下面几点吧:
1、基础上不存在障碍
除了「熟练掌握」Java本身外,对虚拟机(JVM)、数据结构、编译原理、语言特性、设计模式等都要有深刻的认识、理解、运用;
2、工程能力好
既然是工程师,就必须要具备按工程的方式将系统方案有效落地,做出高级的东西来,否则即使上一条具备得很好也是空谈,因为你必须要有所作为的,公司请的可是高级人才呀;
好的软件设计和架构能力:实现一个XXX系统不是说会编程就可以啦,不是说让网站跑起来就可以啦,一个网站正常的运行下去涉及到多少技术方案和软件架构,除了写好具体代码,一个好的设计和架构才能支撑一个网站稳定和高效、可扩展、可维护的,所以架构能力也是不然要求的;
3、具备良好的编码水平
毕竟要靠写代码立足的,你写出来的东西、你的作品必然面临线上环境的检验和其他人的模仿、维护、学习。基本的编码水平毫无疑问地在你字里行间的代码中得以曝光,如果被各种吐槽,那就是说离高级还有一段距离。
4、较强的学习能力
掌握了基本的以上两点基本可以能在编程江湖里活下来,但是,技术行业的东西更新换代太快,如果没有较好自学能力,不断掌握新技术,吃光老本的日子总有一天会到来,那时候就跟不上时代的步伐的变迁沦为“非高级”,所以要多学习、多了解外部世界,工程师的核心资本不是现在拥有多少“鱼”,而是真正掌握到“渔”的技能,创造力才是一个工程师的可持续生产力。
5、有技术愿景和情怀
这一点不是非有不可的,就是说你的劳动工具和工作思维是不是也是高级的。很难想象一个所谓高级工程师在windows7系统下用eclipse编程默默工作十几年的样子。对技术界的各种名词的敏感程度可以了解一个技术人的视野和情怀,我面试过一个三年经验的工程师,查问题只用百度,因为不会翻墙,从没有用过Google,也不知道世界上有个GitHub的网站。如果你看见了404路公交车一点也联想不到Tomcat小猫就不算是个有技术情怀的Java工程师;
6、对行业的了解和贡献,分享和开放的心态
干一行爱一行,否则就别干了。我之前面试过一个同学问知道Java现在发布到什么版本了吗,他说7吧,其实上9也发布了,可见这对自己的行业和工具关注度不够啊,你如果一直埋头苦干,不抬头看看路,也不愿意分享,生怕自己的代码被抄袭,更不会把自己的宝贝代码共享到GitHub上,这是心态上的问题,你要承认你那些破代码自己一年后回头看都是垃圾,大部分都是Copy拼起来的。
7、对自己足够了解
知道自己是需要什么,所谓缺什么补什么。见过好多工程师,人云亦云,参加了一个大数据会,就说Hadoop不得了,要学起来;几天后,发现现在的机器学习的工资高的不得了,要挑战机器学习和推荐系统,又买了许多书和在线课程,最后发现“蜀道难”啊,他的数据结构和算法还没有入门。跟风是一种不了解自己的典型症状。
8、其他
一些软性的东西,会说话,有效的沟通,明白事理,生活和工作的和谐统一,等等等等。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156740.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...