读《一位资深程序员对当前软件行业的技术感悟》有感

开发 开发工具 后端
今天早上坐车的时间正好读完了这一篇文章《一位资深程序员对当前软件行业的技术感悟》,觉得有一点意思,可以拿来写写。
[[94527]]

今天早上坐车的时间正好读完了这一篇文章《一位资深程序员对当前软件行业的技术感悟》,觉得有一点意思,可以拿来写写。

作者有15年的IT工作经验,3年的管理经验,想想自己,如果算上大学自己两年做的项目,加上工作6年的经验,也有8年了。

作者说:“不过在这同时,给公司内部也做了很多J2EE的项目,例如公司的门户网站,公司内部的Release平台,以及Team内部用的小工具。不过好景不长,从开发就转向了管理,一管就是3年,在这三年中不夸张的说去趟厕所都是跑着去跑着回,这还不是最杯具的,最杯具的是根本没有时间写任何代码!!!”

其实很多人期待从技术转向管理,技术人员转让管理人员最大的挑战就是会有一种失去安全感的感觉,发现好像不看技术了,只做纯管理,貌似没有了生存的根本,当初自己也在犹豫了很久,也做了差不多一年的管理,这段时间很累,在民企管人是一件很苦逼的事情,除了考核权,发现没有其他的权力了。后来坚决不做了,有从事技术,不过大都数时间都很少在写代码了,现在学学Objective-C,自己业务时间做移动互联网的开发,觉得比较有意思。

作者建议:“还是最少要写上15年以上的代码之后再去考虑管理,要不然你会很快被淘汰”

这一点不是很认同,程序员并不是限定于写代码,我觉得代码这个是写不完的,而是从写代码中去提升自己的技术实力。有一些人写一年代码顶有一些人写5 年代码,当你发现你写代码开始都是Control +C 和 Control + v 的时候,就应该想办法提升了,天天写CRUD的时候,你也应该考虑是不是该换个领域里。个人觉得应该深入一门语言,然后扩展其他的编程语言。这一点我做的不是很好,直到现在,才开始接触一些客户端编程。如果是以前,我肯定会去学Python。同时多看看代码比纯粹的多写代码更好,看一些开源的代码实现,不仅仅能够让你使用他更轻松,也能够增强你的设计能力。

作者关于编程语言的看法:相对来说比较认同

在目前主要的三个领域,传统软件,互联网,移动 ,Java的确不怎么占据优势,而且我觉得Java会在互联网和传统企业软件领域慢慢丢失市场份额。
怎么说,我是学习Java的,在互联网,除了一些电商类和支付类等对大型复杂的,分布式 高并发,事务型系统,Java比较有优势,主要分析下来,优势包括:

  • 1 开源提供的解决方案比较多,例如jpa,hadoop,jboss,esb,消息中间件
  • 2 Java比较适合大型团队,比如上百上千的开发团队,因为语法死板,有一定的编程规范,每个人写出的代码的风格不会有太大的差异。
  • 3 因为开源,基本上所有的软件资源都有免费的,开发工具eclipse,web服务器apache,j2ee容器jboss,消息中间件 activeMQ,数据库mysql,操作系统Linux。阿里最近都在搞去oracle,全部替换成为mysql。
  • 4 使用开源产品,发现问题可以自己看源代码搞定,也可以对开源产品进行定制优化。例如淘宝最近就开源了自己定制的 jvm。而没有必要想服务厂商交服务咨询费用。

所以亚马逊,ebay,苏宁,淘宝,支付宝 都主要采用Java作为开发平台,京东也在往Java上面转。

但是Java存在的问题也有很多

  • 1 Java的框架太多,每个公司用的都不一样,而且版本混乱,有一些很重量级的
  • 2 开源产品同类的多,需要取舍,而且有一些自以为很牛逼的架构师喜欢在开源的产品上封装,搞自己的框架,搞的各个公司的框架都不一样,学习成本高。光一个xml解析工具,都有几十种。
  • 3 开发效率向相当低,远远比PHP,Python这些静态语言低很多

所以对于web2.0这样的网站来说,非常不适合用Java。我比较赞同使用PHP或者Python。比如豆瓣,优酷。

在企业级市场,.net会是非常不错的选择。首先环境统一,开发效率高,微软的开发工具非常强大,这一点我不得不佩服,而且微软针对整个开发周期都有配套的工具,都能够比较好无缝的结合,对开发人员来说比较友好。不像Java,东拉一点,西凑一点,这一块不想互联网市场,不会出现大规模集群。所以就算全部使用微软的解决方案,软件成本的支出也不会很高。而且微软的服务据说特别好。

不过作者也忘记了一块越来越重要的市场,就是云计算,Java在这个领域比较有优势,主要是还是因为开源世界的支持以及google,亚马逊这些IT厂商的支持。学习Java的同学可以关注这一点,可以把Hadoop了解深入,我想去大公司应该没有太大的问题。不知道到微软在云计算上目前的进展如何。

ps:这一篇只是自己的看法,编程语言没有所谓的好与不好,只有在合适的地方使用合适的语言才好。对于编程语言之争之类的,我是比较反感的,也是最没有意义的。编程语言的背后是设计思想,这个才是最重要的。作为程序员,我觉得应该多学习几门风格不同的编程语言,这样可以加强你对编程的认识和理解。

上一幅搞笑的图,大家轻松一下:

读《一位资深程序员对当前软件行业的技术感悟》有感

原文链接:http://hp.dewen.org/?p=1582

责任编辑:林师授 来源: 黑客与画家
相关推荐

2015-12-24 18:00:45

资深程序员

2011-09-06 13:48:09

程序员

2015-12-29 18:07:36

周刊

2013-12-05 13:41:15

女程序员奋斗

2013-08-20 09:33:59

程序员

2015-04-14 09:29:25

CTO程序员

2019-04-17 09:14:39

程序员 996马云

2015-12-22 15:49:28

程序员互动访谈

2013-11-04 10:32:01

Facebook女程序员

2015-06-02 04:38:54

程序员俄罗斯程序员

2015-10-28 09:11:31

Python导师级程序员

2019-08-14 17:20:40

程序员人生第一份工作Google

2013-03-19 10:18:07

程序员

2014-06-27 09:17:53

程序员

2014-02-20 10:11:15

2021-02-20 10:37:43

代码编码开发

2014-06-30 16:08:29

2020-12-10 11:21:00

编程C ++程序员

2011-03-03 20:53:28

程序员人才

2020-12-07 14:58:50

程序员开源开发者
点赞
收藏

51CTO技术栈公众号