今天看到了一篇文章,一个五年阿里人写的,再一次唤醒我对阿里的向往。

https://www.hollischuang.com/archives/5367

另外还看到他的一篇文章:在阿里工作5年了,斗胆谈谈我认为的高级开发到底应该是怎样的?

这篇文章就像是一把尺子,来衡量我的度。

# # 开发人员,应该具备哪些能力?

说起开发人员,好像应该有一个分类,实习生,初级开发人员,高级开发人员,架构师,领域专家。但是非常认可下边的一个提炼。我觉得以下的能力,不用分什么级别,具备下边的能力,不管在什么级别,都可以有比别人更大的机会。

想要跳槽,想要加薪,不妨看看下边的这些能力,自己具备多少!

1、软件开发能力

2、架构设计能力

3、项目管理能力

4、线上运维能力

5、业务理解能力

6、学习能力

7、影响力

8、目标导向

9、热爱的程度与专注的程度

# #  能力画像解读-软件开发能力

java 基础:集合类  、IO  、 JVM 。其中JVM最起码要了解,知道原理。然后做到好点可以进行线上的调优,发现与解决问题。

多线程:线程池、线程通信的方式、以及为什么要使用多线程,解决了哪些问题。见过一些,就是为了丰富自己的简历而用的,问的时候,使用的场景根本和多线程没关系。带来的好处,以及问题。

框架:springboot  、spring、  springMVC、以及ORM框架,mybatis 、JPA  等等。这些都是必会的,不会这个根本什么都干不了。想要脱颖而出,最好是能够深入的了解一个到两个的源码。不仅仅是会用,还是要了解原理。了解原理,还能够拓展我们的的思维能力,在一些特殊的业务场景下,能够借助已经有的思想来解决问题。

消息中间件 MQ之类的,不仅仅知道一个自己使用的,还用知道其它的,以及你在项目中为什么要用你用的那个。如果能深度的去了解一个就更好了,比方高可用,保证数据不丢失,不重复消费。

数据库相关: 关系型数据库mysql、 非关系型数据库redis、 elasticsearch  、事务 、索引 、sql优化(怎么优化的,为什么要优化)

算法编码能力:算法题是最能考验思维能力和代码能力的。

# #  能力画像解读-架构设计能力

包括两个方面:一个是代码方面的架构设计,一方面是技术架构。

第一个方面是编程的基本功,这要熟悉设计原则,设计模式,以及代码整洁,代码的一些规范。

  技术架构:就是结束视野,最起码知道一些技术即使没有使用过,也能在有需要的时候,快速使用起来解决问题。

最后需要补充的是,长时间的工作积累下来的经验,举一个简单的例子,就是服务器的目录,很多人使用起来,就是在随意的践踏,就和哈士奇拆家是一样的。这个很痛苦。所以一定要有规范的去使用才行。比方说如果是不同的人使用,在一级目录里边以自己的名字明名。

# #  能力画像解读-项目管理能力

这一块需要有人对整个项目都有一个很好的理解,能够对每个人的进度来进行控制,不说管理谁,在别人进度落下的时候,你最好能帮一下别人。把组员的气氛给带起来,保护好自己的组员,同事。

# #  能力画像解读-线上运维能力

这个就包括问题的定位,问题的发现,以及问题的解决。其中就包括了JVM调优等等。能够借助工具,在项目上线前进行压测。借助工具发现已经存在的问题。进行参数的调优。这一块如果做的好,对系统的性能会有很好的提升的。程序不是跑着就没问题的,要知道一些指标是否达标。

1、常见的Linux命令的使用

2、常见的服务器指标(Load、CPU、内存、GC情况等)的查看、问题排查

3、系统调优、性能调优、sql优化等技能

4、常见问题排查思路。如死锁问题、慢SQL问题、内存溢出问题、Load飙高问题等等。

# #  能力画像解读-业务理解能力

这个就是要对自己做的都熟悉。作为初级开发,如果对整体不去掌握的话,你能做的事是真的少,可能就是一些重复的增删改查。这个问题我也曾经有过,刚在12306做实习的时候,就关注自己做的内容,觉得设计就应该是领导做的,没有自己的想法。对整体的业务没有一个好的理解。后来我的领导也对我进行了指导。跟我讲了好多东西。让我能有提升,其实这是一个经验不足的通病,通常把自己和系统划分的太清。都不知道自己做的东西,属于系统的哪一部分,接下来要作什么。

