心理学哲学批判性思维 2018-03-24
初学者对于IT世界没有足够的认知来搭建起一个世界观。无法把所学的基础转换成地图的一个块。容易感到失落(不知道学会了一门新技术的意义和使用方向)
《高等数学》、《离散数学》、《电子电路》、《数据结构》、《程序设计》、《计算机组成原理》、《编译原理》、《计算机网络》、 《软件工程》、《数据库原理》等。有些学校会有一些额外的课程,例如《通信原理》、《汇编语言》、《线性代数》、《C语言》、 《Java 语言》等
中国大学精品开放课程,高等教育出版社的精品课程项目,有全国大量的名校授课视频和课件除此之外,还需要了解实际应用于设计软件或者开发网站中的实践类知识,包括某个特定语言以及周边的库、框架和工具等。 我们可以把特定需求中用到的语言、库和框架以及其他的工具称为技术栈,在技术选型上通常也是被这样考虑的,HR常常会根据技术栈来寻找需要的工程师。比如需要学习SSH三大框架和Java的Java技术栈;为服务器web开发而生的PHP技术栈;在移动开发领域流行的iOS、安卓技术栈等。当然这里面有一些重合和共用的技术也需要学习,比如版本管理器Git、SVN就是每个合格的工程师需要去学习的。
老实来讲IT行业的最终目的是交付可用的软件,编程语言也是适应市场的。在工作中我们发现最好的语言是用来处理工作任务或者构建合适的应用,并不是出于爱好或者某种Geek精神。
选择工具语言的考虑
1.适合目标,选取尽量优化的对应语言
2.在满足第一条的情况下,降低学习成本(语法,环境搭建,以及未来的技术迁徙,轮子数量,资料)
3.IDE,不用在意他的提示功能,顺手就行。毕竟熟练以后对这方面的需求不是特别高。
4.新手建议使用视屏教程,毕竟内容更丰富,防止出现内容理解的偏差。高手随意看源码和官方文档。
5.读工具书的时候一定要敲代码,同时对于任何的疑问,理解都可以画思维导图。
6.长期的编程学习,十分的枯燥。要学会利用todo工具,给予自己阶段式的奖励。将一个巨大的目标拆分成多个合适的小目标。有利于目标的实现。
###4.最后的话
“聪明”从来不是这个行业的门槛。引用流行于知乎的一句老话“以大多人的努力程度,还轮不到拼天赋的程度”,在Thoughtworks有大量优秀的工程师,从他们身上我能看到聪明不是学习编程成功的关键,坚持和勤于思考才是。