ncbx002 / database

草榴社区 杏吧论坛,技术讨论区&杏吧聊天室 帖子汇编
https://github.com/ncbx002/database/issues
5 stars 2 forks source link

零基础,想要成为一名程序员要怎么做? #7

Open ncbx002 opened 4 years ago

ncbx002 commented 4 years ago

经常有人跟我咨询好不好转行IT,转行哪个方向,学什么语言比较好,该怎么做,说真的这些问题可远比穿什么衣服更难,因为职业的背后,更多是抉择而非选择。选错一件衣服可以重来,而选错一个职业所面对的结果,是非常让人痛苦的。任何事情,身处圈外,都有很多困惑和疑问,而身处圈内,亦会有很多无奈和憋屈。换个角度看世界,或许我们所面对的每一段经历都是选择与博弈的纠结和快乐,人生本就不容易。

你一定要清晰的认识到:任何人给你的建议或者方向,只是他站在自己体验的角度给你经验性的建议,而最后你的选择,除了深思熟虑还有孤注一掷。

当下,越来越多的人转行IT学技术,造就了”360行,行行转IT“的现象。广义上的IT行业工作分类比较复杂,比如有硬件维修和维护、软件开发、网络工程师、软件应用、游戏开发、动漫制作、软件测试、3G(第三代移动通信技术)、网站制作等等。虽然,我们必须承认,未来五年,乃至十年,IT行业仍将高速发展,带动相关产业无数,影响全国数亿人的收入,随着互联网+、O2O模式、5G时代的到来、以及物联网、工业4.0、中国制造2025的项目推动,互联网仍是一个大风口……

但是,并不是每个人都适合进入这个行业。

诚然,在众多的转行者当中确实一部分人是因为自己所爱,但是另外一部分人却是随大流,听别人说IT行业发展好、薪资高就想进入该行业,至于未来,他们从来不计划。作为IT培训行业从业者,蜗牛学院的颜(lian)值(pi)担(zui)当(hou)的蛋哥,本文只聊实话不带套路,给正在考虑转行IT的你一点诚挚的小建议(仅供参考)。PS:为了追求答案尽可能全面,以下有部分回答内容转载自网络,难以考究到根本出处。

问题一:IT是什么 ? IT (Information Technology),又称信息技术。它的涵盖范围极广,能应用到各类信息技术的产业中去,比如银行,咨询,医院,出版,制造, 影视等等,他们共同的特点是依赖于信息和信息系统。

计算机软硬件,因特网和其他各种来连接上述所有东西的网络环境,以及从事设计、维护、支持和管理的人员共同形成了一个无所不在的IT产业。

  1. IT行业是一个新型朝阳行业,高速增加。

现在是信息社会,发展最快的就是IT行业。全国GDP平均增长9%,就已经是非常快了,而IT行业的发展是30%,最近几年,甚至是达到了40%。能够利用最少的成本创造最大的价值,是传统行业的4倍。

2.我国仍处于发展中国家。

前段时间,国务院发布了《新一代人工智能发展规划》,明确表示,举全国之力,在2030年一定要抢占人工智能全球制高点,并且要大力扶持IT行业,以信息化带动工业化的发展。

  1. IT行业市场巨大,目前各行各业都离不开网络。

IT行业涉及范围之广,也意味着人才的需求量巨大,高校每年毕业的计算机专业学员基本在20万,市场的需求在60万,这也就意味着人才的缺口是40万。所以与此同时也有很多非计算机专业的人员通过培训进入这个行业。

问题二:怎样判断自己适不适合IT行业? 1.年龄。

这是一个很重要的参考因素,你必须先确定自己学习技术的目的是什么。若是为了个人爱好,那任何时候学习都不晚;但如果你是想要从事这类工作,虽说IT行业靠实力,但年纪太大才进入这个行业,即便学会了,找工作时也会困难重重。

比如:你是一个公司的技术经理,收到一份与自己年龄相仿、且又没有什么技术经验的简历,你敢要吗?

不喜勿喷,这就是IT行业里的真实现象。另外就是家庭压力,不太允许长时间和不规律的工作。PS:不得不承认这个行业大部分加班还是有些严重。

还有最最最重要的一个原因,随着年龄的增长,学习能力和思维逻辑额能力会下滑,所以年纪会有一定的影响,不太建议30岁以上的朋友转入这个行业,非要挑战的话,就得具备“更多被拒绝”的心态。

2.兴趣。

大学毕业以后,我们至少有三分之一的时间都在职场度过,所以工作对我们而言不应该仅仅是一种赚钱的方式,而是我们生活中重要的一部分。

要么做一份喜欢的工作,要么把工作变成自己喜欢的事情。

如果你一看到电脑屏幕就头晕,一敲代码就难受,或者从主观上就排斥办公室的电脑工作,那可能真不适合从事IT工作,也不要为了钱而勉强为难自己。

3.性格。

这点要着重说明一下,做技术的并不是大家所认为的宅宅宅。也不全是性格内向、安静的人才适合编程工作,就像我们公司的程序员、他们也爱健身、爱跑步、爱足球、爱户外、爱写诗、爱交朋友……

但技术要想学得精、发展好,有几个性格条件是必备的,比如:

不服输 不嫌烦 胆大心细 有毅力 有好奇心 能主动解决问题 如果具备三条及以上,你是很适合做技术的。

4.学历。