把工作当做自己的事业,这样才会心甘情愿的去投入自己的精力时间。当然领导都喜欢这样的人,还有一些就是做自己的工作,一副事不关己的样子,真的很讨厌。如果有精力的话,主动的掌握一个系统的百分只八十,掌握别人做的内容。一定一定要知道自己做的内容,在整个系统中的地位,作用。

# #  能力画像解读-学习能力

这个是很重要的 ,学习能力,包括了自动驱动力,即使不需要,也能够去学习。还包括在需要的时候,能够进行快速掌握。刚来这家公司的时候,就接手了搜索平台。学习了elasticsearch,后来对集群重新进行了规划,整改,节省了近500G的内存,速度也提升了近百分之三十,这个都是通过学习官网,另外就是看了网上几乎全部的关于优化的文章。

这一块,很难有感触,还记得我在进这家公司的时候,面试官问了我都用过哪些数据库。最后专门挑 了一个我从来没有用过的,让我去写一个案例机试题。这个就是要考验学习能力,和抗压能力,适应新鲜事务的能力。具备这些能力,在现在的市场上,才能够立足,才能够把自己卖一个好价钱。

这个最终要的,就是快速上手的能力。

# #  能力画像解读-影响力

影响力的话,包括参加开源的项目、在社区活跃、有写博客的习惯并且获得很多浏览量、

在公司的话,其实就是让别人记住你,让别人知道你有解决难题的能力。有什么问题不能解决的时候,大家一下就能想到你。我想如果具备这个能力,你的领导肯定不会不知道吧,那么评级考核的时候,分数就自然不会低了。

多组织和参加一些交流会议,把自己的知识分享出来。这个其实是对自己的提升,根据冰山理论(我自己创造的理论),就是想要把冰山的展现出来,非常的依赖下边看不到的努力。而讲解也是同样,想要讲出来想想的,可能自己要准备的更多,最后讲出来百分之六十就不错了。

# #  能力画像解读-目标导向

有好的目标导向,有好的计划。这样的人总是向前的。他知道自己这一年的路怎么走,自然就会提升,这对公司而言,也会带来不错的提升。

# #  能力画像解读-热爱的程度与专注的程度

感觉吧,百分十五十以上的人,都只是把开发当做职业,并不是爱好。这样的人生活之外是没有开发的。更没有学习,这样的人很容易就会成为我在上边讲到的,即使现在很有能力,然后带有一副事不关己的样子。然后根据写好的剧本,用不了多久就会被淘汰掉。

一个对程序有着强列的兴趣的人,和到达非常专注的程度,这样的人,怎么都不会太差。别人解决不了问题,他总会凑过去解决一下。无形之中,会带来很多的收益。

所以我在面试别人的时候,自然而然的会选更热爱这个行业的人。

这个有开源项目,写博客(内容还不错的话),都是要加分的。

