首先,对于“从业”这件事来讲,第一要务是弄个好学历。
这个真的是顶顶重要的事情。千万不要想着你学了这么多年就会比别人多多少优势,不存在的。大学四年时间就够人家和你追赶到同一水平线。所以你首先要了解行业内知名学校和相关优势专业。
在课余培训班里只能是培养兴趣,很难有什么实际性的成绩。你要认清这点。而且所有非高校的所谓培训课程至多是教授“术”的部分。“道”的部分只有高校,而且是优秀高校才有能力教授。我也不建议你现在就去扣算法啊、设计模式啊什么的。这种东西留到大学去系统的学习最好。
其次是技术方面。
对于从业来讲,重要的不是单个的技术点,而是整个的技术栈。你要构建自己的技术栈。语言是次要的,一个合格的程序员随便一门语言看个把月都能拿来干活。
技术栈就是例如:
数据库:mysql,那就去学mysql,以及mysql的sql方言。
语言:python,那就了解python的技术,包管理、web框架、orm框架、rpc框架……
然后前端:安卓就去学java,苹果就去学oc或者swift,web上的的js/css/html技术也要会用。在web上深入的话比如node.js技术栈比如vue/react.js,比如webpack这些工具。
然后调试技术、调试工具、抓包工具……
举例子不是说让你全都学会。你现在首要是学业,不可能有时间学习这些东西。而是说从这种“整体”的思路去思考整个软件的流程。每一个节点上需要哪些技术心里有数。对于从业是非常有帮助的。也就是你所需要的“有规律有计划”
至于学习的方法就是需要什么就去学什么,沿着一个项目的整个业务流程,不要恐惧也不要退缩,没有什么学不会的,做一做就熟练了。这叫“从实际出发”(doge)
最后现在软件行业分工细致,每个人都专精技术栈的某一部分,而很难有人全部精通。你应当选择自己喜欢的方向,其他的部分了解即可。