IT行业可谓现在的热门行业,程序员也是很多人羡慕的工作。薪水高,不用东跑西颠,敲敲键盘,看看屏幕,一切工作全都搞定,轻松而方便。

  但是,果真如此吗?

  不尽然,实际上,程序员的职业生涯也是一个求道的过程,需要不断的提高和学习,IT行业知识更新之快,常让程序员们有随时掉队的危险,无一日不战战兢兢,不敢稍有懈怠。

  程序员的职业生涯也可分为四个阶段,初级程序员(菜鸟)、高级程序员(熟练工)、系统程序员(高手)、软件大师(大师),其作品也 经历四种境界:

  可以运行的程序

  健壮、高效的程序

  结构优美的程序

  思想深邃的程序

第一阶段

  第一阶段的程序员都是编写可以运行的程序,很多从“Hello World”开始,当第一次按照教科书上的步骤,将源文件编辑完后,编译、连接、运行,在屏幕上显示出“Hello World”时,心中的激动一点也不亚于阿里巴巴打开了宝库的大门。

  初级程序员的目标一般是让程序能运行起来,他们迷惑于库函数的众多,不知道该用那一个,他们还要学习基本的语法,以使程序编译通过。初级程序员一般不会考虑设计模式、软件结构等问题。

  程序员菜鸟的时候编写的第一个较大的程序是本人的本科毕业论文题目——一个计算机辅助实验系统,开发工具为Turbo C,在DOS下开发(那个时候Windows还不太流行),整个软件大约7000行代码,在当时已经能干不少事,在DOS下也能显示不少花里胡哨的图形界面,支持中文,支持鼠标操作(那时候在DOS下需要自己处理鼠标事件中断),当时还颇受好评。

  可是今天再重新温习过去的作品,真有点掺不忍睹,整个软件毫无结构可言,一共分成两个源文件还是由于编译器不支持一个太大的源文件而被迫分开,整个系统就是源代码的简单堆砌。相信每个程序员都需要经历这个阶段,它是程序员职业生涯的开始,没有捷径可以跨越,只有不断的实践、学习和总结。

第二阶段

  第二阶段的程序员已积累了不少的编程经验,语法和库函数不再是障碍,他们已不再满足于程序正确运行、功能实现无误。

  他们需要了解程序背后发生的事情,需要了解操作系统的原理和调度机制,需要了解怎么样才能开发出更安全的程序,这个阶段的程序员往往还不懂得如何保护自己的程序,因此需要借助第三方安全平台去给程序做加密保护。

  同时还要了解内存管理,文件系统组织等;了解开发工具的细节,如C的函数调用机制,参数的传送机制、堆栈的建立过程等;了解Java的封装、继承和多态性背后的机制,虚函数实现机理等。他们不仅知道程序应该如何运行,还知道它为什么这样运行,能编写高效、鲁棒的程序。

第三阶段

  第三阶段的程序员能构建结构优美的软件系统,软件系统结构的合理性、可扩展性、可维护性、可测试性是系统程序员考虑的重点,结构优美的软件系统同一栋完美的建筑群一样,每个部分各司其职,搭配合理。

  一直认为,一个好的软件系统应当具有美学特征,如简洁、和谐规范、层次感等。

  一个好的软件系统应当是简洁的,易于理解的;

应当是和谐规范的,每个部分高内聚、低耦合,既分工又合作;

  应当是层次分明,易于维护和移植。

  所以,建议那些进行软件系统设计的程序员, 当你设计完一个系统后,需要问问自己:"它美吗?",如果答案是否定的,那么我建议你需要重新考虑系统的设计,如果答案是肯定的,那么,恭喜你,你已经达到一个相当高的水平。

第四阶段

  最后一级也许是每个程序员梦想达到的顶峰,程序设计不再是简单的工具,而是大师们改变世界的魔杖,从C到Java,再到COM和COBRA,再到XML 和WEB SERVICES,每次改变,不是软件语法和开发工具的升级,而是用软件构建现实世界模型的改变,是一种软件思想的革命,软件具有了灵魂和智能。

  如果没有理解这一点,认为Java只是更好的C,COM只是更好的Java话,你就没有了解它们的精髓和思想性。

学习C/C++编程知识,提升自己的C/C++编程能力,欢迎关注博主的微信公众号:C语言编程学习基地。一起来学习进步吧!感谢你的阅读,希望对你有帮助!

