我们的圈子,改变是生存的必备要素之一。计算机领域一直在改变,从基础框架到计算设备,还有几乎每天都涌现出的新技术,这些要求我们必须持续学习新东西。这里将介绍一些技巧,以使你可以在这从未停止的学习之旅更加轻松。

如何选择读物

程序员需要的技能改变是如此之快,尤其是那些热点的/快速演变的领域,比如本博关注的那些领域,还有移动开发等。找到这些领域合适的阅读材料有时不那么容易。两点建议:

  • 1.利用好关注该类技术的那些网站。比如,在我学习iOS的过程中,我一直关注 RayWenderlish.com 和 iOSDeveloperTips.com,它们都有定期较新的内容发布。
  • 2.如果你是想找些书籍,请尽量选择电子书而不是纸质书,编程是一个变革飞快的行业,除非是Knuth的《计算机程序设计艺术》,很多书几个月就过时了。例如我只在2003年买过一本纸质的《Java核心技术2》。
  • 3.《国外程序员推荐:每个程序员都应读的书》

当然,此处可以根据具体国情,比如:

  • 1.中国的纸质书比外国便宜很多
  • 2.很多人有阅读纸质书的习惯,个人喜欢阅读纸质书带来的宁静,电子设备令人紧张。
  • 3.纸质书可以随意加批注,对眼睛伤害小

选一个实际的项目

Remember this mantra: “I hear, I forget; I see, I remember; I do, I understand”.

记住这句咒语:“我听见的,我忘了;我看见的,我能想起来;我做过的,我理解”。

阅读是有益处的,但要想真正的理解某个编程语言/库或者技术,你只能亲自动手,真正的参与到一个使用这种语言/库/技术的项目中。”完成一个项目并在其中运用到你想学的技能或特性”是一个很具体的可衡量的目标,”学习某种语言/库/技术“则太笼统了。一个清晰的目标有助于你了解你的进展。完成一个项目则会使你获得宝贵的经验,有些甚至可以写到个人简历中。尽一切可能来用构建一个完整的项目的方式来学习,而不是根据阅读得来到东西学习一个范例。

绝大多数人都知道实际做项目而获得的经验是很必要的。难处在于怎样找到一个点子来开始一个项目。一些建议:

  • 1.你这种新技能能否开发出一个家人或者朋友正需要使用的应用?我有几个小侄子,我发现给他们开发游戏是一个学习XNA/Cocos2D的绝佳方式;我很快还会为他们写一个基于Sprite Kit的游戏。
  • 2.有没有什么开源项目正在使用你所学的新知识?你会发现贡献模块甚至创建项目给开源社区是一个很好的学习手段。有时从一个已有的项目继续工作比从头开始更加容易。
  • 3.有没有什么盈利/非盈利组织可能用到基于这种新技能的应用?如果是这样,搞定它不但可以使你学习并开发出一个应用,并还可能获得一个用户群来给你提供大量的反馈。

教别人的同时学习

2010年”Yours Truly“,Windows Phone基础游戏开发课程

当我在微软作为布道者,想程序员们宣讲时,我常常撰写入门指南的演讲稿和在线材料。有些,我负责的是一些我很熟悉的领域,但微软拥有如此众多的工具和技术,并不断有新的东西涌现出来,我经常发现自己不得不学习新知识才能完成教程。

这也成为了一种非常好的手段来促织我学习新东西,因为教这些东西,你必须搞懂它们。由于你得把这些新东西转化容易理解的内容,传递给你的听众,以此为目标促使你必须有合理的学习手段和方法。Floor Drees,一个澳洲的技术宣讲/布道者说到,“坦诚的说,我觉得教别人的过程能促使自己学的飞快,我鼓励每一个人去培训新人,即使你觉得自己也还只是个新人”

如果你能得到合适的研究和学习资料(幸运的是,在微软我通常能很容易的找到),并有足够的时间和工具去试验一些迷你的项目来得到更深入的理解,并且你很喜欢当一名老师(无论一对一或一对多)或者作者,你也许想要尝试教学的过程中来学习。

搞定拦路虎

当你的开发技能到了一定水准,你会偶尔遇到拦路虎:一些短时间内搞不定或理不清头绪的问题。

这是个好事,真的!如果你从不尝试新东西,那当然会发现已有东西对你来说都毫无挑战,这也意味着你没有真的在“求学”。最好的/有价值的学习经历正是那些拼命搞定某一问题的时光。你极尽所能尝试各种方法并最终找到了解决方案,这就好像你在黑暗中探索,努力拼接出一条成功之路,这种能力在日后也会陪伴着你。

在这段探索之路,你需要以下几个技巧:

  • 1.找找看,确认是否你自己或者别人已经有一个项目解决了相似的问题
  • 2.利用好在线开发者论坛。Stack Overflow是你的朋友,他这些年帮我解决了好多的问题。很多开发者社团也维护自己的论坛,确保自己检查过这些站点。
  • 3.学会借助一些好的有利的资源,比如,在开发app时遇到安全问题难以解决(有过被破解的经历),何不借助爱加密这一专业权威的移动应用安全服务平台,去了解下,相信你一定会有很多惊喜的收获!

参加课程

很多程序员有这样的机会通过“构建自己的项目/看其他人的项目/教授课程“来学习。但这不是所有人的习惯,有人喜欢在教室里接受传统的课程。幸运的是这些同学也有很多可选的方案。

很多学校和社团都提供了对外公开的的编程课。如果你所在的城市有一些技术人员或者黑客交流中心,那么在那通常也有针对他们团体的一些编程指南,有时这是免费的。

