一、自学编程
自学编程的弯路多得数不完,坑多得踩不完。如果你决定要自学编程,就意味着踏上了一条面对困难、挫折和失败的无尽之路,要想清楚自己能不能承受这些挫折,自己能不能坚持走到最后。
自学编程过程中总会遇到这样一些问题:
* 编程环境?不会搭建
* 知识点好多,定义概念,格式规则,缺点优点。。。
* 刚学的知识怎么又忘了,怎么这也不会那也不会
* 这个语法是什么逻辑,搞不懂
* 教程这样做可以,我这样做怎么就不行?
* 敲了半天代码,一运行怎么全是错误?
* 错误解决不了,想放弃,狗带
* 学了这么久,感觉还没入门
* 教程内容都是旧的,学起来费力
* 技术更新了,旧知识不管用,又要重新学
如果没有一颗能战胜这些苦恼的勇敢的心,我劝你还是尽早放弃,免得心灰意冷,身负重伤。而如果你喜欢挑战艰难险阻,能直面失败,并能在失败与痛苦中砥砺前行,那么恭喜你可以踏上编程之路,努力的去追寻自己的梦想吧。
编程的世界是多元纷繁的,大的方向就分前端开发、后端开发、移动开发、云计算、数据处理、智能硬件、物联网、虚拟现实等等,光编程语言都几十种。如果没有做过功课,贸然进入只会分分钟懵逼。所以最好是根据自己的兴趣爱好再结合市场前景,先选定一个方向,再选择一门语言,然后头也不回的深深扎进去。
我当初开始自学编程的时候,因为工作时学了点Linux,就准备学Linux。Linux没学几天,发现游戏编程的Unity 3D挺好玩的,就转学Unity 3D。Unity 3D学了段时间又觉得大数据很火,感觉接下来是大数据的时代,要跟上时代的脚步,然后又去学习Python。后面才意识到自己在软件测试上面有极大的兴趣并有一些自己的想法,再加上本人做事很认真细致,遂最终决定好好学习软件测试。
如果自己对自己兴趣爱好没有深刻的认识,没有明确的学习目标,只是一味茫然的去尝试,最终只会像猴子掰玉米一样,不但浪费了自己宝贵的时间,还会一无所获。
制定学习目标计划
选定了方向之后,剩下的就是朝着目的努力前进了。自学的过程是枯燥乏味的,也没有人陪伴督促,所以要想自学有一定成果,除了要有清晰明确的目标计划,还要有很强的自我约束能力,还要善于自我及激励。不然很容易自由涣散,三天打鱼两天晒网,看起来花了不少时间,实际上没学到什么。
我开始的时候就是凭兴趣漫无目的的学习,结果发现收效甚微,于是才制定学习计划,开始系统的学习。我先是学习了JAVA基础语法,然后将整个Android开发涉及到的所有知识面简单快速的学习一遍,这样对整个体系框架有一个全面大概的认识,然后在详细具体的学习每一部分,尽量搞明白其中的实现逻辑和原理,以达到掌握知识的目的。最后开发练习的时候再根据自己要实现什么功能,去查相关的资料。
优化学习方式
一、做好笔记,记录经验
我们大多数人并没有过目不忘的神技,很多时候我们学了也不一定马上掌握,需要过后花时间慢慢领悟,而且还有忘掉的风险,所以对于重要的知识点都要做好笔记。
编程的过程中总会遇到各种各样的问题,比如编程环境的配置,常用的快捷键,编程过程中的错误、异常,软件更新问题等等。这些问题往往会不只一次出现,所以我们面对这些问题都是如何解决的,一定要记录下来,一是增加自己解决问题的经验,而是以防下次出现。
我做笔记记录的方式:
* 截图
* 拍照
* 思维导图
* 写Word文档
除了最初用纸质笔记本做过笔记,后面都是用上面的方式。用电子的方式方便快捷易于分享,而且我还能传到手机上,利用其它时间随时随地阅读。
二、认认真真敲代码
二、认认真真敲代码
二、认认真真敲代码
编程没有捷径,只有勤奋努力。
三、多看官方文档,外文资料
互联网是一个更新迭代很快的行业,所有编程语言都会不断的更新新功能和修复旧Bug,网上查的资料很有可能是旧的解决方案,现在已经不适用了。所以最好最快的方法就是查看官方文档。
毕竟互联网技术还是国外发展起来的,所以在很多技术问题方面,人家还是有优势的。有些问题在国内不一定能找到答案就去外网找。
四、进入行业圈子
只有进入行业圈子与其他人交流,你才了解最新的行业动态,才知道自己需要更新哪些技能。最重要的是有了这群人,自己遇到问题解决起来嗖嗖的,那速度才叫“倍爽儿”。
进入行业圈子的方式:
* 混迹各行业网站论坛个人技术博客
一般在搜问题时很容易就搜到这些网站
* 关注各种行业话题和人
比如知乎、微博、微信公众号等
* QQ群、微信群
交流基地,技术后援团
* Github
互联网圣地,行业大圈子就在这。
五、动手做项目
我们学习编程的最终目的就是用所学的做出具有一定功能的项目,而做项目又是最好的学习和巩固知识的方式。如果前期能力不足就先做一些简单的功能模块,一步一步慢慢来,不要一开始就要实现各种酷炫炸天功能,遇到不会的就在网上查, 现在互联网这么发达,获取资源也及其方便。而且开发前也最好在网上查一下有没有已经成型的框架或模板,编程界有一句很流行的话“不要重复造轮子”,什么都自己做一是很耗费时间,二是自己技术能力不足还可能留下不少坑。
收获回报
自学编程说起来到处都是苦,但也并不是完全一无是处。客观地看,自学编程还是有很多好处的。
* 培养自学能力
* 掌握一门技术
* 锻炼毅力和独处能力
* 提高解决问题能力
* 提高面对挫折失败的承受能力
* 改变思维方式
* 享受沉浸专注的快乐
* 享受创造的快乐
二、培训
看到、过听到过太多的劝诫:
培训机构都是商业机构,都是赚钱的
确实,培训机构是赚钱的,赚钱不是犯罪,谁说想赚钱就必须坑人,是有人走捷径,但也有人坚持初心不变,赚钱和质量不是天生矛盾的,长远来说是一致的,不赚钱的大学也被大家狠批么,赚钱与否真和质量没有一毛钱关系。
就业不能保证,不能就业
第一,IT培训就业,可以这么说就业的是多数,不就业的少数,如果倒过来,估计培训机构都被砸光了。
第二,教学的规律是教和学的双方努力 ,如果学生不好好学,继续玩游戏看小说刷微信,还想就业,这个培训机构确实做不到。人不是产品,可以按标准进行塑造,教学教学,必须是老师好好教、学生好好学,不好好学,神仙也无奈。
第三,确实有不少培训机构的就业率不高。
助学贷款是高利贷
噢,你知道这个世界变化有多快么,你知道现在的分期付款的利率有多划算么?IT培训贷款已经不是高利率的年代了。
这点钱用来买书,自己看,能买全世界的计算机方面的书了。
请问如果想培训的人能自己看书学好,他乐意花这么多钱和时间培训,你们以为他们是傻子啊,怎么知道他们就没试过啊,不花钱就能学会这么好的事,谁都会去做,不就是没办法通过看书学好么。
程序员是野生的,不是圈养的
人类有野生的么?哪个不是圈养出来,要圈养多少年,从婴儿一直圈养到大学毕业,现在再圈养4个月又怎么了,你们那么牛,干吗不从幼儿园就开始自学啊。
培训就是让你入个行,课程很基础
确实相对于以后的工作所用来说,真的比较浅,培训就是入个门、入个行,没说要培训项目经理,也培训不出来,只要就业够用就可以,课程真深了,培训费用更高。
对,就是入个行,就是让你有个敲门砖,培训机构培训你4-5个月,又没负责改变你三观, 那是家长和人生导师的事,也不负责让你做架构师, 这点学费这点时间就是让你入个行。
上stackoverflow、github学啊
呵呵了,有这个英语水平和技术基础,不要培训了,去工作了,又回到能不能自学这个问题来了。
不要总以为自己对,好像真理都在自己手里。不要总是认为只有自己才行,别人什么都不行,好像世界上没有自己,地球就不转了
什么样的人适合去培训?
因为大多数人的自学能力并没有想像中的那么优秀,以为自己可以通过闭关修练,无师自通,但最后发现连基础都没修好。明明以为八十一难就能通关,但亲自尝试后发现八十一难仅仅只是个开始。放眼望去,看不到尽头,希望变成失望,热情消失殆尽。这是大多数自学人的通病之一。
1.很多熬过了通关的煎熬,但却没熬过解决问题的折磨。我遇到过很多信心满满要自学的同学,隔一段时间再问他们,大多数人都放弃了,问其原因,无外乎遇到问题,不知向谁求救,百度搜索答案各色,还要花费大把时间分析,明明很小的问题,耗时耗精力。而身边即使有做IT的朋友,也不可能做到时时回复,时间久了,学习的心就慢慢凉了,放弃。
2.知识浅,走弯路。这也是很多自学者的通病,找亲朋好友要了一大堆资料,看的晕头转向,然而,根本分不清哪些是主流技术,哪些是非主流技能,反正一股脑全部吸收,消化不良不说,十之八九都是囫囵吞枣,只知其然,不知其所以然,这样的学习结果可想而知。等去参加面试的时候,三下五除二,被人家打回毕露原形,还要回去重新加强修炼,耗时,信心倍减,放弃。
3.动手能力薄弱,这是自学者最大的软肋,很多求知者认为,只要知识理解的透,至于动手那还不是水道渠成的事,于是把大量的精力都放在书面理论知识的梳理,对于项目实操并不予重视。而编程这门技术与其它行业最大的不同,就是这门技术实操与理论的占比约为6:4。有很多自学者,精于理论,面试的时候把主考官说的频频点头,眼光放电,等来公司上岗的时候,大跌眼镜,明明招的一个王者,但怎么开始接触项目时候,却发现实际就是个青铜。
IT编程这行,最看重从业者开发项目经验与能力,而绝大部分HR只是帮忙初步筛选程序员简历,他们通过关键词筛选简历中说到的和工作职位相符的技能,越多匹配越好。而技术人员直接了当的通过从业者的项目经历,决定面试与否。所以,动手能力决定你未来的发展和你的腰包,而这点恰恰是大多数自学路上的进修者所不予重视的。
4.时间不规划
如果今天有这事儿,明天有那事儿;或者工作后想转行,开始学习了,又放不下之前的工作,不能做到一心一意学习。都会影响学习效果,甚至导致学习失败,这也很多自学者或多或少都能经历的事
如果满足多条综上所述,个人觉得参加培训是应该的。
共勉:【可能给予你助力的教程】
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
加油吧,测试员!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。
未来的你肯定会感谢现在拼命的自己!
我这里告诉大家一个事实就是:培训之中,必有败者。培训机构再好,如果你不认真学习,其结果也不会如意,而教育不仅仅是“教”,更是要“学”,教育的最终结果是老师和学生一同决定的。在培训生当中肯定会有找不到工作,找不到工作的后果就是白白花了钱,加4个月甚至更多时间的浪费。
总结
其实不管是自学还是培训,都只是一种学习方法,并无拙劣之分,本质上还得看你自己是否愿意付出时间和精力。