程序员进阶之路:四个程序员职业阶段,通常对应不同的薪资待遇!相关推荐

  1. 程序员进阶之路 --- 如何超过大多数人?

    点击上方 "程序猿杂货铺" ,选择"置顶公众号" 每天 0 点准时推文,我们不见不散! 本文来源 | coolshell.cn 当你看到这篇文章的标题,你一定对 ...

  2. OSChina 周一乱弹 —— 程序员进阶之路

    2019独角兽企业重金招聘Python工程师标准>>> 周日各位是怎么过的呢?是在加班还是在睡大觉?有时间的话咱们程序员还是要好好学习,补充一下. 程序猿的读书历程:x语言入门-&g ...

  3. Java进阶之路——从初级程序员到架构师,从小工到专家必会的技能

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题.希 ...

  4. Java进阶之路——从初级程序员到架构师

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题.希 ...

  5. 图解 | 搞定分布式,程序员进阶之路

    编程是一门艺术,它的魅力在于创造. 65 哥已经工作两年了,一直做着简单重复的编程工作,活活熬成了一个只会 CRUD 的打工 boy. 65 哥:总是听大佬讲分布式分布式,什么才是分布式系统呢? 分布 ...

  6. 程序员进阶之路—如何独当一面

    今天和大家分享一下,程序员如何独当一面这个话题,这是一个很大的话题,我把他分成三部分来谈: 一.需求转换的能力或者叫理解需求的能力: 二.分配时间的能力: 三.开发质量的问题: 我为什么把时间分配优先 ...

  7. dedecms怎么改php版本_PHP程序员进阶之路

    PHP开发工程师处在初级.中级和高级阶段需要掌握的技能也不同,本文分享PHP工程师处在不同阶段下需要掌握的技能. PHP初级开发工程师 PHP初级开发工程师需要掌握的技能 1. 走进PHP的世界 PH ...

  8. 【程序员进阶之路】吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程

    8 月 8 日,--基于 Coursera 的系列深度学习课程,希望将人工智能时代的基础知识传播到更多人身边.一周过去后,许多人已经学完了目前开放的前三门课程.这些新课适合哪些人,它是否能和经典的&l ...

  9. php程序员进阶篇 [十问PHP程序员]

    1.首先看了PHP的源码API函数,对于许多口水仗的争论一笑而过,只是停留在脚本级别上的什么效率,安全...之争完全就是无稽之谈,没有深入理解API,所有的争论都是臆测和不科学的态度.你做了吗? 2. ...

最新文章

  1. 苹果服务器修改主目录就打不开,苹果应用商店又挂了 App Store打不开怎么修复...
  2. reactNative 计算时间差
  3. pythin怎么根据月份获取月初和月末_数据统计丨7月份塑料市场明显回暖,8月份是否延续乐观行情?...
  4. 18-chown命令
  5. 带你剖析WebGis的世界奥秘----Geojson数据加载(高级)
  6. python简单应用题_Python简单应用题
  7. 苏州,遇见NXP痞子衡
  8. C语言购物篮解题思路,大型超购物篮问题分析数学建模.doc
  9. Java判断某年是不是闰年
  10. QT 用QAudio语音库实现音频信号的采集 以及发送到另一台电脑 播放
  11. java中怎么把数字打印在屏幕上_java中如何打印出蜗牛形状的数字
  12. iOS开发之字符串(NSString)的截取的几种方法
  13. 课堂小结:返回一个整数数组所有子数和的最大值
  14. 科学计算机怎么算定积分,定积分计算方法的归纳和分析
  15. Scala 下载安装配置
  16. Linux基础知识以及常见面试问题
  17. 威伦触摸屏入门布局提升题
  18. OpenCV-Python教程:色彩空间变换(cvtColor)
  19. 阿里巴巴宣布5.4亿战略投资中国万网==互联网电子商务绑定互联网基础服务为手机电子商务开拓铺路
  20. tpshop 阿里云短信sdk使用和带链接短信实现

热门文章

  1. 跟计算机有关的比赛策划,计算机协会“装机大赛”活动策划书
  2. android webview es6,Android v 5.0 webview HTML5,CSS3和ES6兼容性
  3. linux rt 应用程序,RTlinux编程
  4. Gulp简介、gulp基本使用步骤、gulp-cli工具、gulpfile.js文件、gulp插件
  5. vue-router路由、mixin混入、vue-resource、axios、计算属性watch、moment.js、vuex、vue-cli、数据双向绑定、搭建vue环境、vue实例、配置启动项
  6. javascript历史、作用、三大组成、javascript代码书写位置、注意事项、变量
  7. C语言递归算法(一)
  8. 互联网晚报 | 12月23日 星期四 | 芒果TV将上调会员价格;小红书宣布月活达2亿;荣耀首款折叠旗舰荣耀MagicV官宣...
  9. r语言 将表格导出为csv_r语言 将表格导出为csv_2. R语言基础语法
  10. 2017第二届中国信息通信大数据大会将于6月在京召开