IT虽然是一个入门较容易的高薪行业,但入行的最低学历门槛基本是大专。据58、智联、前程无忧等招聘网站发布的历年招聘信息分析表显示,95%的互联网企业,招聘要求的第一条是学历限制。

我们都知道学历≠能力,但若没有那一纸“敲门砖”,你可能连投简历面试的资格都没有。所以如果你现在学历不够,又想转行IT 的话,不妨在学习技术的同时提升自己的学历。

问题三:IT行业还有发展空间吗? 席卷全球的信息科技给人类的生产和生活方式带来了变革,信息产业已成为推动国家经济发展的主导产业之一。

IT产业的竞争亦是人才的竞争,高水平的IT人才培养和队伍建设是走向IT产业大国和强国的前提条件。美国、印度和爱尔兰的信息产业发展就是最好的例证。今年各城市之间的“抢人大战”,北京推出的程序员月薪7W可落户等政策都可以从侧面印证IT行业的发展前景。

另外,2018年9月30日,北京市编程人员专业技能培训工作已全面启动。培训机构、需求企业、中介机构、评估机构将共同搭建“北京市编程人员国际化专业技能培训平台”,形成政府引导、社会力量参与的工作机制,提升编程人员整体创新能力。

北京市科委主任许强表示,编程人员是信息产业发展的重要基石,作为编程人员主要集聚地,北京编程人员缺口较大。下一步,市科委将加强与市人力社保局等相关委办局协同,重点开展以下三方面的工作:

1.加强与培训机构、中介机构和企业合作,鼓励企业面向社会开放内部培训资源,扩大本市编程人员基数;

2.通过网络渠道等多种形式的培训,推动年轻编程人员创新创业,并将编程人员培训能力向京外辐射;

3.实施“快乐‘码农’计划”,营造良好的编程人员创新创业环境,促进编程人员在有关区域集聚发展,支持产业升级和经济高质量发展。

所以,无论是从大方向看,还是从小方面讲,IT行业的发展前景都是巨大的,高素质的IT人才都是十分紧缺的。

问题四:转行就能拿高薪吗? 任何领域都有办法赚取高薪,只是与程序员相比,不过是时间长短的问题。有些行业想要月薪1W,可能需要三年,但在IT行业大多一年就可以拿到这样的薪资,有的甚至只需要半年、或三个月就可以了。

当然,想要更高的薪资,还得拿硬技术去谈。你若是无法针对中型的软件项目设计出良好的构架、或是对自己擅长的技术还不完全了解,那对于薪水还是不要有太高的期待,而这些都是需要经验累积的。并且一线城市与二线城市的程序员薪资也会有一定差异。

刚起步的程序员,千万不要被媒体所报道的“分分钟年薪百万”这类天花乱坠的形容词而迷惑。

进入IT行业后,各种问题也会接踵而来。例如学历就是一大难关,在一些大型企业或者知名企业中对程序员这个岗位的学历还是比较看重的。

当然也并不是指一定要“985”、“211”等名校毕业,而是“本科系”这件事情是相对重要。

你现在只要去任何一个较为大型的招聘网站查看,都一定能看到绝大多数企业的岗位学历要求都是大专及以上。

许多人在转行前曾一度以为可以靠一股热情打天下,殊不知在面试许多公司时,老板听到并非本科都会眉头一皱。

身边一位做技术的大佬就曾说:工资和学历挂钩,这是全世界通用的法则,未来你想成为资深开发者,学历更是每位老板都会看的。如果没办法再修一个学位,至少要用超强能力来证明你的技术实力。

问题五:女生选择哪些IT专业方向好些? 对于专业方向的选择,我给你的建议是软件开发、软件测试、Web前端、UI设计、产品、运营、等都是很不错的选择,但是务必不要被培训机构洗脑说什么学习机器学习、人工智能、大数据之类的,那些都是搞噱头玩概念的,因为这一类对于专业要求很高,就凭短期的培训是很难成事的,最后高不成低不就,只能勉强找个接近或者沾边的工作做着。多揭个秘,人工智能高手年薪都是百八十万的,培训机构的老师真的是这方面的人才玩的溜,怕是收上来的学费都不够给他们发工资哟。

下面内容会着重来聊聊软件开发,也就是大家所谓的程序员。

问题六:程序员主要是做什么? 大家千万不要被美国大片所迷惑,以为程序员就是电影里头的黑客王者,日常工作入侵、破解、渗透、数钱…… 实际上,各大媒体鼓吹的“程序员”,大多谈的都是软件工程师。其主要原因是因为目前软件是我们日常生活中最常接触到的,例如手游、App、网站等都是这几年如火如荼在发展的项目。

所以程序员到底都在做什么呢?

就工作而言,大概如下:

跟其他 工程师讨论; 编写代码; 解决Bug; 和用户沟通; 和产品撕逼以及被老板骂。 对于初级程序员而言,改Bug这件事会吞噬掉你绝大部分工作和生活的时间,而且过程是非常无聊且漫长的。

如果你在身边随便找几个程序员问他们处理过最愚蠢的错误是什么?

他们大多数人一定会说:为了找一个错误耗了一整天。

听起来是不是很浪费时间?

是的,就是这么浪费时间!

甚至,各种错误都是“屋漏偏逢连夜雨”,每当你最需要专心做其他事的时候,错误就出现了,然后手边原本规划要做的事情就这样搁置了,进度一再被耽误,最后还得就被老板骂。这绝对是刚学程序开发的常态。

