- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序员从入门到精通
定位
还记得当初为什么选择程序员这个职业么?如今程序员所在的行业处于发展上升期,薪酬待
遇整体高于传统行业,所以各类程序员培训机构如雨后春笋,流水线般的为各类只差程序员
的公司批量供应,这样的批量生产似乎有点把程序员当成了工厂的工人。
而程序员的工作实际更贴近于工匠,既有创造性的工艺性工作,也有模式化的工程性工作。
想清楚自己成为程序员的初衷是什么?只是为了进入一个相对高薪的行业,得到一份工资高
于平均水准的工作?这样终究是走不了太远的。
很多入门程序员都是刚从学校毕业的,曾记得在一篇工程师成长分享的材料上,如是说:
从小到大的教育,我们习惯性被安排: “课后作业是 X1、X2,后
天必须交”, “本学期的必修课有 XX、YY,必选的选修课有 ZZ、
WW”
十几年来你都是这样度过的,但现在你已经不在学校了,你要安排
你的未来。
刚入职场的程序员依然保持这个习惯,等着主管安排,工作就是完成主管安排的任务吗?好
吧,这只是工作的一部分。如果你每天的工作就只是完成被安排好的任务,那么你自己的成
长就会非常的慢,因为主管安排任务并没有那么多的精力来考虑任务是否适合个人的成长发
展。这些任务是组织发展的需要,而不一定适合个人的发展,但组织是付了薪酬来让你完成
任务的,所以这是工作的必需部分。
自己才是职业生涯的管理者,想清楚自己的发展路径:远期的理想是什么?近期的规划是什
么?而今日的任务和功课又是什么?今日之任务或功课哪些有助于近期之规划的实现,而近
期之规划是否有利于远期之理想?
今日除了任务为什么还有功课?功课是学校里的概念,职场里没有。所以离开学校进入职场
的功课都是自己给自己安排的。任务来自主管的安排,功课来自自己的安排。很多时候我们
只去完成任务却从未给自己安排功课,而等着被安排和主动安排,在未来将产生巨大的差别。
一开始我们可能只有模糊的远期理想,也没那么清晰的近期规划,但一定要有足够清晰明确
的今日任务和功课,即使在你的主管因为各种原因没给你安排的情况下。方向不太可能一朝
定好,就不管不顾埋头走路。需要定期检视,抬头看路,因为如今环境和大势的变化也是很
快。在边走边看的过程中逐步就清晰了近期的规划甚至远期的理想。而主管在你职业发展的
路上,除了大部分时候给你安排任务,偶尔也可能给你创造机会,而机会出现时你能否抓住,
全在今日功课上。
学习
这反应了我们教育中作为学生的一种心态,觉得毕业了离开学校了就不需要多努力学习了。
但程序员这个职业所面临的技术发展和更迭远超其他行业,你即便只是为了能够保质保量的
完成任务,就需要保持持续学习。
而且在面临信息和技术爆炸的时代,还要有选择性的学习。我读大学那阵,学程序期间喜欢
电脑,就爱帮同学 DIY 装个机什么的,而且还反复折腾安装操作系统。那时的 Windows
系统的特点就是越用越慢,一年半载需重装一次就又恢复了,但这些折腾其实都不属于程序
员的学习范围 (题外话:如今用 Mac 再也不浪费精力操心装系统的事了)。
而有选择性的学习在于需要找出真正与你近期规划有关的学习路径。假如你工作入职后公司
使用 Java 为主要开发语言,而大学里你一直学习使用 C 或 C++ 编程练习。这里再假
设你对计算机相关的基础性学科和知识掌握良好,比如:操作系统、数据库、网络、组成原
理、编译原理、算法基础、数据结构等等。那么为了更好的完成工作任务,就需要学习 Java
编程语言、技术相关的东西。
对于学习语言本身我觉得最高效的方法就是看一本该领域的经典入门书,比如对于 Java
就是Thinking inJava,这是我称为第一维度的书,聚焦于一个技术领域讲得透彻清晰。
在有了该语言的一些实际编程和工程经验后就可以看一些该领域第二维度的书,比如:
EffectiveJava,TheArt of Unix Programming 这是聚焦于特定领域经验总结型的书。
而另外一些像 Java 开发需要大量使用开源框架又该如何学习?里面介绍了如何用真正
「正宗」的方式去学习并快速掌握这些层出不穷的开源新框架和技术。
每一项开源框架或技术相关的信息可以组织成上面这张金字塔结构图。Tutorial 和 API
Reference 层次的信息资料帮助我们快速上手开发,而 Spec 和 Code 帮助我们深刻理
解这门技术。而其他相关的技术书籍和文章其实是作为一种补充阅读,好的技术书籍和文章
应该有官方资料中未涵盖的特定经验或实践才算值得一读。更多学习的细节建议大家直接看
上
文档评论(0)