应用软件系统程序员的三个立面

   这几年工作的重心其实一直没有在代码上,做了很多产品的工作,一直觉得打造一个全面发展的团队一定是我价值所在,所以一直说自己最擅长谈梦想,也确实跟很多人谈了梦想怎么落地、谈了职业规划、孜孜不倦的去聊如何才能踏踏实实的走好职业中的每一步。 最近工作的交接有机会静下来想一想,到底什么是程序员,程序员的升级之路到底是怎么样的,为什么现在那么多程序员都不合格,同时构思一下自己的提升计划。

    程序员其实一直在用一个特别平面的形象出现在大家的视野中,一提起来每个人总会提起那么几个不太可爱的词汇。而且铺天盖地的媒体对程序员的描述,也是那么个呆呆样子 ,到了最后程序员对自己打趣的时候,也就是那个样子。我想说那么是不对的,一群正在革新世界上各个行业,群体中60%以上的人都立志要改变这个世界,并信以为真的人,绝对不是那么个样子的。只是我们从来没有想过要好好描述一下自己,这也导致我们职业升级之路,简单到“好好学技术"这么几个字。

   ”好好学技术“,是个多么难的事,因为大多数行业是不需要平时不断的学习的,我们这个行业经常性的学习也才只能保证自己不被淘汰,还有人雇我们。在这之上要提高自己的水平,需要投入大量的时间和精力,也不一定真的就有效果,而且面对这么泛泛的一个话题,大家是无力的,不知道学啥是有用的、从哪学起才对。外加上一个正常人的自控力所限,结果就可想而知了。

    经过这段时间的思考以后,我把应用软件系统程序员的能力线,拆成了3个立面,最终组成一个三角形作为能力的整体。为什么要限定应用软件系统程序员呢,因为程序员做的事也是千差万别的,做别的软件开发的兄弟们我也不清楚你们适不适合这个模型。

   这三个立面分别是,开发能力、学术能力、管理能力,下面分别说一下。

   开发能力,指的是具体在项目中工作的能力,这个是市面上绝对多数程序员都偏向的能力,泛指能干活。很多人面试的时候强调的最多的就是,我在这家公司也没啥不能干的活了,所以想换一家看看有没有什么挑战。或着某些leader评价自己的下属时会说,这人干活好着呢,巴拉巴拉的态度特别积极什么的。能平铺直叙的把代码写出来,这就可以叫能干活,这种程序员,抽象和复用仅停留在嘴上,可能用过几次,或者小范围的抽象、封装过几个工具,所以他对自己的进步的定义大都依靠外部环境,希望环境能逼迫他进步,也所以很多leader评价这种程序员只能说干活挺好的,然后就开始谈如何积极,试图用潜力陷阱迷惑别人(这招一般情况下很好使)。好一些的能对程序做大量的抽象和复用,了解底层运行机制,并因为底层运行机制,反过来调整代码的写法,进而对重构、调优有自己一套心得,这种程序员世面上就很难找了。

  学术能力,之前大家其实会把所有的技术相关的问题统统定义为技术,所以研发升级之路就剩下简单的”好好学技术“,几个字了,往往很多人非常困惑的是,学了也用不上,但是做技术的不学技术也不行。今天我就想正式把这部份拆出来,在开发能力之外,独立强调学术能力。大家都知道,量变是质变的必要条件,学而所用的前提是学的足够多足够好。我们把一部分能力放到学术能力里面去,这样就和实际应用拆清关系了,有些东西是要做研究的,不一定非要实际用起来,学术是可以发表的,可以在一个方向不断加深的,学术类的宣传反过来会加强自身影响力,学术和应用的双向转换会推动能力和影响力的不断提高。为什么国内其实是没有计算机领域的大神的啊,因为我们太过关注开发能力而太过忽视学术性的研究了。

    管理能力,这一点估计是大家质疑最多的,做个技术还要管理能力嘛!我来回答的话,是人就要,你个做技术的你说你算不算人。管理不一定是怎么指挥别人,同样只会指挥别人这也不叫管理。管理的第一步就是管理自我,我们都听过一句老话叫,人贵在自知,自知就是管理自我很重要的一个表象。为什么有些人做事井井有条,家庭、工作圆满和谐;有些人整天怨天尤人,好像天底下他最倒霉呢?为什么有些人会说我真难啊 ,问你到了他的境地怎么办?而另一些人好像世界上没有什么难事,总能从容的处理呢。管理其实并不是指挥人该怎么指挥,而是告诉你,如何做人,如何做事。很多人身处困境时才会说我当初不应该如何如何,现在怎么办啊?会管理的人其实身处相似的困境也不一定有好办法完全解决,但是可喜的是,他根本不会走到那一步,绝大多数的事情不是一步变成那样的,是由你之前一个又一个的选择推动着走到这一步的,管理学的就是如何做好之前一个又一个的选择。或者让你不后悔走到这一步,因为让你重走一遍的话,你还是会这么选。所以学会管理自身多么重要啊,它不仅会让你有更好的生活,也为你职场升职做好准备。管理的三个境界分享给大家:做事、做势、做局。

    以上就是我对程序员成长拆开的3个立面,相对于之前笼统的”好好学技术“,将自己的成长拆分到这三个象限里,我想应该会更有针对性的提升,也会提升的更快,我最近会实践一下。