当然,在这些错误当中,你能更快的成长起来,并随着时间推进,大家就很少再犯这样愚蠢的错误。

因此,在程序员的工作中,最首要的任务便是解决问题。

问题七:作为女生,真的不适合程序员这个职业么? 程序员这个职业是没有性别歧视的,只不过按照IT行业目前的从业人员男女比例来看,绝大多数都是男性,所以就给外行人造成了一种编程属于男性职业的错觉。 其实性别与是否适合做程序员,这两者间并无任何关联。本质上来看,只是愿意从事IT行业的女生较少罢了,并不是不适合或者不能做。 我反而觉得女孩子做这种工作其实还是比较适合的:

一是因为不需要四处奔波; 二是不需要交际应酬; 三是不需要出卖体力,或者靠脸蛋儿和身材吃青春饭。 当然,或许有些人又会说“编程需要逻辑思维强的,而女性明显更擅长感性思维”。这种说法也是毫无根据的,逻辑思维能力和性别并无关联,反而有些女性的逻辑思维能力高于男性。 对于女性而言,从事编程工作最大的挑战不是思维,而是需要长期投入大量个人精力,持续性学习。 IT行业与其他行业最大的区别就是技术日新月异,你需要时刻保证自身能力的进步,不被时代所淘汰,需要持续不断的学习新技术。 有人可能会说我可以。 但事实上,女生随着年龄的增长,你要结婚、要生小孩、带小孩,要顾家庭,当了母亲之后你会变得心有余而力不足,你再也没有时间去学习新东西了。 所以,大部分女性想把编程当成是一个长期的事业是比较困难的,挑战非常大,当然,肯定有人承受住这些挑战的,但终归是少数。 最后再说明一点:如果你真的对编程感兴趣,觉得自己也适合编程,那么就不要管外界的一些眼光,女程序员不是特殊物种,而是一种在正常不过的职业,只要你有兴趣,有热情,加上女生天生的做事认真、细致,你一样可以做的很好,而且,因为稀缺,一旦你做得好,说不定得到的发展机会也就更大。

问题八:编程学起来很难吗? 学任何东西,入门的时候,觉得难或者吃力是很正常的事情,小学生学习个加减乘除不也花了三四年的时间吗?

行百里者半九十,从0到1是最艰难最吃力的一步,先慢后快,怕的是中途放弃。而你当年读小学的时候却不会……

问题九:你真的热爱编程吗? 对于热情这件事,不得不提到二八法则,因为有80%的热门技术都是由20%的人所构架出来的。

不管你未来所钻研的是哪类技术,在领域里总会有一些神人,他们可以以一敌十,他们对该技术有非常完整且深奥的了解,并且针对难懂的问题有非常优雅和独特的解法。

这些人决定了未来的技术走向,例如目前市面上的大型商业软件,许多都是由少数人将构架完成,后续才是由许多工程师进行维护、更新。

你想要简单的入行或者月薪达到2-3W并不难,但若想成为如上所述的这类大神,就一定要真正的热爱编程,并愿意一直为此付出。

当你每天只想着安安稳稳写代码、维护项目、对现况感到不满却不改善、把所有的错都推给别人,甚至总是自怨自艾的时候,那还不如不要转行了,不妨待在自己目前的位子上,好好生活即可。

做程序员一定要充满热情,想要成为行业中那20%的领导者,跨进那种大神的圈子才更有意义。

问题十:你愿意持续学习吗? IT技术更新迭代的速度远超于其他领域许多,但在工作压力下,越来越多的人却因为懒惰而选择不去学习,导致进步的速度跟不上整个世界翻新的速度。

这类人发展到了一定阶段就很难再晋升,甚至到了最后还不如一些其他行业有经验的老员工。

冰冻三尺非一日之寒,大家不能只看到技术大牛在解决问题时的轻松潇洒、深不可测,而是要知道他们背后花了多少时间下了多少苦功。

在技术领域你不主动前进,科技的发展也会逼推着你前进,尤其是在程序开发领域,很多小地方都有无限多的变化,必须不断学习、接受改变、愿意改变。

当你决定成为一名程序员的的时候,你要对自己做的事情有热情、要不断学习、发掘新知、研究新技术,否则转行一点意义都没有,如果想安稳过生活,不如就找一个普通无聊的工作吧。

问题十一:哪一种编程语言更值得学习? 从非功利的层面来看,编程语言是一通百通的,一种学精之后其他语言都不是问题。语言本身,不是一种方向,而是程序员摆弄计算机的工具罢了。任何一种语言、一门技术,只要是运行在冯诺依曼体系的计算机上,要想钻得深,逃不开的还是那些原理性的东西——数据结构、内存管理、多线程、操作系统、网络协议等等。

你可以通过TIOBE官网发布了编程语言排行榜来选择语言。我也可以给你一个不太靠谱但很真诚的建议:如果你要为了就业而学习,那么从招聘网站上统计1000个招聘广告,得出需求最高的三种语言,选一门去学。

问题十二:程序员月薪过万,需要多久 ? 就目前来看,基本每家公司都需要IT人员。事实上,程序员一直是供不应求的,你只要到各大招聘网站上搜索,以及一些大型招聘会上去走一走,你就会明白这确确实实是一个卖方市场。

BAT或者TMD等互联网企业校园招聘的offer基本是月薪过万。中小微型公司、某些创业公司的福利虽然不是很高,但如果你在一二线城市从事IT,恭喜你,只需要你努力积累经验,1年就能达到月薪过万的目标。

