Goal

IT从业者并不像传说中那样需要天才般的智商,要点在于能否找到合适的入门途径,再加上一点点坚持和思考。聪明从来不是这个行业的门槛。引用流行于知乎的一句老话“以大多人的努力程度,还轮不到拼天赋的程度”。

计算机科学基础

  首先初学者要具备一些非常基础的知识,这些知识在你踏上工作岗位后能被实际的用到,比如计算机运行原理、网络的传输、常用数据结构和算法等。 

另一种直观的方式是观看大学精品课和去跟慕课课程,比较推荐的有几个:

  • 中国大学精品开放课程,高等教育出版社的精品课程项目,有全国大量的名校授课视频和课件
  • 中国大学MOOC ,这个是中国大学MOOC和网易合作的,提供了上文附图中计算机课程体系中所有课程
  • 果壳网的MOOC学院,主打翻译全球名校的优秀课程,比如斯坦福的《编译原理》和MIT的《Python》

从知识到实践

除此之外,还需要了解实际应用于设计软件或者开发网站中的实践类知识,包括某个特定语言以及周边的库、框架和工具等。

我们可以把特定需求中用到的语言、库和框架以及其他的工具称为技术栈,在技术选型上通常也是被这样考虑的,HR常常会根据技术栈来寻找需要的工程师。

比如需要学习SSH三大框架和Java的Java技术栈;

为服务器web开发而生的PHP技术栈;

在移动开发领域流行的iOS、安卓技术栈等。

当然这里面有一些重合和共用的技术也需要学习,比如版本管理器Git、SVN就是每个合格的工程师需要去学习的。

如何挑选你的兵器?

另外还需要注意的是开发工具,可以选用IDE和有代码提示的编辑器,但尽量不要在这上喋喋不休,这就像用来盛放你锋利兵器的架子,用着顺手就行,也不推荐使用纯文本编辑器,这看起来像赤手空拳。 推荐一些编辑器和IDE

挑选合适的资料和有效的阅读

国内有上面提到的;

国外有lynda.com

首先你要给自己设定一个目标,就如同一个公司会设定它的Vision。

  • 目标要够大,这样你才能看到更多的风景。
  • 目标应该设定在解决哪一类问题,而不是精通哪一类技术。技术只是手段,不是目的。

当初入一个领域时,选择主流技术框架;

在选择学习一门新技术时,最大化它与你现有知识库的差异性

任何一个设计师都会精心打造自己的Portfolio,但大部分程序员却不会。  当评估一个程序员的Coding能力时,看他的Github上是否有出彩的项目. 我建议大家好好经营自己Github上的项目,这不但可以提高你的声誉,对你将来的求职也非常有帮助。

重视沟通能力的培养

  当被问到“你学得Junior Developer和Senior Developer最大的差别是什么”时,我最自然的反应是沟通与文档。沟通包括程序员团队内部的沟通,与其他团队的沟通,与Manager的沟通等等。我不认为自己有能力把这些问题非常概括地说清楚,不过我可以给一条建议,那就是先学会和你的Manager沟通,让他来教你其余的部分。

累积你的人脉

结识一两个同道中人远比听技术讲座有价值。下次去参加这类会议,不妨给你自己设个目标,比如至少加两个同行的微信。另外我觉得每个人都需要一个职场导师,他可以是你第一份工作的导师或是Manager,也可以是你认识的其他前辈。你们需要维系一个非常长期的关系,不止于一家公司,最好贯穿你的整个职业生涯。每当你遇到疑惑时,都可以询求他的建议,我觉得这将是你最宝贵的一笔人脉财富。

 转发: https://kb.cnblogs.com/page/575255/

猜你喜欢

转载自www.cnblogs.com/ngtest/p/9227081.html