开发工程师应该具备哪些能力相关推荐

  1. 一个高薪的Android开发工程师需要具备什么能力?

    前言 任何工作,任何行业想要拿到高薪都需要这几点条件,时间,技术,关系. 时间,无非就是在这个行业摸爬滚打很久有自己一套赚钱的方法: 关系,说白了就是家中有人帮忙铺路: 技术,在一个行业技术专精就能受 ...

  2. 如何学习前端知识?优秀的前端开发工程师应该具备什么条件?

    Web前端开发技术主要包括三个要素:html.css和JavaScript! 如何学习前端知识? 我们生活在一个充满规则的宇宙里面.社会秩序按照规则运行,计算机语言几乎全部是规则的集合.计算机前辈们定 ...

  3. 网络安全售前工程师需要具备哪些能力?

    网络安全售前工程师需要具备哪些能力? 一张思维导图即可一目了然 售前工程师在项目前配合销售拿单提供技术支持,需要了解公司,公司产品,技术框架等细节,同时还需要了解行业竞争对手产品,各自的优劣势,就公司 ...

  4. 优秀工程师应该具备哪些素质_想成为一名合格的技术工程师需要具备哪些能力?...

    今天小编要跟大家分享的文章是关于想成为一名合格的工程师需要具备哪些能力.技术人员追求的也不仅是知识点,而是在专业领域正确做事的方法及达成目标的能力.两个同时入职的员工,一段时间后技术好的那个就发展得好 ...

  5. 什么是嵌入式软件工程师?需具备哪些能力?

    计算机嵌入式逐渐被大家认可,然而嵌入式软件工程师到底是什么?做一个好的嵌入式软件工程师又需要具备哪些能力呢?今天尚观教育小编跟大家聊一聊. 1.嵌入式软件工程师是什么? 嵌入式系统一般由嵌入式微处理器 ...

  6. 优秀互联网高级测试工程师应该具备的能力

    概述 在之前写的互联网高级测试工程师至少具备的能力一文中,提到了测试工程师至少具备的能力,但是并没有提到优秀测试工程师应该具备的能力,下文简单的谈一谈.当然这些全部都是我的个人理解. 能发现问题,还能 ...

  7. 嵌入式工程师需要具备的能力

    嵌入式工程师需要具备以下能力: 熟练掌握嵌入式系统开发工具:嵌入式系统开发需要使用特定的工具,包括编译器.调试器.仿真器.开发板.调试工具等,嵌入式工程师需要熟练掌握这些工具的使用. 熟悉嵌入式系统架 ...

  8. 软件测试工程师需要具备哪些技术,软件测试工程师需要具备哪些能力?

    原标题:软件测试工程师需要具备哪些能力? 软件测试工程师,是老板与开发人员之间的桥梁.因此,除了具备测试技术.测试文档撰写能力外,还需要具备一定的销售沟通能力,业务熟悉能力等. 那,如此全能岗位,需要 ...

  9. 网络优化工程师常用的测试软件,网络优化工程师要具备什么能力

    原标题:网络优化工程师要具备什么能力 了解过网络优化工程师这个职业的朋友都清楚,目前我国正值5G网络高速发展时期,有很大的人才缺口.而这个比较高薪的职业,但是也需要一定的职业技术能力去支撑你的高薪,不 ...

最新文章

  1. Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
  2. 函数式编程语言python-10分钟学会python函数式编程
  3. RecyclerView导包
  4. 修复cocos2dx的Label,WP8下不能换行的问题
  5. 如何分析SAPPSPRO-S_MAT_ENHANC_COMM问题
  6. 嵌入式学习之Qt入门第七篇
  7. 获取和保存当前屏幕的截图 实现的C++代码如下
  8. bootstarp span标签文本居中_web前端入门到实战:文本图标对齐的几种解决方案
  9. idft重建图像 matlab_不可见成为可见!超材料和 AI 融合,洛桑联邦理工破译了声音图像...
  10. 【重点】剑指offer——面试题27:二叉搜索树与双向链表
  11. Linux系统(一)文件和目录理解
  12. 实习成长之路: 重新认识IOC,你可能对IoC有些误会?
  13. stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针使用总结
  14. 灰色理论 光滑度处理 matlab,基于灰色理论的电子设备寿命预测研究
  15. kindeditor java上传_KindEditor的使用和上传图片的后台处理
  16. webex java插件_Linux安装Java和Webex
  17. 骨龄测试软件app_测测app下载-工具包-测测下载v1.0.11 安卓版-西西软件下载
  18. 从辉煌走向消亡(下)——小型机之王DEC公司
  19. Barrett And Montgomery of Polynomials
  20. 青龙面板滴滴果园自动签到

热门文章

  1. 广电BOSS系统简介
  2. matlab如何创建稀疏矩阵,matlab稀疏矩阵创建及实例
  3. JLink的SWO 调试设置方法
  4. 关闭VirtualBox检查更新功能
  5. android 应用
  6. 淘宝新店如何打造一个爆款?
  7. 主啊让我过完全得胜的生活
  8. hive启动警告:Establishing SSL connection without server's identity verification is not recommended
  9. 前端如何设置字体滚动,及向左移动
  10. H3C华三交换机开启web服务的方法