如果你在三四线城市,只是在公司里干点死活,做个小兵,基本上很难月入过万,不过你可以考虑在网上接点外包什么的,增加副业收入。

一二线城市的待遇的确比三四线城市高很多,再者就是有些程序员只会简单初级的编码,干的活可能真的也不值那么多钱。

另外还有一个关键点,就是行业。程序员去不同的行业,待遇也会有很大差别,比如游戏行业、咨询行业,即使干类似的事情,薪资也会大有不同。

IT的机会是世界范围的,它已经渗透到经济的每一个角落,也产生了很多过去从未出现过的工作机会,发展势头越来越快,同时也代表了它的工资水平,他们是绝对的有竞争性。

问题十三:是该自学还是参加培训机构? 自学

对于自学

控制力够强吗?

你的理解能力怎么样?

优势:金钱成本较低,能够按照自己设定的学习计划进行学习,时间安排也比较自由。

劣势:自学消耗的时间比较长,如果没有基础的话,想要自学也是比较难的,相对于有一定基础的,一般都是在空闲之余用碎片化的时间去学习,想要在软件测试的领域小有所成,找到一份正式工作,怎么也得一年半载吧。自学需要强大的自制力,需要耐得住寂寞,每天固定的坚持学习,但是遇到技术难点很容易做牛角尖,导致半途而废。

培训

优势:学习时间相对较短,整体学习比较全面,学习内容也比较集中。专业老师按照大纲进行系统授课,在学习中遇到技术问题能够快速得到解决,同时还有专项的练相对于自学,学习气氛更加浓厚,跟同期学员对问题的探讨,对拓展思路有很大的帮助。让学习变成一件很快乐的事情,学习起来也会很有动力,学习的效果会更好。

劣势:相对于自学,培训是需要金钱成本,一般的培训机构学习费用都在一万五到三万不等左右,还要加上学习期间的生活费,学习成本比较高。PS:从时间就是金钱的角度来看,上面说的自学优点反而不成立啦,提前工作半年的薪资估计不止一两万吧。

问题十四:不参加IT培训,如何通过自学的方式成功转行? 有些人各种原因,不敢冒着离职的风险参与培训,他们只想边工作边学习,那么类似这种情况的小伙伴可以如何学习呢?

自学。

那么自学的流程也许可以分为以下四个步骤:

1、找课程学习的大纲。

找几家培训机构咨询,最好是直接在官网咨询老师,留一个QQ,再想办法获得他们的课程大纲,然后对比整合。之所以让你留QQ而不是电话,是因为某些培训机构一旦获得你的电话后就会每天给你打电话,甚至整个周期长达半年乃至一年。留QQ的话,获得信息后可以直接删除。当然你也要注意,某些培训机构不知道是什么方法,居然能够通过QQ获得你的电话。因为我就曾经遇到过这样的事情。

2、招聘网站实际调研。

接下里需要你去一些招聘网站上找一部分岗位招聘详情来进行分析,总结出哪些技术是必须要学习的。也许你会纳闷,为什么已经有了培训机构的大纲却还要去招聘网站调研呢?

一是因为怕你遇到那种三年课程都不更新的不良机构;而是技术的更新迭代很快,基本每半年企业的招聘需求就会有一定的变化。

这样做,能够保证你学习的是刚需性技术知识,自学完后能够真正的找到一份入行工作。

3、规划出学习的大纲。

前面已经把多家培训机构的课程大纲进行了整合,且把企业招聘需求进行了调研,那么接下来就要花时间做一份详细的学习大纲,包括学习时间,学习规划。

因为一份好的学习计划能达到事半功倍的效果。

4、接下里就是找课程,分享一些学习技术的免费网站。

1).Codecademy

国外在线学习编程的网站,它为用户提供了一种学习编程的新方式,是最受欢迎的免费编程学习网站之一。基于网络编程教学,手把手帮助用户了解JavaScript的一些基本原理。更重要的是,使用Codecademy学习编程充满了趣味性。

Codecademy目前开设的课程有HTML&CSS,JavaScript,jQuery,PHP,Python和Ruby。事实上,已经有超过2400万人通过它学会了编程。

2).Udemy

Udemy成立于2010年,是一个在线学习平台,可以帮助你改善或学习工作技能。虽然有部分课程需要付费,但也有大量的免费编程学习课程,通过视频讲授。

demy 这个名字有它特别的含义。“Udemy” 是由 “you” 加上 “academy” 合成的,意思是 “你的大学”。

与其他在线教育平台不同的是,Udemy 不仅开放各种课程,更开放了教学的机会。也就是说,只要你愿意,你也可以成为老师。

3).GitHub

GitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱、代码片段分享等功能。

目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。

4).edX

edX是另一个领先的在线学习平台,重点是它不是以营利为目的,而是开源的。edX是由美国哈佛大学和麻省理工学院于2012年联合创办的,所以你将会在这里学习到先进的技术和理论。如今,edX已涵盖了60所学校。此外在这里,你应该不会错过哈佛大学的计算机科学导论的,免费的哦。

5、一定要明白,技术是永远看不会的,并且就算你会敲代码,也不代表你掌握了它。如果真正的要把所学技术运用到一个项目中去,那你可以在网上找一些项目来做,或者参与一些付费项目。

6、如果你觉得以上方法太麻烦,那么直接某宝上买课程即可,几块、几十块、几百块不等,等市面上培训机构的课程基本都有。

