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

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

如何选择读物

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

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

  • 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/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值