在有些城市,那有新手入门课堂,在那你可以学习一门语言或一项技术,它通常会有一些密集的课程和上手小实验,这种培训通常持续几天或者几周。如果你有商业上的需求,需要对程序员进行某种企业级工具/技术的培训,例如微软/甲骨文/Java或者SOA/云计算/敏捷开发,那么你可能需要找到某个类似Web Age Solution这样的培训机构来帮助你完成。

英文原文:http://www.globalnerdy.com/2013/10/11/staying-sharp-maintaining-your-development-skills/

转载于:https://www.cnblogs.com/Niger123/p/4532848.html

做个犀利的码农:如何持续培养/更新自己的开发技能相关推荐

  1. 写给立志做程序员(码农)的大学生

    作者: 果冻虾仁  来源: CSDN  发布时间: 2017-08-10 23:08  阅读: 32769 次  推荐: 158   原文链接   [收藏] 写给立志做码农的大学生 确定方向 选择比努 ...

  2. 【知乎】怎么成为一个优秀的程序员,而不是一个优秀的码农?

    怎么成为一个优秀的程序员,而不是一个优秀的码农? 9 条评论 分享 默认排序按时间排序 98 个回答 3844赞同反对,不会显示你的姓名 萧井陌 微信公众号:炼瓜研究所 技术社区 - 3844 人赞同 ...

  3. 年薪50万码农转行卖凉皮,互联网思维又一次颠覆?

    摘要:今年五月份,一位年薪50万元的码农哥放弃了码农的工作,转身跳到了苦脏累的餐饮行业,每天骑着筋斗云电动车在中关村送外卖的事迹在互联网上引起了轰动.近日,码农哥接受了CSDN的采访,让我们一窥其转行 ...

  4. 50 岁老码农:Python Bug 太多,我选 Rust 和 Go!

    作者 | 伍杏玲 责编 | 唐小引 出品 | CSDN(CSDNnews) 这里有一位IT界的老司机,不,是久经沙场的老码农: Linux专家,几十年来开发不少免费的开源软件:Linux之父的同窗好友 ...

  5. 码农如何克服“职业病”

    在我身边就有好多勤勤恳恳的码农,他们每天做着高压力的编码工作.众做周知,码农的工作需要常常加班,压力大.任务繁重的工作,令人疲惫不堪.那么,就日常生活与工作来说,身为码农的你应该如何走出这个困境呢. ...

  6. ssm码农论坛毕业设计源码231126

    码农论坛的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对 ...

  7. 记码农十周年(20110214--20210214)

    我是2011年情人节入职的第一家公司,我最初面试是java开发,入职后leader问我愿不愿意做abap开发,我当时都没听说过ABAP,随便百度了一下,看做起来还不错,然后就开始了ABAP的编程生活. ...

  8. 硅谷码农35岁危机:Java之父也找不到工作

    48岁的丹尼尔是一名程序员,在硅谷一家知名科技公司工作.为了让自己看上去更年轻,他多年来严格饮食,坚持健身和瑜伽,还练了八块腹肌. 同事都以为丹尼尔只有30来岁,但他觉得还不够.丹尼尔决定用一种更立竿 ...

  9. 西雅图华人码农生存实录

    西雅图华人码农生存实录 文章来源:界面新闻:作者:X博士 无论在硅谷还是西雅图,美国的高科技公司正在吸纳越来越多的中国码农. X博士一直关注当下年轻人的生活状态,致力于探索当代生活的种种可能性. 本期 ...

最新文章

  1. 科研文献|结肠直肠癌早期检测中跨群体微生物标记物的鉴定
  2. 关于VC编译器错误 Error C2558
  3. RDLC 2010设计器的数据源无法找到静态类作为数据源
  4. SLVS-EC接口学习
  5. 阿里云李飞飞:今年将帮1000家企业“去O”,完成10000套传统数据仓库上云
  6. 山东大学青岛计算机学院贺平,计算机学院学子在全国数学建模竞赛中再获佳绩...
  7. 线程同步之条件变量和信号量(生产者消费者模型)
  8. springboot毕设项目青年公寓租房管理系统2b730(java+VUE+Mybatis+Maven+Mysql)
  9. iPhone应用炫酷的下拉更新效果
  10. 科学计算机怎么用10次方,计算器里10次方怎么按
  11. t-SNE数据降维可视化
  12. 操作系统之调度 (十) --- 处理机调度、高级调度、中级调度、低级调度...
  13. C语言 猴子吃桃的问题 猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个。 第二天早上将剩下的桃子吃一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时只剩下一个桃子
  14. 【JVM技术专题】深入分析CG管理和原理查缺补漏「番外篇」
  15. FFmpeg视频剪辑常用命令
  16. 虾皮面试真题:虾皮后端15连问!
  17. 三维重建技术(2)各种方法简介
  18. IDEA解决开两个窗口问题
  19. 标准USB/Mini-USB接口,及OTG
  20. 使用Tomcat插件实现WEB项目热部署

热门文章

  1. 2021年基金什么时候布局?
  2. 炒股如果亏损一直买入可行吗
  3. 镇定的反义词是什么,标准答案是
  4. 在消费中,一味的贪图价格的便宜,而忽视价值的人
  5. go使用redis——redigo使用HMSET存储结构体
  6. 派生类对基类成员的访问控制之公有继承
  7. Linux服务器安装JavaWeb环境(四) Sentinel,Xxl-Job,Seata
  8. MySql使用TEXT/BLOB类型的几点注意
  9. ecos中的spl同步机制
  10. sql子查询示例_学习SQL:SQL查询示例