另外,关于就业,其实就是你的沟通表达能力了,当你把一个项目或者某一个较难的技术掌握之后,你一定要尝试去把它说出来。因为对于一个技术人员而言,团队沟通能力也至关重要。

最后,很重要很重要的一点,不要他娘的只是三分钟热度,自律性是你做成这件事的最最根本的保障,无它,狗屁都干不了。读到这也别杠精附体尝试反驳,难道忘了从小到大数次制定的计划和目标你实现了吗?

姐们儿,一不小心就年纪不小了……

问题十五:如何选择一家靠谱的IT培训机构? 1.教育背景

看下是否具备教学资质,优秀的培训机构是需要长时间接收相关部门监督并且审核通过后颁发培训资质的,不然可能存在教学质量不佳、跑路或者换壳经营的风险。

2.线下面授

既然都要参加培训了,最好还是找家线下面授教学的,面对面学习有问题可以及时探讨、请教和解决,更能保证学习效果。如果觉得自己自控力和学习能力没问题,那更没必要花这个钱了,某宝上几块钱就可以买一套教程,是吧?

3.机构口碑

纸是保不住火的,一家不负责的机构网上肯定会有人跳出来去批判和揭露他。而一所好的IT培训机构,在口碑和知名度方也肯定比一般培训机构高很多。PS:不排除同行竞争,恶意诋毁。对于那些靠着投机取巧或者歪门邪道忽悠招生的机构,我们会看到一些甚至是铺天盖地的负面消息,绝大多数声音代表着他的形象和真实反馈。如果对于外界声音实在拿捏不准,最好的办法就是去考察培训机构的时候利用机会和在读老学员多多交流,亦或是想办法在网上加上他们已经毕业的学员,再去判断真实口碑到底怎么样。

4.课程体系

靠谱和负责的IT培训机构,它的课程体系一定是在持续更新的,对于IT行业来说,技术更新日新月异,市场需求、企业用人需求也会一直进行着变更,那么相对应的,培训机构就需要对课程体系进行持续更新,和市场进行完美的结合、匹配,也正是基于此,普通的高校计算机专业毕业生明显竞争不过培训机构,一个重要的原因就在这里,一套授课PPT长期不变。当然,还是有很多的高校在培养牛逼的计算机人才,这里说的是普遍现象,杠精请绕道。

5.师资力量

师资力量是一个培训机构的核心所在,蛋哥一直觉得就业是教学成果的直接体现,一家培训机构应该把所有的精力放在教学上而非为了应付企业教着大家如何进行学历和简历造假,以谋得一份高薪。

而想教学优秀,就得有优秀的老师。一个教育背景深厚而又真正想做好教育的培训机构,必须要招聘大牛级别的讲师才是可行的,不然是禁不住市场的考验的,师资不牛何以让学员成才?

我曾经见到过很多培训机构的老师,胡子还没长长呢,就宣称几年工作经验,多么多么的牛逼哄哄,真实情况却是刚毕业没多久的学员。难道光明正大的承认他们是助教或者初级教师很难吗?

关于师资这点,蛋哥觉得成立时间较短的培训机构就很难去保证了,因为一家成立不久的机构首先要去考虑如何生存,牛逼的讲师高额的工资是一笔很大的开销。所以要培训,至少要找一家成立三年及以上的机构,他们是经历过市场沉淀和印证的,而那些投机取巧的机构在这个过程中慢慢的被淘汰出局了。

6.效果保障

蛋哥想把这一点单独的提出来跟大家聊聊,因为我觉得这一点在教学过程中真的很重要。课后辅导保障是指在讲师讲完课后对你如何处理?

许多培训机构的老师讲完课,剩下的就是你自己的事儿了,自己去练习,自己去巩固,自己找资料,自己看资料,学不学看你自己,会不会没人管没人问……蛋哥想说,这TM和大学生活有什么两样?

我要告诉各位计划培训的学员一点,你是客户,你是去享受服务的。如果还是什么都靠自己,那干脆自学得了!

那么,一家负责的培训机构在这方面该如何做呢?

首先,课后在你巩固所学知识点的阶段,遇到疑难或者有不会的时候,有专门的辅导老师负责讲解和辅导。

其次,保留大量的练习时间,而且这个时间是强制性的。蛋哥做培训行业很久了,不是很相信大家靠自己就可以学好和全部掌握,有时候不得不来点强制,不然有这自制力在家学不就得了。

第三,学的好不好的标准是什么,是否有老师进行摸底评估,是否有定级和重点关照名单,对于那些没掌握的和没学好的该如何单独解决,对于那些不好好学的是该如何解决和处理。别等到最后就业了把这些问题都怪在学生身上,除了结果,老师的引导也很重要。

第四,如果人多的话,还要关注纪律和学习氛围。在目前普遍长达四五个月的培训时间里,你要每天都在这环境下度过,所以学习氛围这一点就先显得尤为重要,他在很大程度上决定你的学习习惯和最后所能达到的高度。培训依然需要严苛的管理制度,还是上面那句话,如果你非常自觉,那自学也是不错的选择。

第五,晚上回家是否及时有教学视频用于巩固和老师在线答疑。这一点,不需要多说,大问题都是由小问题慢慢累积的,要是不及时解决,最后就系成了一个大疙瘩。当日事当日毕,第二天还会有新的知识需要你去掌握。

7.就业数据

