从码农到大神,有多少经验值得借鉴?
随着世界越来越全球化和技术的不断发展,程序员正面临越来越严峻的挑战 -- 要想在这个时代取得成功,就必须牺牲一部分业余时间用来学习和思考技术。虽然可能每个程序员的成长之路各不一样,但从码农到大神的进阶过程中,有些经验是值得借鉴学习的。
1. 了解自己的学习风格
每个人都有属于自己的学习风格。有些人喜欢通过读书来获取知识,有些人则需要亲自动手才能记得牢,还有一些人希望通过老师讲课来手把手地教育他们。幸运的是,我们这个时代有许许多多免费或廉价的学习资源,你只需要上网搜索一下就能找到。这样,你就不必浪费时间在不适合自己的学习方法上。这里有一些不错的编程学习网站供您参考:
- LiveEdu (编程界的 Bilibili,许多大神喜欢在上面分享编程项目直播视频)
- Code School (全英文编程教育网站)
- Lynda.com (领英旗下的在线教育网站)
- Coursera (世界名校公开课汇总,譬如耶鲁和斯坦福大学)
- Free programming books (Github 上有一些免费的编程书)
2. 三人行,则必有我师
提高技能最快的方法之一是:向那些行业前辈讨教知识和经验。如果您恰巧拥有一名正式的导师,那真是再好不过,但这并不是必需的。有多种多样的方式可以获得行业专家的指教:和您的团队主管聊聊天、和当地程序员进行线下聚会或在 Stack Overflow 上提问。在这些场合,您可以大胆展示自己写的代码,并让他们给出一些评价和建议。不要对批评存有畏惧心理,也不要觉得自己可能会打扰到别人的生活。事实上,很多人都乐意与别人探讨一些自己所擅长的专业问题,提供这方面的帮助会令他们很有成就感。如果你因为心理上的压力而不去请教别人,那么你就错过了一个提升技能的宝贵机会。
3. 牢记 15 分钟法则
如果你在一个问题上纠结超过 15 分钟,请马上寻求援助!先暂时放下手头的工作,向同事问问有没有解决问题的捷径,或者在知乎这样的网站上详细描述自己所遇到的麻烦。无论向谁寻求帮助,你都需要冷静下来,以客观中立的语气去描述问题,不要感情用事。这样会使得你离解决问题更进一步。就大多数情况而言,往往在你遇到这些问题之前,别人早已碰到过了。很多热心人士会和你分享他们是如何解决这些麻烦的,或是协助你共同攻克难题。
4. 接触一些实际项目
有什么能够保证进步的方法吗?那就是练习并不断挑战自我。这意味着你应该主动创建属于自己的编程项目。即使你有一份全职的编程工作,这项工作可能还不够具备挑战性,这样的话单凭工作进步会很慢。因此,请主动去迎接挑战。许多优秀的程序员在本职工作之外,通常还会创建一些自己的小项目。请不要说自己缺乏好点子,那并不是一个合理的理由。您可以去 Github 上找一个开源项目,然后定期提交代码;或是在 LiveEdu 这样的网站上进行项目开发直播,譬如新手如何开发一个安卓 App;您也可以让产品经理们向你滔滔不绝地讲述他们一些稀奇古怪的想法 -- 好点子千千万,总有一款适合您。
5. 看看底层源代码
大多数程序员严重依赖诸如 Spring、Rails 或 Angular 等框架来完成工作。这些框架提高了生产效率,但它们也为您设计解决方案提供了许多范例和灵感。查看它们的源代码并仔细研究。起初,您可能会感到迷茫,但随着时间的推移,您将会掌握如何浏览大型代码库、识别设计模式并快速理解代码。
6. 分享所学的知识
有句老话说得好,教授别人是最好的学习方式。当您学到些新知识时,不要吝于分享。您可以将自己的心得通过录制视频教程、撰写博文、或是向 Github 代码库提交源代码等方式来展示自己。甚至你可以通过当地的线下聚会来结识一些程序员大牛。分享不仅能够强化你对所学知识的印象,还能够向未来的雇主和客户展示你的技能。而且,这还会让你获得更多的自信!
7. 每天进步一点点
没有人能在一夜之间掌握编程。持之以恒的刻意练习是从码农进化为码神的不二秘诀。花几分钟时间从繁忙的事务中抽身出来,每天做一个小改进。你可以利用这几分钟学习一种新的语言特性、从手册中浏览一页、或是更改您的编辑器配置以添加常见任务的快捷方式。随着日积月累,这些小的日常改进就会由量变引发质变,带来飞跃性进步。
8. 保持探索精神
不要沉溺于工作,每周也应当休息休息,探索新语言、新技术和对世界产生影响的重大事件。知识和技能并不是无源之水。寻找两到三个新的信息来源,以定期挖掘灵感。在 Twitter 上如果遇到欣赏的程序员,就关注他们吧。每天或每周浏览 IT 新闻、订阅相关杂志。这些都有助于你享受编程带来的乐趣。
你又有哪些经验想分享呢?欢迎发表你的看法。
本文为转载 , 原文来自:https://zhuanlan.zhihu.com/p/36620712