成为优秀程序员的11个有效方法
2015-01-13 13:08:31  By: dwtedx

什么是软件工程师

软件工程师的职业生涯要历经以下几个阶段、初级、中级、最后才是高级、这篇文章主要是讲如何通过10个步骤助你成为一名高级软件工程师


为什么要成为高级工程师

得到更多的报酬、因为你的薪水会随着你水平的提高而增加、提升你的职业生涯、成为了高级软件工程师之后、就可以朝着架构师、团队负责人、CTO等职位前进、历经更大的挑战、随着你的成长、各种影响力也会提高


怎么成功高级工程师

软件工程是很难的、这一行业在不断变化中、所以你必须紧跟它的步伐、你必须不断地投入时间和精力、因为你需要学习的东西总是比你能吸收的多、很多新手工程师甚至都不曾意识到他们如果想要攀登行业的高峰、要学习的东西、要付出的努力得有多少、不过、不用担心、下面我将指出一条“明路”有助于你成为一名高级软件工程师

如何成功优秀的程序员


一、选择你的道路、坚持下去

做一件事、就要把它做好、——Doug McIlroy《Unix Philosophy》

关于这一点、我真的是强调得不能再强调了、选择好你将与之并肩作战的专业和技术堆栈非常重要、坚持不懈、不要分心、至于应该怎么做请看下面
选择专业、也就是你想做的事情、例如:Web开发、移动开发、DevOps等、选择专业中的实用技术、例如:如果你选择了Web开发、那你就需要在Ruby on Rails、Python、Django、JavaScript和MEAN等之间做斟酌、如果你选择的是移动开发、则需要在iOS和Android等之间做出选择、坚持下去、直到掌握这门技术


我的意思并不是说除了你的主要专业以外、你就不必熟悉其他的了、那种首屈一指的软件工程师通常对其他的编程语言和技术都非常了解、当然首先他们对他们自己的主要专业了解得非常剔透、当你确定好主要专业之后、接下来要做的就是学习、阅读所有相关的书籍、练习各种必要的技能、这可能需要很多年的时间、但是千万不要气馁、一步一个脚印、一个一个攻克难关、量变才能达到质变、关于技术、我的推荐是:Ruby on Rails之于web开发、iOS之于移动开发、这是我是以一个过来人的身份告诉你的宝贵经验、不过我还是想补充一句、可能每个人的口味不同、我的经验也许并不适合你、你完全可以选择其他的技术、不过这样的话、你要阅读的书籍可能就和我的推荐不一样了


二、奠定基础

《The Pragmatic Programmer 》对于我们掌握软件是一个很好的起点、该书总结了高水平的实践探索、这与我们使用的是什么语言/技术无关、无论你选择的是哪种技术堆栈、其主要原理都是一样的


三、掌握你的编程语言


你以后每天需要面对哪种编程语言取决于你今天选择的技术、但是编程语言总有主次之分、例如、Ruby on Rails开发人员主要使用Ruby、AngularJS开发人员大多数时间用的是JavaScript、确定编程语言、掌握编程语言对你的职业生涯发展至关重要、因为以后你每天都会使用它


四、学习框架


选一个、然后好好学习、做Java的可以学习Status、Spring、Hibernate、.NET可以学习MVC、Ninject等


五、掌握文本编辑器/ IDE


再选一个、然后坚持不懈地掌握这个工具、如果你选择的是VIM、那就要成为它的主人、让它往东就往东、

六、使用版本控制系统


我建议使用SVN、VSS、Git等、下面是我喜欢的资源、Pro git——免费的在线电子书、详细讲解了git的各个方面

七、做好测试驱动开发


将TDD添加到你的技术堆栈中、养成每天TDD的习惯、高质量的代码源于良好的测试


八、将重构养成习惯

随着你不断添加更多的功能、代码库也会越来越复杂、为了保持代码库的可管理化、你需要重构、如果你不重构的话、你很快就会进入两难境地——即使是做很小的改动都很困难、bug没法避免、没有人愿意处理这个凌乱的代码库、重构能让你的工作更加轻松、事不宜迟、赶快养成重构的习惯吧


九、学习软件架构

根据你上面选择的堆栈、再学习相关的架构、多看一些软件架构方面的书籍可以增强你的软件开发能力


十、展示命令行的力量

刚开始接触命令行的第一感觉就是望而生畏、但是、一旦你学会如何使用、这将大大提高你执行一些基本任务的效率、而这本身就能让你成为一名更好的开发人员、因为你能在更短的时间里实现目标、然后你就能进入下一个水平、使用shell自动执行常见任务、建立自己的dotfiles、如果你使用的mac或者Linux发行版、那么学会shell


十一、code code code


只有不断地练习学到的知识、你才能真正掌握它


总结

众所周知、成为一名高级软件工程师是非常难的、这需要大量的时间和精力、不同的人他们的学习速度也不尽相同、但是平均来说、大约需要10年时间才能成为一名可靠的高级开发人员、你付出的各种投资最后必将给你带来巨大的回报、软件工程师的钱途很美好、其就业市场的需求一直居高不下、薪资水平也根据经验程度在提高、这是一个快速增长且相对较新的领域、软件工程师的每一天都在面临挑战:挑战改变人们的生活、来吧、各位软件工程师、首先挑战成为一名高级软件工程师吧

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新资讯、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


博文评论

  • 该博文还没有评论、赶快抢沙发吧...
DD记账
top
+