对于就业数据我们无法去辨别真假,得去辨别看待。正因为此,很多培训机构一个劲儿的鼓吹高薪就业,画大饼,营造一种学了就高薪的假象。许多求学者看到他们公布出来的就业学员动辄上万的薪资,不得不眼馋,慢慢失去了理智。但是,我们忽略了以下几点:

  1. 数据真实与否,有待商榷。我们不知道他们对外公布出来的数据是否是真实的,是否承诺过他的数据是真实的,如何考证?

  2. 拿高薪的学员不一定是零基础,也有可能是在外面工作了一段时间或者有一定的知识储备,觉得在技术还欠缺点,就参加培训更系统的深造下。

  3. 也许他付出了常人难以理解的辛苦,才有如此的高薪,是个例而非整体,所以这一点我们需要注意。

当然了好的培训机构他的就业数据从整体上看是比较高的,但这个我们一定要明白,市场的需求是不断变化的,就算是真实的,也不能因为这一项就判定好坏。而真诚的培训机构敢于把真实的就业数据直接对外公布,接受市场和大众监督。

8.保障就业

当下很多培训机构只管销售和收钱,钱一收就开始糊弄,糊弄完教学糊弄就业,最后找不找得到工作都是自己的事儿了。

那么在前期考察的时候你千万确认以下几件事情:

  1. 是否会签署保障就业协议?

  2. 是否承诺了最低保障月薪?

  3. 最后万一没有就业怎么办?

  4. 是否有就业方面培训课程?

  5. 是否有就业老师专职负责你的就业?

如果没有这些服务的,你就可以直接把他Pass掉了,果断的Pass掉!

9.校区规模

并非规模越大越好,快速的扩张势必会导致教学质量的下降,特别是一些上市公司,受制于投资人的迫切盈利需要,一味求快,更加关注前端销售和广告投入去了,管理也跟不上,批量操作,这种情况下很难顾及到每位学员。但是,也不是说越小的机构就一定越好,毕竟小机构还没有经过市场的大浪淘沙,况且一些成立比较久的机构如果规模不是成规模增长,他本身一定是存在很大问题制约着他的成长的。否则,一家口碑良好,教学过关的机构,没有理由不做大。可能大家看到这里更是越来越迷茫了,大的不行,小的不推荐,整段废话,骂一句“卧槽”走了。蛋哥这里要说,我更建议大家选择那种只专注于一到三门课程的精锐机构入读,最多三门,再多的肯定做的不够精。前提是满足上面8条选择标准。

10.硬件设施

如干净整洁的校园环境、齐整的教学设备、配置较好的电脑等,只有达到这些标准,才能一心扑倒学习上,不断提升技术水平。

社会上IT培训机构数量众多,良莠不分。选择过程中一定要做到“耳听为虚,眼见为实”,不要怕麻烦,多对比几家,这个牵扯到你未来的前途,不能将就。对于培训的选择和判别还有很多技巧,如果实在拿不准直接私聊蛋哥就好,不用尴尬。

要说的还有很多很多,篇幅和时间关系 暂且先聊这么多吧,后续大家再遇到相关问题可以及时的跟我私聊,看到定当解答。我也会根据大家的问题及时的更新本文,以便让更多的人可以解惑。

ncbx002 commented 4 years ago

感谢邀请

无论做什么事情之前呢,第一步选择很重要,编程也不例外!

第一步:选择一门语言

Javascript:web前端开发,在node中可以做后端,互联网以及无数浏览器仍然坚持使用JavaScript,而Node.js的出现甚至迫使我们在服务器端也要使用JavaScript。

HTML/CSS:标记语言,主要是给前端工程师构建页面使用

C++:图形图像、科研、通信、桌面软件、游戏、游戏服务器

C#:Windows桌面软件、.NET Web、服务器

Java: Java SE:跨平台的桌面应用,Android;Java EE:企业级应用,web开发、服务器后端;

GO:高性能服务器应用,比较年轻

Erlang:高并发服务器应用,多用于游戏

Python:Web、科学计算、运维

Ruby:web

Perl:运维、文本处理,用的较少

Lisp:科研,一种逻辑语言,用于人工智能

Node:一个JavaScript运行环境(runtime)

Haskell:Haskell是一种标准化的、通用纯函数编程语言,数学逻辑方面

Scala:一种类似Java的编程语言,集成面向对象编程和函数式编程的各种特性

等等。

第二步:找适合自己的学习方式

现在网络如此便利,找学习资源个人觉得不成问题,当然了,学会利用网络找资源是你必须会的,将来大有用处。总结了下,大概有这么几种方式:

网络搜索/查找(google、baidu) 购买书籍(根据自己的水平) 适合自己的视频或者博客 多码 demo,多认识同行,多交流 试着去写博客,做记录

以上几种方式个人建议最好能结合起来,要知道,编程本来就是一件很辛苦的事。

第三步:基础不留痕

我所说的基础是指基础知识,千万不要心急,所谓“欲速则不达”,急于求成反而会功亏一溃,其中,语法和编程习惯很重要,没有掌握好一门语言的语法,等于没有灵魂的画家,出不了惊人的作品;

而一个良好的编程习惯,则会给你带来很多益处,想想此时在你面前有两个项目,一个所有 code 都加了详细的注释,变量定义遵循一定的规则,而且代码都是经过格式化的风格,而另一个则看不到任何注释,而且代码格式乱七八糟,更不要说什么变量定义规则了,此时,你会觉得那个好呢?

“天下大事必作于细,天下难事必作于易”

第四步:三看两不厌

