一、如何自学编程
1. 学习英语
为什么要把这个放在第一位呢
-
第一时间了解国外优秀编程技术
- 其实很多编程技术都是国外比较牛逼一些,很多一手的编程技术文档都是英文的,如果等翻译的话,都过了好久了
- 如果真想成为一名优秀的程序员,务必学习好英语,起码要无障碍阅读编程技术文档
-
外企的就业机会
- 如果你还能做到用英文跟别人日常交流,那么你就有机会去工作
- 外企的技术氛围很好,而且不卷
- 有更大概率可以分布式工作
- 年假很多,涨薪也很离谱
2. 跟着优秀博主学习
-
阿秀的学习笔记:interviewguide.cn/
字节跳动抖音部门担任全栈开发工程师,主要技术栈为C/C++、Golang、JavaScript、Vue等。
-
小林coding:xiaolincoding.com/
图解计算机网络、操作系统、计算机组成、数据库,让天下没有难懂的八股文!
-
程序员鱼皮:yupi.icu/
这个网址是他知识付费的一个圈子,大家可以自己看介绍去选择,我没有打广告的意思,只是觉得很不错就推荐给大家
3. 多多看精品文章并实践Github、掘金等技术社区
-
Github - trending:github.com/trending
可以看GitHub热门的项目,多关注这个,可以了解当前比较火的一些项目
-
掘金:juejin.cn/
-
编程导航:www.code-nav.cn/
4. 看完整的学习视频,或者跟着工作室发展,实操做项目
- b站就是一个挺好的学习平台,例如尚硅谷、黑马等一些视频都可以完整学习一套技术的
这里补充一句:看文档学习 比 看视频学习效果更好,原因就是视频是把你的思路带着走,更多都是博主告诉你怎么去做,但是看文档的话,更多的是你主动思考,会记住得更好
5. 多刷刷算法题、多看看面经并总结
算法学习
算法基本上是中大型公司必考的,你们从现在开始每天刷一道算法题,到时候积累下来,肯定秒杀跟你们一起面试的人,就可以从校招脱颖而出了
LeetCode:leetcode.cn/
go的算法题解:books.halfrost.com/leetcode/
学习算法:labuladong.github.io/algo/
面经
多看看面经是让你们提前知道,面试会问什么问题,你们平时做项目的时候就会去研究,有所侧重
然后也不能只是看,你要尝试着自己思考自己能不能回答,不会的就去找答案,自己总结起来
6. 搭建自己的个人博客
现在搭建自己的个人博客,其实很方便。
每次学习新技术的时候,可以把遇到的坑或者感想,总结成自己的文章,时间一久,你的技术会越来越好的。
做得好的话,也能像前面推荐的博主一样,做知识付费,也是很不错的一个事情。
推荐: Vuepress + GitHub pages 搭建一个
二、程序员的发展方向
其实程序员也就几个发展方向
1. 高级程序员
高效完成工作,能根据产品独立制定技术方案,以及对普通程序员的code review,解决公司技术难题
2. 技术组长
要求你有一定的技术,对公司业务要比较熟悉,也要有一定的管理、沟通、人际处理能力,带领初级高级程序员完成产品开发工作。
3. 某个行业领域的技术专家
就是如果你非常喜欢并看好某一个行业,那么你可以扎根到里面去,深入了解这个行业的业务,当你非常熟悉业务,你开发出来的东西也肯定非常nice
而且在你之后的面试也许都不用怎么面试了,基本上把你经历描述一下,刚好又跟面试的公司行业对口,基本就会要你了
4. 项目经理
项目经理就是负责整个产品的从开发到上线的整个流程,协调每个部门的工作和排期,以及风险把控和进度把控。
如果你的沟通协调能力非常优秀,也可以考虑做项目经理,一个懂技术的项目经理是挺吃香的。
5. 成为架构师
这个角色听起来非常牛逼,要求你的技术要比较有广度,前端后端运维测试等等,因为你要负责公司整个技术架构,技术选型,先进技术引进,疑难杂症解决,统筹技术团队