继续发表几篇CSDN自学编程的小短文,讲述自学的重要性、过程和技巧,至今仍在社区流行。我会继续对文章做一个整合和延伸,以文章的形式发表,鼓励你在技术生涯中不断突破。
1. 即将找工作,下一步怎么办我在某985名校做了几年的研究生实习导师。这些研究生一毕业,就不存在找不到工作的问题,而且一次比一次好。但是面对学校里的大部分本科和专科生,找信息技术,尤其是软件开发,其实是人生的一大难题。
核心问题是什么?这是每个即将毕业的学生不得不面对的现实问题。记住,如果你把大学比作一个随处可以舒舒服服走路的沙滩,那么社会就是一个铺满石头的山沟。核心问题是你还光着脚。
这就是为什么很多同学觉得找工作很难,因为你走的每一步都会伤害到你。直到你知道如何穿上一双靴子来保护自己。
靴子是什么?名牌,家世,金钥匙。但你是唯一一个不是的人。你的靴子是什么?对大多数人来说,这是可靠的技术。
但问题来了。你可以怪大学教的不好,也可以为自己浪费的时间懊恼。但这是过去式了。你现在应该做什么?脚踏实地的技术来源于。
自学,从现在开始,做一个终身学习者。
我一直相信,学编程,学操作系统,有开发能力,是大多数穷人最好的敲门砖。当你进入一家科技公司,你会发现,其实大部分人只掌握一些共性技术。其实他们40%的时间做技术,60%的时间做各种团队事务,甚至有人从技术转向管理、销售、产品等岗位,寻找自己真正的优势。但困难就是困难。进门之前的过程异常艰难。
这一切都来自于你现在的时间。这不是学习的结束,而是真正学习的开始。你需要打好基础,给自己做一双好靴子。社会上的前路没有那么艰难和痛苦,这对你以后的发展很重要。
那么接下来我们该怎么办呢?如果你非要强调你要找工作,要拿工资,要弥补十几年的教育投入,那么我建议你从销售开始。你需要钱,适合做生意。如果家里人能撑你一段时间,那就从现在开始自学吧。一边读书,一边找工作,在面试中发现缺点,但不要成为小霸王。给自己冷静的时间,给自己自习的空间空
自学第一选项是什么?
也就是你必须掌握一门主流的编程技术。这话我说过无数遍了。在掌握编程技术和开发实践方面要有耐心。参加培训机构的项目或者直接参加开源项目,给自己的简历上色。
我再说一个技术:掌握哪种技术有一个隐藏的参考,就是你周围的氛围是怎样的?比如你有一个精通Java的大哥,或者你有一个热爱C++的室友,当然别人也愿意在你的问题上指导你。
如果有你的帮助,你可以成为技术学习的首选!如果没有贵人相助,那就勤读技术博客。这里都是高尚的人。
2. 自学编程需经历什么样的过程呢?大部分编程新人,包括我自己,其实都没有学习编程的天赋。学习一门新的编程语言对我来说很难,但我敢说,在Java和面向对象编程领域,我的编程水平是一流的,至少在我做开发的公司是这样。所以要对自己有信心!
你可能觉得我在吹牛,但没关系。先听我说,再看我说的对不对!
自学编程从入门到精通的过程分为枯燥、混乱、开明、迷茫四个阶段。
新手拿到的第一本入门编程书,往往从最基础的类型、语法结构、函数方法、类对象等开始。但是当你不知道自己到底想用学过的东西做什么的时候,就像在沙漠里吃干蛋糕一样。学习内容硬、干、无味。我估计超过一半的学习者在这个阶段从入门到放弃!
这里没有捷径。伟大的程序员之所以很快学会一门新的编程语言,是因为这个阶段是相通的。作为新人,你做不到。这不仅是基础,也是最耗时耗力的阶段。你必须努力工作。虽然你可以投机取巧,找一些速成班,但是请相信你走不远。
当你掌握了基础,记住不是100%,你需要开始系统的了解一个真正的开发项目。往往这个过程会发生在培训班的高级阶段或者你进入公司后的前半年。这个阶段的难点不是语法问题,而是你能用工程框架和大量程序库做什么,你会不知所措!这个阶段你要强势进军,要花很大力气去面对。这个过程就是重塑你的系统思维!
突然有一天,领导交给你的任务跑了,你就能看到真相了。或者领导听了你混乱的逻辑,委婉地指出迷宫;或者你进入源代码编写者的思想,理解他们的意图。这时候你就开悟了,就像口渴的日子喝了清凉的泉水,每天都在渴求知识,谦卑。这其实是编程生涯中第一次美好的时光。
但这还没有结束。对于只懂编程的系统思维的你来说,灵活运用和掌握还是需要很长时间的。但是这个阶段来了一个曾经和你一样的小白。记住,你一定要多教他。你确实是半瓶,不过没关系。把你知道的东西分享给他,解决他遇到的问题,一定要以教促学,因为这是学习编程最独特的地方。慢慢的,很多人会发现你很有帮助,总会有人问你一些让人摸不着头脑的问题。每一个问题的发现和解决,本质上都是从多维的角度对问题解决者积累的经验进行正反馈,会让你收获越来越多。
如果你看到这里,发现自己已经完成了这些流程,那么恭喜你,在程序生命的技术发展中,你的前景无限光明。
3. 自学编程有哪些技巧?很多同学在学习编程的过程中都会抱怨“编程这么难学,我没有方向”。“网上有很多信息视频,人都麻木了!”
编程自学不仅要靠毅力,更要靠方法和技巧。记住:学编程不是学书本的事,你得去做!
这次我总结了五个编程技巧:不问,做对,剥洋葱,多用日志,善用搜索。
很多学生从十几年的应试教育中走出来,特别容易陷入一个追求大而全的系统思维体系,然后习惯去做。这就是编程入门的毒,这个毒一定要消除!
编程特别注重逆向思维方法。先把老虎画成猫,先别问为什么。例如,Java程序必须使用Jdbc驱动程序包来连接数据库。作为一个初学者,能不能刨根问底,解决问题?在边做边学的过程中,逐渐了解系统的运行机制。
发展的第一原则是什么?始终保持代码正确,这是一个应该永远牢记在心的规则。当代码的复杂性让你一头雾水的时候,你首先要让他们编译不报错,让编译好的程序运行不报错。只有正确的、可运行的代码才能给你解决问题的决心!任何错误都可能干扰你对问题的正确判断。
那么如何才能始终保持代码正确呢?也就是学习如何剥洋葱。比如你从网上拉下一大堆代码,但是在你的IDE里都是红色的,你很迷茫。你该怎么办?记住,简化是保持正确的唯一方法。不断消除错误代码,直到,即使只剩下一段代码,也能非常容易地找到错误的根源在哪里。
也有很多初学者,从一开始就是IDE,运行程序的错误就是调试工具,排查错误。久而久之,调试工具必不可少!真实复杂的生产环境,没有IDE你会怎么办?根本控制不了,所以一开始就要习惯用日志调试。你能相信吗?我编程二十年了,对调试工具还是不熟悉。
最后要说的是,有一个你解决不了的bug。我该怎么办?要用好搜索引擎,很多新手遇到问题就慌,到处求助。不过以我多年的开发经验,大部分bug百度都能找到,只有少数需要Google搜索。但是真正需要Google和Stackoverflow解决的问题,大部分初学者都无法满足,所以效率还是不求人!
那么如何利用好搜索呢?就是抓住关键词组合。如果你不上去,那只是一句话。搜索不是Siri,会给歧义。最能代表异常中的问题的关键字是用领域词添加的。比如操作MySQL时,终端抛出ClassNotFoundException异常。这两个英文单词的组合是搜索的重点,搜索引擎肯定会找出很多关于缺失Jdbc驱动包的大文章。所以,善用搜索是编程最好的老师。



