软件工程师的职业生涯要历经以下几个期间:初级、中级,最终才是高档。这篇文章首要是讲怎么通过10个过程助你变成一名高档软件工程师。
Why
得到更多的酬劳!由于你的薪水会跟着你水平的进步而增加
进步你的职业生涯。变成了高档软件工程师今后,就可以朝着架构师、团队负责人、CTO等职位行进
历经更大的应战。跟着你的生长,各种影响力也会进步。
How
软件工程是很难的。这一职业在不断改动中,所以你有必要紧跟它的脚步。你有必要不断地投入时刻和精力,由于你需要学习的东西老是比你能吸收的多。许多菜鸟工程师甚至都不曾意识到他们假如想要攀爬职业的顶峰,要学习的东西、要支付的尽力得有多少。不过,不用忧虑,下面我将指出一条“明路”有助于你变成一名高档软件工程师。
过程0:挑选你的路途,坚持下去!
做一件事,就要把它做好。——Doug McIlroy《Unix Philosophy》
关于这一点,我真的是着重得不能再着重了。挑选好你将与之并肩作战的专业和技能仓库十分重要。坚持不懈,不要分神。至于应当怎么做请看下面:
挑选专业。也就是你想做的作业。例如:Web开发、移动开发、DevOps等。
挑选专业中的实用技能。例如:假如你挑选了Web开发,那你就需要在Ruby on Rails、Python、Django,JavaScript和MEAN等之间做酌量。假如你挑选的是移动开发,则需要在iOS和Android等之间做出挑选。
坚持下去,直到把握这门技能。
我的意思并不是说除了你的首要专业以外,你就不用了解别的的了。那种名列前茅的软件工程师一般对别的的编程言语和技能都十分了解,当然首要他们对他们自个的首要专业了解得十分剔透。当你断定好首要专业今后,接下来要做的就是学习,阅览一切有关的书本、操练各种必要的技能,这或许需要许多年的时刻。可是千万不要气馁,一步一个脚印,一个一个攻克难关,量变才干达到突变。关于技能,我的引荐是:Ruby on Rails之于web开发,iOS之于移动开发。这是我是以一个过来人的身份告诉你的名贵经历。不过我仍是想弥补一句,或许每个人的口味不相同,我的经历或许并不适合你,你完全可以挑选别的的技能,不过这么的话,你要阅览的书本或许就和我的引荐不相同了。
过程1:奠定根底
《The Pragmatic Programmer 》关于咱们把握软件是一个很好的起点。该书总结了高水平的实习探究。这与咱们运用的是什么言语/技能无关。不管你挑选的是哪种技能仓库,其首要原理都是相同的。
过程2:把握你的编程言语
你今后天天需要面对哪种编程言语取决于你今日挑选的技能。可是编程言语总有主次之分。例如,Ruby on Rails开发人员首要运用Ruby,AngularJS开发人员大多数时刻用的是JavaScript。断定编程言语、把握编程言语对你的职业生涯开展至关重要。由于今后你天天都会运用它!引荐你先阅览有关书本。
《The Swift Programming Language》之于Ruby开发人员,以及《Programming Ruby 》之于iOS开发人员。
过程3:学习框架
选一个,然后好好学习:
关于Rails开发人员——《Rails Tutorial 》by Michael Hartl
关于iOS开发人员——《iOS programming: The Big Nerd Ranch Guide》
过程4:把握文本编辑器/ IDE
再选一个,然后坚持不懈地把握这个工具。假如你挑选的是viM,那就要变成它的主人,让它往东就往东。
过程5:运用版本控制系统
我主张运用Git。下面是我喜爱的资本:Pro git——免费的在线电子书,具体讲解了git的各个方面。
过程6:做好测验驱动开发
将TDD增加到你的技能仓库中。养成天天TDD的习气。高质量的代码源于杰出的测验。
关于Ruby on Rails开发人员——《Rails Test Prescriptions》
关于iOS开发人员——《Test Driven iOS Development》
过程7:将重构养成习气
跟着你不断增加更多的功用,代码库也会越来越杂乱。为了保持代码库的可管理化,你需要重构。假如你不重构的话,你很快就会进入两难地步——即使是做很小的改动都很艰难、bug无法防止、没有人愿意处理这个杂乱的代码库。重构能让你的作业更加轻松。事不宜迟,从速养成重构的习气吧。下面这本好书能教你该怎么做:《Refactoring: Improving the Design of Existing Code》by Martin Fowler
过程8:学习软件架构
根据你上面挑选的仓库,再学习有关的架构。我引荐Martin Fowler写的《Patterns of Enterprise Application Architecture》一书。
过程9:展现命令行的力气
刚开始触摸命令行的榜首感受就是望而生畏。可是,一旦你学会怎么运用,这将大大进步你履行一些基本任务的功率。而这自身就能让你变成一名十分好的开发人员,由于你能在更短的时刻里实现目标。然后你就能进入下一个水平。运用shell自动履行多见任务,树立自个的dotfiles。假如你运用的mac或许Linux发行版,那么学会shell。下面这本书由Mark Bates所写的书挺不错:《Conquering the Command Line》
过程10:code code code!
只要不断地操练学到的常识,你才干真实把握它。
总结
众所周知,变成一名高档软件工程师是十分难的。这需要很多的时刻和精力。不相同的人他们的学习速度也不尽相同,可是均匀来说,大概需要10年时刻才干变成一名牢靠的高档开发人员。你支付的各种出资最终必将给你带来无穷的报答。软件工程师的钱途很美好,其就业商场的需要一向居高不下,薪资水平也根据经历程度在进步。这是一个快速增长且相对较新的范畴。软件工程师的每一天都在面对应战:应战改动大家的生活。来吧,各位软件工程师,首要应战变成一名高档软件工程师吧!