目录
有同学在评论区里问我技术方向和发展前景的问题,虽然认真回答了一下,但我的专业毕竟不是那个方向的,只能说了解,远远到不了指导他人的程度。如果是在大学里,最优的解决方案还是找学院里的老师谈,直接找一些管教务的行政老师,或者带你专业课的副教授、教授。大学都在提“职业生涯规划”,你主动去询问,他们不会拒绝你的。
其实不是的,是有本质区别的。学校教的东西虽然旧(比如还有学校在用谭浩强的C语言教材),数据结构算法也是上世纪70、80年代的,但这是基础,本质上不是知识,而是学习知识的能力,是“制造工具的原理”。社会上的培训班教的是“如何使用工具”。这就是培训班、网络课程/视频敢说“一个月搞定JAVA”,“让你7天玩转Python”的原因。单纯说使用,我曾经只依靠工具书,三天掌握了Node.JS和Python两门语言的基本概念,逻辑分支和循环的写法,http web响应,get post, cookie……虽然之前就有相关概念,学习语言只是学习这些概念在语言中的写法,但是三天……这就算学会了吗?那么多人靠Python 和Node.JS吃饭,又有什么底气可以说自己智商比他们都高到不知道哪里去了?
这种速成的程序猿,也可以找到工作。只要会使用工具就好了。对于非科班出身的同学,如果想进一步地发展,脱离重复的体力劳动,我认为最好的方法还是找一套软件工程专业的培养方案,从计算机基础和计算机原理学起,踏踏实实地把数据结构和离散数学、线性代数之类的专业课学一遍。
顺便吐槽下某些冷嘲热讽的答案。
# //分割线// # # //以下是原答案// #
从你的问题可以看出来,大概现在只是知道这些名词,对相关方向有个模糊的概念。但是没有深入了解过。……所以这个问题其实是个深坑。
1. 编程
编程是一种行为,不一定要依赖现代计算机。比如最早的机械式计算机
视频: