作者:安乐乐520 | 来源:互联网 | 2016-02-29 23:48
大学学的地理,现在在一家地图导航公司做后台开发(曾经想成为一个前端开发 者),我想说的是,是否科班出生并没那么重要。如果只是想糊口,学一两们语言就足够了,但是想成为一名出色的开发者,有太多需要学的东西了,对非科班出生 的来说,其中最大的不足就是知识结构的不完整,需要一点一点去积累。
我不太会码字,写点我自己的心得。大学从没想过自己会做开发,到毕业那会(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时也好排查。
3,爱学习
新技术出现时不要觉得跟工作无关就不用关心,你可以不精通,但一定要了解它是什么,它能解决什么问题,想像一下什么情况下自己的项目有必要使用它。
4,想像力
如果你想成为牛人,想像力一定要有,而且要很丰富。看到bug能想像出来它大概是如何发生的,哪个模块掉链子;拿到需求时你能想到哪类项目的模块可以拿来拼装借鉴,然后去网上找;遇到搞不定的问题网上又找不到答案,你得想到别人的什么项目也会遇到这种问题,找来参考一下。
5,代码复用
善于收集归纳网上的资源,一个简单的复制粘贴有时胜过一天的埋头苦干。