真正“自学”入门编程/程序员是种怎样的体验?
真正“自学”入门编程/程序员是种怎样的体验?
-----
网友解答:
-----
自学编程真的很难,主要原因是“不系统”。
如果你是科班出身,一般会从基础学起,循序渐进。先学计算机基础,计算机组成原理,操作系统,编译原理,数据结构,算法,软件工程等等,并不是只学某一门编程语言。
自学编程肯定是可以的,要学会的东西纷繁复杂,进度很慢,需要长时间坚持才行。
如果是10多年前,通过培训机构还能进入程序员行业。现在程序员这个行业内卷严重,想入行太难了。
-----
网友解答:
-----
也没啥体验,其实很多程序员都是自学入门,正所谓做一行厌一行,很多计算机专业的学生毕业后不想做程序员,而其它专业的学生毕业后却想做程序员,我就属于第二种。
其实我觉得吧,编程就是学一门外语跟人交流,或者说跟计算机交流,跟学英语的感觉是一样的,而且比学英语简单多了,至少不用背单词,背什么好词好句。
计算机语言的内容很简单,也很系统,也就包括变量、函数、条件判断、面向对象等,以及使用语言实现的文件系统、网络、输入输出、界面开发。而为了实现这些,一门语言还会提供基础函数库、标准库等。还有所有语言共有的计算机硬件基础、软件基础、数据结构、离散数学等。
按这套流程走一套,也就学会了一半,C++比较难,应该需要几个月或半年。解释性语言如JS,可能也就几周时间。
当然,学编程是为了做软件的,没有做项目,永远都不算学会编程。好在我在公司正好接手了留下的项目,接手了半年,也就熟练了。项目是基于C++的MFC项目,难度系统比较高,后面再学别的语言和平台就比较简单了,后来需要做一个基于Electron的项目,大概也就看了两周,就进入项目开发。
总之,自学编程很正常,也很简单,静下心来,把上面说的这一套东西搞下来,再参与做点项目,也就基本学会了。但想成为高手,是需要在数年的项目练习中才可以。
-----
网友解答:
-----
自学成为程序员是完全可能的,而且成为程序员后自学能力也非常重要,详见本人原创文章:我的编程人生。
我最近在自学kotlin,我觉得看书(kotlin实战电子书网上可以下载),应该和看源代码,调试源代码,B站或云视听小电视上看视频,网上尤其是要到编程语言的官网上看资料结合起来,这样自学效果更佳。
-----
网友解答:
-----
此时一位自学出身的码农路过,并留下了自己的见解。
自学入门编程成为程序员是怎样的一种体验呢?只能说一句,很累、很枯燥,但最后还是比较有成就感。如果不是严格定义的话,很多程序员其实都有自学的经历,科班出身的程序员虽然学的是软件相关的,但其实说到底,学校教的东西还是很浅的,最终能不能深入,还是得靠自己课余时间里进行学习。
我是大二第二学期那会开始自学编程的,在那段时间里,自己也走了不少弯路,特别是头一两个月里,行程上来说有些无厘头吧。所幸后来找到了一些方向,在这里不得不说一句,优质而系统的资源真的很重要。我就是从看视频开始深入学习的,网上也有很多获取资源的途径,但优质的不多,在这里呢,首推慕课网的课程。有了视频教学之后,我是先把视频下载到自己的手提电脑上,然后每天都去图书馆学习,节假日在家没事做的时候也是敲代码学习比较多,那段时间还是比较枯燥的,但成长很快。一开始接触的新东西很多,很容易学了后面忘了前面,所以,学习过程中最好要养成做笔记的习惯,忘记了以后也可以很快回忆起来。
再就是多加几个技术相关的群,虽然有很多技术群一天下来都是聊天居多,但其多多少少有些时候还是会有技术上的一些问题的讨论的,这时候你就可以去看一些别人在工作中遇到的问题,进而学习。当然,有不会的也可以请教里面的人,虽然可能有时候没有人会理你,多发几个群,别人给你解答的概率就会大了。
最后,比较庆幸的是,班里还有几个人也是自学编程的,所以有时候有一些心得感悟大家也会拿出来分享和讨论,相互进步和学习。
自学,是一个枯燥的过程,而且需要很大的毅力和以及自律,但也是一个比较有成就的过程。
-----
网友解答:
-----
如果你可以“自学”四年,那么你跟科班出身也差不多,很多人是不能拿出这么长时间学习而已,学几个月就出来了,就好比是大学一年级学生,肯定比不过四年级的。
国外有些孩子从小在父母电脑上学习编程,不是科班出身,但编程时间10多年,也是“自学”,肯定比普通大学生要强的多,所以这是“时间累积经验”的问题,而不是出身问题
-----
网友解答:
-----
残忍的真相
一名参加过线下培训的同学,曾这样坦言:
我们那个班60多人,学完就剩20多人,学完立马找到工作的有12人,一年后还在IT行业的只有7人。
计算机专业从事对口工作的比例,又有多少?
很遗憾,也没想想象中的那么高。一名科班毕业的程序员回忆道:
我记得当年班里大概也就一半从事软件行业的吧,其他的要么考公,要么考研,还有些去做销售去了。当然,就业率100%,当时有七人签不到三方,然后辅导员把他们全部签到了朋友的一个轮滑俱乐部里面。
选择比努力重要?
马云曾说:“互联网时代,选择比努力更重要。”
这一金句受到了某一部分人的追捧。于是,他们就开始不断的钻研,如何才能做出更正确的选择。可惜到头来的结果是:
选择比努力更重要,很对!怎么选择?不会!选择了一会儿就放弃,流泪!
马云说的所有话,都有他的道理,比如那句著名的“我从来没碰过钱,我对钱不感兴趣。”站在某一个特定的角度,是对的。
而“选择比努力更重要”,错了吗?也没有。但几乎所有人都忽略了一个事实,马云是什么样的人?他首先是一个很努力的人,其次才是一个很会做选择的人。他已经把努力当成一种自然而然的事情。努力,被他过滤了。
只有努力了,才有选择的权利,选择后,同样需要努力。
很多人听说IT行业很吃香,就执拗的选择了IT,你是对的,互联网依然处于蓬勃发展时期,到处都充满着机会。
可是,选择了走上编程这条道路之后,80%的人都选择了放弃。
编程难只是借口
最近在看卡耐基《人性的弱点》一书,他阐述了一个发人深省的观点:99%的情况下,不管犯下多严重的错误,人们都会优先归结于他人。为此,卡耐基举了几个例子:
一名臭名昭著的杀人犯,枪杀了一名让他出示驾照的警察,却声称自己是在正当防卫。
一名黑帮头目曾说:“我把人生中最好的时光奉献给人们,而我得到的却只是骂名。”
所有的罪犯大都认为自己没错,都在为自己的罪行找各式各样的借口,这就是人性的弱点。
学习编程没多久,就说编程太难、我的天赋不够、学了记不住等等,事实上,这些理由太过冠冕堂皇,都是借口罢了。我们从来不会让主动给自己施加负罪感,经常通过各种理由让自己心安。
编程实在太难了,所以我学不会,这是没办法的事。
努力的人都成功了
努力一定成功吗?
我们想,大部分人都会回答:“不一定。”
一个搬砖工想成为项目经理,为了这个目标,每天搬砖十几个小时,十年来,他还是一名搬砖工。
一个网站编辑,已经工作了3年,这3年来,他矜矜业业,上司教给他的任务,他都很努力的完成了,可直至目前,他还是一名编辑。
这样的例子很多,但不知你有没有发现,我们对“努力”是有偏见的,即努力就是不断的做重复性的工作。
这并不是真正的努力,花费足够多的时间,不断的寻求突破自我,这才是真正的努力。
10000小时定律
认为,要成为某个领域的专家,需要10000小时的努力,这里说的努力,指的就是用10000小时的时间,不断的超越自我。
搬砖工人只会埋头不断的搬砖,10000小时后,他还是搬砖工。可如果在搬砖的同时,他在思考,如何才能提高效率?于是他不断革新自己的搬砖方法,直至后来发明了机器,他成为了这一领域的专家。
你还觉得努力不一定成功吗?
学编程按部就班,习惯了Ctrl+v、Ctrl+c,主管说怎么开发就怎么开发,从来没有自己的想法,996五年,到头来还是一名底层,你真的努力了吗?
真正努力了的人,都取得了成功。至少,他们没你想象中的那么不堪和落魄。
放下你的目标
学完html和css,我要做一个网站出来!
我们很喜欢学员们有自己的目标,目标就是前行的动力。你能给自己定一个目标,说明你是一个做事有条理的人。但我们也很担忧,过高的目标和功利心,会摧残你的信心。
学完中国近代史,你可能对溥仪这个末代皇帝很感兴趣,想了解一下他的经历,于是你开始翻阅《我的前半生》,想看小说一样,看着溥仪的自传。
一个月后,老师突然布置了一个作业,要求同学去看《我的前半生》,并写出读后感。你能完成这个作业吗?
我们想,对你而言,应该不是什么难事,因为你已经按照自己的意愿,看完了整部自传。
这个顺序颠倒一下,会是怎样的?
老师先布置作业,要求看书。这时候你再看,可能很难看下去。因为无时无刻你都在想,我该怎样写好这篇读后感?根本静不下心来细看,只会想着如何将作业更好的完成。
学编程也一样,当你开始学编程时,就想着未来要写一段什么样的程序,做多厉害的程序员的时候,你的注意力都不会放在当下,久而久之,就会开始厌烦,为什么我学了这么久,还是不能成为一个技术大牛?进而你就会选择放弃。
一名教育家告诉他的学生,自己是如何训练自己的毅力的:
年轻时,当我决定做某件事时,我总想做得最好,却每次都达不到预期,总是坚持个一两天就放弃了,负罪感使我更容易放弃。后来我发现这样非常糟糕,大学同学已经取得了不小的成功,他们有的自己创业,有的就职于某大型企业。我自信能力不比他们差,只是毅力太差,做事不够坚持,于是我打算训练自己的毅力。
一天晚上,我想到了一个方法,我将一堆纸裁剪成了365张卡片,规定自己每一天在一张卡片上写上一个随意的字。
期间,我很多次都试图放弃,但回头一想:只是在卡片上写一个字而已,30秒就够了,于是我又开始动笔,每一次完成目标,自己就更加自信了,以至于一年后,我的目标达成了,我依然保持着这一习惯,每天不写一个字,就会手痒得不得了。
学编程也是如此,放下你那想写出多么高大上程序员的心。把目标降到最低。每天,我至少学一个html标签,只要这个目标达到了,我就成功了。至于多学的部分,只是我给自己“加餐”而已。
-----
网友解答:
-----
白嫖
-----
网友解答:
-----
程序员并不是多高深的行业,看着都是英文,密密麻麻的,看不懂挺唬人的!
会英语的人,就算不会编程,给他们源码,他们也能猜出程序是做什么的!
普通话全国通用,但是方言只会在地域内通用!
程序员就是翻译,把用户需求翻译成机器的语言,让机器听懂照着做!当然中间会涉及到处理实际问题遇到的难题,然后框架,算法等也就运用而生了!但是框架与算法等大都是大公司或者牛人写的,你要做的就是用,熟悉的用!
开发程序语言有很多,目的都一样都是翻译!只不过根据实际需求更加细分!程序员写的程序机器也是不懂的,因为机器只懂01.所以最终的程序还是会再次被编译器翻译成机器的语言!让机器运行!
自学编程,就是熟悉一门解决实际问题的编程语言,既然是语言,那么你就要以翻译的立场站在用户与机器之间!举个例子,需要开发一个官网,那么你需要从客户那里了解需求并做出原型,精确到每个像素如何展示,按钮与用户如何的交互,最后定型后你就按照原型翻译给机器!这中间需要考虑对不同的浏览器的兼容,尺寸的变化,用户的交互,网站内容如何更新等,不过不用担心,这些问题都已经有框架与解决方案,你要做的就是能事先预判一些问题在编程的时候考虑进去,要不然可能就变成了bug,也不用过度担心,因为再厉害的程序员写的程序都有bug!要做的就是遇到bug能解决它!
万事开头难!没有哪个行业是一天形成的,都是需要时间与大量的人在遇到问题又解决问题,逐步积累经验慢慢成型的!所以我们作为一个行业的行外人或者新人,面对的是几十年乃至上百年的行业,让你一眼看透那不可能的!需要做的就是学习!学习!学习!
-----
网友解答:
-----
自学成才的也有
-----
网友解答:
-----
我有一个同事就是真正自学编程,你会发现学成后面临很多问题,第一当然是找工作,很难,半年时间没有一家公司招他,因为我们公司是创业公司,用低工资给了他一个机会。进来后上手项目很慢,跟不上进度,因为自学就是在网上找的教程,和真正开发还是有差别的,就叫了我带他慢慢入门。然后就是需要持续学习,因为不管做什么都感觉他慢我们一步。最后导致他的工作体验极差,没有信息,刚毕业的同学进来都能够帮他解决问题,一年半后就又转行了
-----
网友解答:
-----
培训机构出来的还没几个成才的呢 这还是有人带着 自学的话会走很多弯路 时间成本很大
------------------
推荐阅读:
上一篇:公务员还需要考注会吗?
下一篇: 练毛笔字的时候竖笔总是写不直,怎么提高?