非科班程序员出生,从零自学成为程序员是一种什么体验

非科班出身,如何成为程序员? - 知乎5087被浏览490034分享邀请回答38161 条评论分享收藏感谢收起1.9K128 条评论分享收藏感谢收起查看更多回答9 个回答被折叠()知乎精选—非科班出身,如何成为程序员? - 干货总结 - 菜鸟要飞
886 次浏览
知乎用户-胡朋
大学学的地理,现在在一家地图导航公司做后台开发(曾经想成为一个前端开发者),我想说的是,是否科班出生并没那么重要。如果只是想糊口,学一两们语言就足够了,但是想成为一名出色的开发者,有太多需要学的东西了,对非科班出生的来说,其中最大的不足就是知识结构的不完整,需要一点一点去积累。
我不太会码字,写点我自己的心得。大学从没想过自己会做开发,到毕业那会(2012年)找了好多单位都没人要,恰逢那段时间HTML5被炒的很热,就想学点这个先找到一个容身之处。把自己关在宿舍两个月,一天看十几个小时的书,那本讲javascript的犀牛书被我看了个遍,12年3月终于得到了一个offer,每天工作就是做做公司的网页,事不多,在没有事情的时候都是拼命的看书,因为我知道自己有几两重,不愿意浪费哪怕一刻的时间。
知识真的需要不断的积累,你看的东西多了,慢慢的就会觉得有些东西不一样了。自己最大的一个感受就是github上的代码,以前不懂的现在慢慢看的懂了,整个2012年我都是在学习中度过,转眼到了2013年,过完年陆续有很多同事离职,我们组也走了很多,我进公司带我的那个前辈也走了,这个时候老大找我谈话,希望我能够去接手整个导航项目的后台,我感觉自己的机会来了,信誓旦旦的答应了,但是心里还是有很大的不自信。从此基本就是无休止的加班了,好在开发的任务不多,我有大把的时间看这个项目的代码。13年年中的时候新来了几个同事,开始让他们来接手一些模块的维护和开发。13年又上马了几个项目,也基本由我来带他们来做。
现在我很享受coding的过程,享受这份职业,我给自己14年的任务仍旧是不断的学习。找准一个学习的主线,学习就很有目标性,比如web开发,从服务器到客户端这条线上,学习后台语言(python,PHP等),数据库,服务器。客户端如android,ios,浏览器等,或许还需要了解下HTTP协议。在开发过程中不可避免要用到版本控制,学习下git,或SVN。如果做后台需要和linux系统打交道,也需要学习下。
不要把学习访问局限于工作内容,广泛的学习,对某个方面做深入了解,进步就很容易发生。把自己当成一个geek,保持对工作的热情,永远充满自信,是不是科班出身真的没那么重要。
知乎用户-钟锐
我本专业是市场营销的,之前完全没有任何的编程经验,现在在开始自学Android开发,和题主分享一下我的学习路径吧!文章有一点长,加粗部分是段落重点,跳着看不影响内容的逻辑性。
1.首先,先来泼一下冷水。我们在选择跨界选择从事另一个领域工作的时候,一般都是高度了那个行业的回报,低估了那个行业的困难。尤其是编程这方面的工科,它的门是在山顶上的,你必须要耐住寂寞,艰苦卓绝地努力很久,才能做出点像样的东西出来,来自外界的鼓励是要等到很长时间之后才能得到的。不像做平面设计,你稍微用心学个1个来月,做出来的东西对于外行人来说,就很厉害了,这样容易坚持地多。而做开发,你可能学半年,做出来的东西,自己觉得很厉害了,对于普通用户来说,就觉得这东西和屎一样,“这不是很早**软件就可以实现的吗?”“这个地方怎么这么难看啊!”等等。在跨界进入这个行业之前,我们都是以普通用户的角度来看待这个问题,我们在渴望自己做出一个怎样的东西时候,都低估了它背后的技术难度。所以自己一定要确定这股热情燃烧地足够强烈,因为如果不然的话,你学了一段时间,发现难度远比预期的难,周期远比预期的长,效果远比预期的差,你基本上就该怀疑人生,然后say goodbye了。
2.因为是跨界进来做,所以自己多半是带着一个目标进来的,比如要做IOS、Android、前端开发等等。那么第一步就是明确学习路线。可以找你周围做开发的朋友,把你的目标告诉他,然后然他告诉该怎么学起走;也可以去相关的培训机构的官网上找找他们的培训路线图。
3.明确了学习内容之后,应该先通过视频进行学习。因为没基础,让你直接看书,不仅看起来吃力,而且书上只要跳一点,自己对着做不出来,就两眼一抹黑,直接歇菜了。而看视频的好处是:1.有人给你讲,好老师讲得生动、幽默、清晰,很容易跟着学下去;2.他是一步一步在你面前做给你看的,你不会因为他觉得有些地方简单没讲,你又不知道,对着做不出来的情况,因为他没讲,但是他连贯地做了,你可以倒回去看。视频资源现在网上有很多,比如说综合性地有:网易云课堂和多贝公开课等;专业开发培训机构的共享资源有:黑马程序员官网等;个人的有:Mars老师的个人网站(门户 – Powered by Discuz!)。可以选一套自己目前最看得进去的一套开始看着,看出一点感觉了就可以有选择地看一下其他的视频。
4.看视频的问题是,每套视频时把目标方向每块里,他觉得重要的给你挑了几个有代表性地讲,全面性和连贯性都会有一点问题。当你自己能够意识到这个问题的时候,就可以开始看书了。到了这个时候,我觉得怎么挑书,你肯定是有感觉了的。我就来推荐下我自己觉得好的就是了,因为我在学Android开发,《疯狂Android讲义》的这一套书都很好的,系统+案例+效果预示。
好了,我目前就到这了,我觉得编程入门是很难的,但是进来了,或者是自认为自己进来了,后面该怎么学,自己是知道的,与题主共勉!
知乎用户-木拓风
作为非科班人员,并且目前还在从事这个行业,希望这些建议对你有所帮助:
每年都有很多科班学生毕业投了简历过来实习,通常我们会看重的是他快速的学习能力,即使是0,能很快做到1,当然从就业角度,建议在投简历之前先搞定下面这几件事:
1.搞编程要乘早,虽然兴趣是关键;
2.学好一门语言先,c,c#,java,php都行,后面你会明白语言都是相同的,不用纠结学哪门语言好;
3.ajax,jquery,css,html还有sql这些基本的你要明白是做什么的,怎么用;
4.除了语言,你还要会ps,简单的图片处理;
5.涉及到项目,你要会svn,mantis,远程连接等这些;
6.vs,eclipse,sql server ,MySQL 这些是和你用到的语言相对应的;
7.英语基础要扎实,逻辑思维能力要过得去;
8.学会用百度找资料,模仿着学习;
9.代码要多写,哪怕是抄也得抄一遍,不要轻易Ctrl+c, Crrl+v;
当然还有其他要注意的,但是你掌握以上几点,工作是不成问题的。
知乎用户-齐凡
入门其实不难,只要你思考问题有逻辑性学起来就很快(如果你的逻辑性不好,那以后会很痛苦早点放弃,哪行不活人呀)难的是你要在这行立足发展。我觉得下面这些素质或习惯的养成决定你是否能干得更久一点。
1,要有耐心
看别人没有注释过的代码又看不懂时不要着急,一堆好像永远也找不到头的乱线,只要有耐心去理,肯定能找出你需要的那根;
出现bug时有耐心去测试找病源;当代码出现严重bug老找不到时不要怒,有时可能是个低级错误,是你觉得不可能出错的地方,是你不愿意去想的那个角落;当代码又莫名其妙地能运行了,不要心存侥幸,可能是魔鬼在潜伏,必须全面认真测试。
2,漂亮的文档
不要觉得你很了解自己,说不定明天你就看不懂自己今天写的代码了,所以注释文档一定要规整明了,这样出现bug时也好排查。
新技术出现时不要觉得跟工作无关就不用关心,你可以不精通,但一定要了解它是什么,它能解决什么问题,想像一下什么情况下自己的项目有必要使用它。
如果你想成为牛人,想像力一定要有,而且要很丰富。看到bug能想像出来它大概是如何发生的,哪个模块掉链子;拿到需求时你能想到哪类项目的模块可以拿来拼装借鉴,然后去网上找;遇到搞不定的问题网上又找不到答案,你得想到别人的什么项目也会遇到这种问题,找来参考一下。
5,代码复用
善于收集归纳网上的资源,一个简单的复制粘贴有时胜过一天的埋头苦干。
原文链接:/question/
没有个人说明
549727 曲终人散
500705 ◇易水寒?♂
500460 kkkkkkk
500450 脉醉
500400 ﹏夢裏花落℡
500375 奕贱你就笑
20 16 10 10 10 10 9 9 8 8
27786 14696 14094 13137 11674 10400 10400 9375 8860 8849非科班出身的技术如何成为专业程序员?链接:/question/来源:知乎vczh,专业造轮子,资深汕头人尽管我读的是软件工程,但是其实很多重要的学习过程我已经在中学就完成了,大一搞定了clrs和龙书,我也勉强算非科班出身吧。如果你要成为一个专业的程序员,千万不要过早设定自己的方向,因为专业的程序员都是能够把很多个方向做的很牛逼,其中有一两个方向超级牛逼。像你这么年轻的人,应该去巩固一下基础知识的同时,你可以学习ios等级能用来养家糊口。学习ios是为了赚钱,同时为了让你争取时间学习更多的知识,从而成为一个专业的程序员。这并不矛盾。创造windows的dave cutler今年都70岁了,20年前4、50岁了才刚刚开始写winnt,人家在30岁之前都还不太懂怎么写代码,所以不要着急。因此我认为你在学习ios找工作的同时你应该同时学习(不需要成为专家,学习就好了)计算机图形学编译原理操作系统的基础知识分布式系统的架构对你的代码进行靠谱的自动化测试学会写framework和library,不要一味地写application这些对于你成为互联网行业的未来的标准制定者和奠定技术基础的人是有帮助的。sun wilson英语专业,当年,在做了大半年编辑后,转程序员。1)这是个奇妙的世界,现在做技术14年了,这个初衷没有变过2)起步阶段,数据结构与算法一类的基础,至关重要。因为越往后可能你越没有时间看这些基础的东西。3)然后你可能会沉溺于某种编程语言,还会跟别人争辩,就像孩子捍卫自己心爱的玩具4)然后,你会接触更多编程语言后,你就会逐渐不再固守任何编程语言了,会饶有兴趣地去探索一些新的语言、工具、开发环境5)再然后就是各种系统部署、troubleshooting等,逐步培养你的系统论6)解决问题的能力,比编程重要。很多问题的解决,不是靠代码,往往是靠沟通。你的首要目标是帮助别人解决问题。前4-5年大概会是以上这样的。在互联网行业长久混的话,技术是很好的入口,因为技术人员能造出产品,所以是生产力的一部分。把自己称为&码农&的,叫做自轻自贱。有一天你会像看白痴一样看着你对面那些不明白最基本技术原理而只是把这一切看作饭碗和生意的人。不管干哪行,人和人的区别,不是由当初的专业决定的,而是由你业余时间在干嘛决定的。胡朋,IT工程师大学学的地理,现在在一家地图导航公司做后台开发(曾经想成为一个前端开发者),我想说的是,是否科班出生并没那么重要。如果只是想糊口,学一两们语言就足够了,但是想成为一名出色的开发者,有太多需要学的东西了,对非科班出生的来说,其中最大的不足就是知识结构的不完整,需要一点一点去积累。我不太会码字,写点我自己的心得。大学从没想过自己会做开发,到毕业那会(2012年)找了好多单位都没人要,恰逢那段时间HTML5被炒的很热,就想学点这个先找到一个容身之处。把自己关在宿舍两个月,一天看十几个小时的书,那本讲javascript的犀牛书被我看了个遍,12年3月终于得到了一个offer,每天工作就是做做公司的网页,事不多,在没有事情的时候都是拼命的看书,因为我知道自己有几两重,不愿意浪费哪怕一刻的时间。知识真的需要不断的积累,你看的东西多了,慢慢的就会觉得有些东西不一样了。自己最大的一个感受就是github上的代码,以前不懂的现在慢慢看的懂了,整个2012年我都是在学习中度过,转眼到了2013年,过完年陆续有很多同事离职,我们组也走了很多,我进公司带我的那个前辈也走了,这个时候老大找我谈话,希望我能够去接手整个导航项目的后台,我感觉自己的机会来了,信誓旦旦的答应了,但是心里还是有很大的不自信。从此基本就是无休止的加班了,好在开发的任务不多,我有大把的时间看这个项目的代码。13年年中的时候新来了几个同事,开始让他们来接手一些模块的维护和开发。13年又上马了几个项目,也基本由我来带他们来做。现在我很享受coding的过程,享受这份职业,我给自己14年的任务仍旧是不断的学习。找准一个学习的主线,学习就很有目标性,比如web开发,从服务器到客户端这条线上,学习后台语言(python,PHP等),数据库,服务器。客户端如android,ios,浏览器等,或许还需要了解下HTTP协议。在开发过程中不可避免要用到版本控制,学习下git,或SVN。如果做后台需要和linux系统打交道,也需要学习下。不要把学习访问局限于工作内容,广泛的学习,对某个方面做深入了解,进步就很容易发生。把自己当成一个geek,保持对工作的热情,永远充满自信,是不是科班出身真的没那么重要。分享到:最近浏览暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友非科班出身,如何成为程序员? - 知乎5087被浏览490034分享邀请回答1.9K128 条评论分享收藏感谢收起}

我要回帖

更多关于 非科班程序员 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信