我是这么总结的:

多看效果 多看技术分享(博客、论坛、各种分享平台、已发布 APP) 多看代码

所谓的看效果包括两个方面,自己需要实现的效果,别人已经实现或者相似的效果,多做收藏,有空拿出来练练;多看技术分享,要知道技术在于分享,在编程这个路上,有很多同行都是乐意分享的,多看他们的分享,既是学习也是铺垫;作为编程人员,最终都是要落实在 code 上,所以要多看 code,多敲 code;

不厌 bug 不厌枯燥

可能对于开发人员来说,最不想听见的就是有人对你说:“出 bug 了”,这个时候不能厌烦,如果投简历的时候仔细看过招聘信息的朋友应该会注意到有时候会包括这么一条:“对 bug 不厌烦,能适应需求变更”,所以,正常应对策略应该这样想,出 bug 那就说明是正常的,因为没有那个程序是不存在任何 bug 的,有 bug 正是我们提升技术的一个途径啊,要坚持“不忘初心,方得始终”;编程前期感觉到枯燥无味那就对了,说明你正在入行,坚持一段时间,你就会发现其实也没有那么枯燥啊,因为你会慢慢认识很多有趣的人,知道很多有趣的事。

第五步:进阶

编程呢,一般都会认为有这么几个成长阶段:初级——>中级——>高级——>资深或者管理岗等,这条路是漫长而又艰辛的,且每个阶段需要掌握不同的知识点,对应每个人的领悟不同在时间长短上就不一样,需要做的,一步一个脚印,搞好该有的技能,别妄想有什么 XX 天精通等途径。

经典编程书籍大全

100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。

计算机系统与网络

《图灵的秘密:他的生平、思想及论文解读》

《计算机系统概论》

《深入理解Linux内核》

《深入Linux内核架构》

《TCP/IP详解 卷1:协议》

《Linux系统编程(第2版)》

《Linux内核设计与实现(第3版)》

《深入理解计算机系统(原书第2版)》

《计算机程序的构造和解释(原书第2版)》

《编码:隐匿在计算机软硬件背后的语言》

《性能之颠:洞悉系统、企业与云计算》

《UNIX网络编程 卷1:套接字联网API(第3版)》

《UNIX网络编程 卷2:进程间通信》

《Windows核心编程(第5版)》

《WireShark网络分析就这么简单》

《WireShark网络分析的艺术》

编程通用

《编程原本》

《代码大全》

《UNIX编程艺术》

《代码整洁之道》

《编程珠玑(第2版)》

《编程珠玑(续)》

《软件调试的艺术》

《修改代码的艺术》

《编程语言实现模式》

《编写可读代码的艺术》

《解析极限编程:拥抱变化》

《精通正则表达式(第3版)》

《编译原理(第2版)》龙书

《重构:改善既有代码的设计》

《七周七语言:理解多种编程范型》

《调试九法:软硬件错误的排查之道》

《程序设计语言:实践之路(第3版)》

《计算的本质:深入剖析程序和计算机》

《设计模式 : 可复用面向对象软件的基础》

算法与数据结构

《算法(第4版)》

《算法导论(原书第2版)》

《Python算法教程》

《算法设计与分析基础(第3版)》

《学习 JavaScript 数据结构与算法》

《数据结构与算法分析 : C++描述(第4版)》

《数据结构与算法分析 : C语言描述(第2版)》

《数据结构与算法分析 : Java语言描述(第2版)》

职业修炼与规划

《大教堂与集市》

《卓有成效的程序员》

《程序员的职业素养》

《程序员修炼之道:从小工到专家》

《软件开发者路线图:从学徒到高手》

《我编程,我快乐: 程序员职业规划之道》

《程序员的思维修炼:开发认知潜能的九堂课》

《高效程序员的45个习惯:敏捷开发修炼之道(修订版)》

大师访谈

《编程大师智慧》

《编程大师访谈录》

《编程人生 : 15位软件先驱访谈录》

《奇思妙想 : 15位计算机天才及其重大发现》

《图灵和ACM图灵奖》

架构/性能

《微服务设计》

《大数据日知录》

《企业应用架构模式》

《Web性能权威指南》

《SRE:Google运维解密》

《发布!软件的设计与部署》

《高扩展性网站的 50 条原则》

《大型网站技术架构:核心原理与案例分析》

《恰如其分的软件架构:风险驱动的设计方法》

《软件系统架构:使用视点和视角与利益相关者合作(第2版)》

Web前端

《高性能 JavaScript》

《锋利的 jQuery(第2版)》

《JavaScript 忍者秘籍》(感谢@joker-danta补充推荐)

《编写可维护的 JavaScript》

《你不知道的 JavaScript(上)》

《JavaScript 权威指南(第6版)》

《JavaScript 语言精粹(修订版)》

《JavaScript DOM编程艺术 (第2版)》

《JavaScript 高级程序设计(第3版)》

《JavaScript 异步编程:设计快速响应的网络应用》

《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》

《HTML5 权威指南》

《HTML5 秘籍(第2版)》

《HTML5 与 CSS3 基础教程(第八版)》

《CSS 揭秘》

《CSS 设计指南(第3版)》

《CSS 权威指南(第3版)》

《深入浅出 HTML 与 CSS》

Java开发

《Java8 实战》

《Java并发编程实战》

《Java性能权威指南》

《Java程序员修炼之道》

《实战Java高并发程序设计》

《Java编程思想 (第4版)》

