zoukankan      html  css  js  c++  java
  • 国内IT软件开发人员现状

             首先在这里讨论的是国内的大陆地区。在今天这个中国IT环境下,开发人员出路何在?一个优秀开发人,应该有致力于编写优雅代码,让别人读得懂,具有可读性,可测试性的代码,不仅仅是可以运行的代码。所以经常需要对现有的代码重构,包括自己写的代码。而现在国内的开发人员这方面的素质一直缺乏,就更难谈得上对软件开源社区的贡献了。

          所以一些优秀的开发人员后面都去做架构师了,但又不是每个公司都需要架构师。又有一些由于家庭的原因,转做PM了,由于开发人员需要不断的学习,新技术的更新换代,日新月异,所以你不学习就跟不上时代。当你到30岁的年龄,由于精力的不够,越来越多的开发人员被迫转行或转型。剩下来的人,优秀的相对较少了,由于国内环境的影响很少人会继续专注于开发领域。只有一线大型软件公司,如Microsoft, Google,IBM等公司,能让你一直做软件开发工作。再讨论一下国内的一线城市(北上广深)的IT软件行业特点,大型公司(如上列举几家巨头)分工明确,以至于让你转变为专业化的IT软件开发人员,对某一个软件开发领域越来越深入。的确,一些大公司也需要你这样专业人员。一类这样的开发人员(30岁或以上)在大型IT公司工作,未来他们的方向有可能是部门经理,有可能是架构师,无论哪一儿条路也不容易,因为大公司有向上走困境。有的人可能三十多岁还在做Engineering or Coding。这种现象在国外大型公司更是正常了,越是资深的,越是年龄大的程序员越得到尊重。而在国内民营公司,或非IT的公司则正好相反。
          在一些民营小公司,做软件就是小打小闹,软件小作坊,你会发现很多不如意的地方,可归结于不专业,不专业化带来是工作效率的低下,并且存于整个在公司的过程或流程的方方面面。还有一种情况,有的人就没有经历专业化,由于不求上进,所以他们就没有这个思想意识。由于不专业化,一些人也不求上进,混日子的人也不少,当你与这些不专业的人工作在一起,你会感到非常的郁闷。这时,可能你需要修改那些mess or crap code(垃圾代码),那可真是一种痛苦的事情。特别是,当你试图改变这一切时又受到上层阻碍,或得不到支持,没有上层的批准,整日在这些垃圾代码上工作,渐渐地你的愤怒情绪不断增长,终有一日需要释放,谁也不想每天让这些垃圾代码弄得心情不愉快呀,谁也不想由工作不愉快情趣影响对人的看法,即使做到对事不对人。

          有时正因为这些垃圾代码让你加班,你需要实现某些功能。而那些垃圾代码作者根本没有意识这些问题,你在这边完善,他在那边乱搞。就像那句话:“不怕神一样的敌人,就是猪一样的队友”。记得某一年的程序员杂志上,采访某个软件公司Leader, 他说到让不好的人进入团队,就是对其它团队人员的不尊重。所以,你必须尽量争取去一个优秀的Team,无论是大公司还是小公司,与优秀的人在一起工作,你会学到更多。在今天很多的成果与业绩需要一个Team来完成,不再是个人主义的时代,而是依赖一个Team有效分工协作。Team才能创造出好的产品或服务,当你做为一个Leader时去负责管理Team时,需要遇到的情况就会更多了,当然越是困难多,对你的历练就越多,对你也是成长,这是一个过程。

          综上所述,在一二线城市做软件开发,可以尽量去大型知名公司工作。在三线城市,因为没有大型IT公司,可以选择转型做PM或开发经理或其它IT职位,很多时候转型是受环境和平台影响,没有特定的环境平台你也做不了。还有就是寻找创业团队,并加入他们,但创业是不容易的,需要做好一切准备。

    关于如何写优雅,可读性,可测试性的代码,什么是优秀的开发人员,可参考以下书籍:

    The Art of Readable Code

    Code Complete: A Practical Handbook of Software Construction, Second Edition

    The Clean Coder: A Code of Conduct for Professional Programmers

    The Pragmatic Programmer: From Journeyman to Master

    Working Effectively with Legacy Code

    Beautiful Code: Leading Programmers Explain How They Think 

    The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life)

    Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman

      
    以上一些想法,是回顾过去工作经历而来。
    最后,希望各位选择好自己的职业生涯。




    作者:Petter Liu
    出处:http://www.cnblogs.com/wintersun/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    该文章也同时发布在我的独立博客中-Petter Liu Blog

  • 相关阅读:
    matlab矩阵中如何去掉重复的行;如何找到相同的行,并找到其位置
    Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
    机器学习基石笔记1——在何时可以使用机器学习(1)
    Coursera 机器学习 第9章(上) Anomaly Detection 学习笔记
    matlab安装过程的被要求的配置程序
    jdk环境变量配置
    Coursera 机器学习 第8章(下) Dimensionality Reduction 学习笔记
    Coursera 机器学习 第8章(上) Unsupervised Learning 学习笔记
    Coursera 机器学习 第7章 Support Vector Machines 学习笔记
    linux服务器---squid限制
  • 原文地址:https://www.cnblogs.com/wintersun/p/3150248.html
Copyright © 2011-2022 走看看