零基础学编程难吗?多久能入门?
编程是一门技术,我也不知道它难不难,我只知道,只要你想学,肯定能学会。每个人的逻辑思维能力不同,兴趣点不同,总有一部分人觉得容易,一部分人觉得吃力。
在我看来,技术就是一层窗户纸,是有道理可以遵循的,最起码要比搞抽象的艺术容易很多。
但是,隔行如隔山,学好编程也不是一朝一夕的事,想“吃快餐”的读者可以退出编程界了,浮躁的人搞不了技术。
在技术领域,编程的入门门槛很低,互联网的资料很多,只要你有一台计算机,一根网线,具备专科学历,就可以学习,投资不超过 1W 元。
至于学习时间(以找到工作为准),0.5年 ~ 2年不等。
合格的程序员,或者高薪的程序员,需要两年的学习时间;半吊子码农,或者只懂增删改查的码农,半年也能做出一些不靠谱的项目。
我在《高薪/大厂程序员要学习哪些东西》中提到过,在目前的大环境下,你最好把编程当做一种科学,而不仅仅是一种把戏;这意味着,你不但要学习招式,还要修炼内功,这样才能走得更加长远,才不容易中年危机。
程序员要掌握/了解的东西包括计算机四件套 + 算法 + 对应方向的技术栈 + 数据库,然后还得做两个拿得出手的项目。前前后后加起来,怎么也得两年的时间吧。
那些参加培训班的小伙伴,往往不到半年就毕业了,其实只能学到对应方向的技术栈 + 数据库,而且还学得不扎实,一问底层就挂了。
另外,就算你找到工作了,你也得保持长期学习。
编程的技术栈变化太快,总是有新技术不断地冒出来,你要尝试了解或者掌握它们,否则你的工作技能就会落后。
等你把当前开发方向的技能掌握扎实了,你还得向其它方向拓展,了解工作中暂时用不到的内容(这些内容往往了解即可,并不需要精通),这样你才能纵览全局,才能具备架构师思维,或者管理着思维。
就算你没有机会当架构师/管理者,你也能够及时转型。有些开发方向是有时效性的,过几年可能就不香了,这个时候你就可以考虑转换到其它方向,而不是死盯着自己的一亩三分地。
或者,有些新技术缺人,工资更高,你也可以抓住机会跳槽。
比如,这几年 Java 很卷,你也可以尝试 Golang(现在的缺口也不多了);再如,目前 Rust 正在崛起,有高薪机会就可以跳槽;还有,基于鸿蒙系统的开发,在 2023 年以后也迎来一股小高潮。
咳咳,搞技术其实挺累的,除了要加班,还得不断学习;但是看在高工资的份上,就忍一下吧。
先有深度,再有宽度,是大部分程序员的一个发展路径。但是你也不要觉得拓展宽度是一个很难的事情,因为软件的各个方向都是想通的,只要你在自己的方向做到了足够的深度,那你天生就具备了不错的宽度。
比如你很擅长 Java,那当你切换到 Golang 的时候也不会有太大障碍,无非就是学习一点语法和工具,底层的思想都是差不多的。字节跳动的后台大部分都使用 Golang,但是笔试面试的时候,却招聘了很多 Java 和 C++ 程序员,就是这个道理(当然也和 Golang 程序员稀缺有一定关系)。
很多领域都是「一年打基础,两年见成效,三年有突破」,但是很多人在不到一年的时间里就放弃了,总觉得这个行业太难,不太适合自己。
轻言放弃是很可怕的,你要知道,第一次放弃只是浪费了时间,第二次放弃会打击你的信心,第三次放弃会摧毁你的意志,你就再也没有尝试的勇气了,“蹉跎人生”就是这么来的。
你也不要羡慕那些富二代官二代,你以为人生就是一次百米短跑,你赢了就是赢了,其实人生是一场接力赛,你的父辈祖辈都得赢,那些富二代官二代从好几十年以前就开始积累了。
所以,沉下一颗心来,从现在开始积累吧,有执念的人最可怕。
在我看来,技术就是一层窗户纸,是有道理可以遵循的,最起码要比搞抽象的艺术容易很多。
但是,隔行如隔山,学好编程也不是一朝一夕的事,想“吃快餐”的读者可以退出编程界了,浮躁的人搞不了技术。
在技术领域,编程的入门门槛很低,互联网的资料很多,只要你有一台计算机,一根网线,具备专科学历,就可以学习,投资不超过 1W 元。
至于学习时间(以找到工作为准),0.5年 ~ 2年不等。
合格的程序员,或者高薪的程序员,需要两年的学习时间;半吊子码农,或者只懂增删改查的码农,半年也能做出一些不靠谱的项目。
我在《高薪/大厂程序员要学习哪些东西》中提到过,在目前的大环境下,你最好把编程当做一种科学,而不仅仅是一种把戏;这意味着,你不但要学习招式,还要修炼内功,这样才能走得更加长远,才不容易中年危机。
程序员要掌握/了解的东西包括计算机四件套 + 算法 + 对应方向的技术栈 + 数据库,然后还得做两个拿得出手的项目。前前后后加起来,怎么也得两年的时间吧。
那些参加培训班的小伙伴,往往不到半年就毕业了,其实只能学到对应方向的技术栈 + 数据库,而且还学得不扎实,一问底层就挂了。
另外,就算你找到工作了,你也得保持长期学习。
编程的技术栈变化太快,总是有新技术不断地冒出来,你要尝试了解或者掌握它们,否则你的工作技能就会落后。
等你把当前开发方向的技能掌握扎实了,你还得向其它方向拓展,了解工作中暂时用不到的内容(这些内容往往了解即可,并不需要精通),这样你才能纵览全局,才能具备架构师思维,或者管理着思维。
就算你没有机会当架构师/管理者,你也能够及时转型。有些开发方向是有时效性的,过几年可能就不香了,这个时候你就可以考虑转换到其它方向,而不是死盯着自己的一亩三分地。
或者,有些新技术缺人,工资更高,你也可以抓住机会跳槽。
比如,这几年 Java 很卷,你也可以尝试 Golang(现在的缺口也不多了);再如,目前 Rust 正在崛起,有高薪机会就可以跳槽;还有,基于鸿蒙系统的开发,在 2023 年以后也迎来一股小高潮。
咳咳,搞技术其实挺累的,除了要加班,还得不断学习;但是看在高工资的份上,就忍一下吧。
先有深度,再有宽度,是大部分程序员的一个发展路径。但是你也不要觉得拓展宽度是一个很难的事情,因为软件的各个方向都是想通的,只要你在自己的方向做到了足够的深度,那你天生就具备了不错的宽度。
比如你很擅长 Java,那当你切换到 Golang 的时候也不会有太大障碍,无非就是学习一点语法和工具,底层的思想都是差不多的。字节跳动的后台大部分都使用 Golang,但是笔试面试的时候,却招聘了很多 Java 和 C++ 程序员,就是这个道理(当然也和 Golang 程序员稀缺有一定关系)。
浸泡理论
这是我自己发明的一个理论,意思是说:一个人要想在某一方面有所成就,就必须有半年以上的时间,每天花 10 个小时“浸泡”在这件事情上,最终一定会有所收获(我说的是有所收获,而不是有所成就)。很多领域都是「一年打基础,两年见成效,三年有突破」,但是很多人在不到一年的时间里就放弃了,总觉得这个行业太难,不太适合自己。
轻言放弃是很可怕的,你要知道,第一次放弃只是浪费了时间,第二次放弃会打击你的信心,第三次放弃会摧毁你的意志,你就再也没有尝试的勇气了,“蹉跎人生”就是这么来的。
你也不要羡慕那些富二代官二代,你以为人生就是一次百米短跑,你赢了就是赢了,其实人生是一场接力赛,你的父辈祖辈都得赢,那些富二代官二代从好几十年以前就开始积累了。
所以,沉下一颗心来,从现在开始积累吧,有执念的人最可怕。