《深入理解Java虚拟机(第2版)》

《Effective java 中文版(第2版)》

《Java核心技术·卷1:基础知识(原书第9版)》

《Java核心技术·卷2:高级特性(原书第9版)》

.NET

《精通C#(第6版)》

《深入理解C#(第3版)》

《CLR via C#(第4版)》

Python

《集体智慧编程》

《笨办法学Python》

《Python基础教程》

《Python源码剖析》

《Head First Python》

《与孩子一起学编程》

《Python学习手册(第4版)》

《Python Cookbook(第3版)》

《Python参考手册(第4版)》

《Python核心编程(第3版)》

《Python科学计算(第2版)》

《利用 Python 进行数据分析》

《Think Python:像计算机科学家一样思考Python(第2版)》

《Python编程实战:运用设计模式、并发和程序库创建高质量程序》

《Python绝技:运用Python成为顶级黑客》

《Flask Web开发:基于Python的Web应用开发实战》

Android

《Android编程权威指南(第2版)》

《移动应用UI设计模式(第2版)》

iOS

《iOS编程实战》

《iOS编程(第4版)》

《Objective-C高级编程》

《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》

PHP

《Head First PHP & MySQL(中文版)》

《深入PHP:面向对象、模式与实践(第3版)》

C语言

《C标准库》

《C和指针》

《C专家编程》

《C陷阱与缺陷》

《C语言接口与实现》

《C程序设计语言(第2版)》

《C语言参考手册(第5版)》

C++

《C++标准库》

《C++编程思想》

《C++语言的设计与演化》

《C++程序设计原理与实践》

《C++ Primer (中文第5版)》

《C++ Primer习题集(第5版)》

《C++程序设计语言(第1-3部分)(原书第4版)》

《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版) 》

《More Effective C++:35个改善编程与设计的有效方法(中文版) 》

机器学习和数据挖掘

《数据之巅》

《矩阵分析》

《机器学习》

《统计学习方法》

《机器学习导论》

《推荐系统实践》

《机器学习实战》

《Web数据挖掘》

《深入浅出统计学》

《模式分类(第2版)》

《概率论与数理统计》

《统计学习基础(第2版)(英文)》

《数据挖掘:概念与技术(第3版)》

《数据挖掘:实用机器学习工具与技术(原书第3版)》

《大数据:互联网大规模数据挖掘与分布式处理(第2版)》

数据库

《SQL应用重构》

《SQL Cookbook》

《高性能MySQL (第3版)》

《深入浅出SQL(中文版)》

《MySQL技术内幕 : InnoDB存储引擎(第2版)》

《深入浅出MySQL : 数据库开发、优化与管理维护》

测试

《探索式软件测试》

《有效的单元测试》

《Google软件测试之道》

项目与团队

《人月神话》

《快速软件开发》

《人件(原书第3版)》

《门后的秘密:卓越管理的故事》

《极客与团队:软件工程师的团队生存秘笈》

求职面试

《程序员面试金典(第5版)》

《编程之美 : 微软技术面试心得》

《金领简历:敲开苹果、微软、谷歌的大门》

《剑指Offer:名企面试官精讲典型编程题(纪念版)》

按照题主要求的,列举出来的书籍,希望能对大家学习编程有所帮助。

如果大家想学习一门比较好入门的编程语言,建议可以去学习Web前端。

前端是一个相对比较新的行业,互联网发展早期(1995年~2005年)是没有专业的前端工程师的。随着互联网的发展,大约从2005年开始,正式 的前端工程师角色被行业认可,到了2010年,互联网开始全面进入移动时代,前端工程师的地位越来越重要,前端领域的技术发展也越来越快,各种新的思想、 设计模式、工具和平台都快速发展,对前端工程师的技能要求也越来越高。

有一些数据可以说明前端行业的发展迅速。

在2010年之后最流行的新编程语言中有相当部分和前端有关,比如 Dart、Clojure、CoffeeScript 和 TypeScript。 作为前端最重要的编程语言 JavaScript,在最近几年里不论是代码量还是关注数都稳居 Github 平台热门编程语言榜。 行业对前端需求量持续增加,前端程序员薪水在行业里面处于较领先的位置。

近年来最流行的编程语言很多都是JavaScript替代语言

Web前端属于用于前端开发的浏览器语言。它不需要太高的逻辑思维能力,也不需要像应用程序一样被审计。一般来说,只要你正确地输入代码,无论你输入什么内容,首页都会显示什么内容。基于0的合作伙伴可以理解,Web前端正在使用编程语言对语句进行排序。

0基础可以很好地学习web前端开发,与Java开发、PHP开发和其他后端开发语言相比,对于基础为0的学生来说,Web前端开发仍然很低。即使是那些在网络前端工作的人,在不那么受欢迎的行业也会发现移动互联网行业的新突破。另一方面,与Java相比,Web前端需要更少的逻辑思维,对计算机和物联网的知识也比嵌入式系统少。所以,只有你想进入网络前端行业,才有正确的学习态度,学习的耐心,即使你是0的基础,你也可以学习的网站前端。

ncbx002 commented 4 years ago

如果选择从python开始的话: 推荐从这个开始: 笨办法学 Python (Learn Python The Hard Way)

理由: 为0基础选手量身定做, 中文版完成,在线阅读免费。 有成功先例:Lovestagram:Instagram创始人女友为他做的浪漫情人节礼物(这货就是看上面的书学的)

最后,加油!