原文地址:http://www.cnblogs.com/breezeli/p/6940617.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次分布式B站爬虫任务系统的完整设计和实施

今天带来一个有意思的东西-分布式B站爬虫任务系统 这个小玩意源于上周在研究Azure的时候,发现云服务厂商都在推荐轻量级的存储队列服务,用来取代原有的比较重的消息队列服务,具体来说,比如阿里云就推荐使用消息服务替代消息队列&a…

Java8使用 Optional 处理 null

转载自 Java8(5):使用 Optional 处理 null 写过 Java 程序的同学,一般都遇到过 NullPointerException :) —— 为了不抛出这个异常,我们便会写如下的代码: User user getUserById(id); if (user ! null…

C# 7.1先睹为快(第一部分)

自2003年以来,Microsoft首次考虑对C#使用带小数点后位数的版本。当前暂定下一个版本是C# 7.1,其中有望包括:异步Main函数(Async Main)、默认表达式(Default Expression)、推导元组名&#xff08…

袜子商店应用:一个云原生参照应用

本文要点 袜子商店应用始于一个简单的演示应用,之后发现它十分有用,最终演化成一个完全容器化的、云原生参照应用。该应用混合使用了Go、Java、Spring以及Node.js。它拥有完整的持续集成和发布管道,最终会发布到AWS上Kubernetes集群的准生产…

最值得程序员get的30本行业干货

转载自 最值得程序员get的30本行业干货 1、互联网人的焦虑 互联网人是最焦虑的那批人,也是最爱学习的那批人。没办法,互联网行业的节奏实在太快了,每天都生活在信息爆炸的环境里,“风口”一个接一个。 网约车还没追上&#x…

编写高性能 .NET 代码 第二章:垃圾回收

垃圾回收是你开发工作中要了解的最重要的事情。它是造成性能问题里最显著的原因,但只要你保持持续的关注(代码审查,监控数据)就可以很快修复这些问题。我这里说的“显著的原因”,实际上是我们对垃圾回收的理解和期望不…

java中判断一个字符在字符串中出现的次数

源代码: //java中判断一个字符出现的次数//在下面字符串中查找有几个啊public static void testFindChar(){String str "啊!我爱你中国!啊,我爱你故乡";//存放每个字符的数组String [] strs new String[str.length()…

深入浅出 Java 中的包装类

转载自 深入浅出 Java 中的包装类 前阵子,我们分享了《Java中的基本数据类型转换》这篇文章,对许多粉丝还是有带来帮助的,今天讲一下 Java 包装类的的由来,及自动装箱、拆箱的概念和原理。 什么是包装类型 Java 设计当初就提…

java中实现将一个数字字符串转换成逗号分隔的数字串, 即从右边开始每三个数字用逗号分隔

源代码如下: /*将一个数字字符串转换成逗号分隔的数字串,即从右边开始每三个数字用逗号分隔 */public static void testFenGeNumber(){String number "1235954";StringBuffer sb new StringBuffer(number);for(int i number.length()-3;i&g…

事件总线(Event Bus)知多少

1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉。事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖&…

影响程序员生涯的三个错误观念,你千万不要犯

转载自 影响程序员生涯的三个错误观念,你千万不要犯 程序员在社会上,到底是怎样一个生活群体?是否能找到自己方向?其实,路一直都在那里,只是你看不到而已! 当初的你,可能一直被一…

用 docker secrets 保存 appsettings.Production.json

这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 —— 如果将包含敏感信息的应用配置文件 appsettings.Production.json 传递给运行在容器中的 asp.net core 应用。 Docker 针对这样的应用场景已经提供了解决方案 —— Docker Secrets&…

人脸识别简要说明

近日,或许是毕业季来临,或许是研究人脸识别的同行增多。总之,通过博客找我的人可所谓“络绎不绝”。 这几年来,自己不断的抽些碎片时间,整理出来的人脸识别各个版本,于2017年9月26日发布的java的第一个版本…

读《代码不朽:编写可维护软件的10大要则》C# 版

这本书特别针对没有接受过计算机科学或软件工程专业学习的软件开发人员,这类人员除了熟悉所用语言语法和语义之外,很少接受其他专业培训,对软件工程中的一些概念理解欠缺。软件设计方面考虑较少。如果要成为一个专业的程序员,就需…