记录一些知乎答案
作为一个所谓的“科班”程序员,看到这个问题下的某些答案,实在是看不下去了,某些答主上来就让人家学离散数学和汇编语言,你咋不让人家先学矩阵分析和编译原理呢,你咋不上天呢?
题主请看这里,你自述是23岁三无的打工仔,我默认你的数学英语水平是高中毕业、中等偏下水平。
程序员行业**入门**并不难,不要高深的数学知识,会最基础的英语就够了,最基础的英语,就是hello for to while world级别的英语,我觉得你高中毕业,这些应该是会的,如果不会,自己背一个月单词就足够了。
过了最基础的英语关之后,你要学一门语言,语言学习的入门非常简单,入门建议用C语言或python语言,网上有很多教程,学习过程中有什么不会的可以去网上搜,绝大多数问题都能找到答案。
学完C语言或python语言后,可以再学一门语言,推荐C++或Java,这些语言也都不难学,不需要学很难的数学知识,这些语言“入门”程度的话,数月就够了,当然你要是想达到知乎上 轮子哥 的水平,就不是一朝一夕的事了。语言是你吃饭的基础技能,需要好好学一下。
学完语言后,要学数据结构和算法,这个会比语言稍微难一点点,但也就是难一点点而已,如果不要求学的很深的话,不需要高等的数学、英语知识。
此时还要再学习一些计算机的基础知识,包括基础的计算机组成、微机原理等,这些也都不难,也不需要什么高级的数学知识。
学完了这个,程序员行业你就算“入门”了,基础的技能你就有了,这时,再稍微搭配一点其他的技能(如网页前端、安卓开发),就能找到一份工作了。
残酷的是,学到这里,你找到的工作是比较“低端”的工作,工资大概3k-8k(估计值),这份工作就是所谓的“码农”,缺乏技术含量,相对也会比较累,但是有上升空间。
上升空间请看这里:想要拿更高的工资,找到更高级的工作的话,你就需要再学习:英语(高中的那点英语很可能不够用了),(更高级的)数据结构和算法,(详细点的)操作系统、计算机组成原理、计算机体系结构、编译原理(对数学要求很高)、线性代数(数学,较难,程序员进阶必备),概率统计(数学、较难、程序员进阶必备)、离散数学(较难)等其他的数学知识,这些都是比较难的,需要学习很久,而且未必能学好。无意冒犯,如果你的水平是高中毕业(由于题述你好像没上过大学,因此推测为中等偏下)的话,学习这些将会非常吃力。有没有学习这些高阶内容,就是培训班出身程序员和“科班程序员”的区别。学好了这些,就极有可能把自己的工资提高一个量级,向10k及其以上迈进。事实上,这些学的非常好的话,工资几乎是上不封顶的。
当然,上述不是唯一的上升空间,你也可以专一搞网页前端或安卓开发,这个对数学的要求相对较小,时间长了,经验多了,工资也能提高上去。
我想告诉你的是,计算机行业 入门 并不难,对数学的要求并不多,不要被一些答主的答案吓住而止步不前,但是,计算机行业入门级别的工资也就是比血汗工厂略高而已,想要拿更高工资的话,需要进阶,这一步是相当困难的,你要花费很大努力才 有可能 成功进阶,关于这个,也要有思想准备。
有什么我说的不清楚的,可以再问我,我知道的不多,但是会尽量帮助你,评论区瞎扯犊子的,滚,滚!