1、系统性地学
碎片化信息时代,知识往往以细碎的形式呈现,而这种边角料无法帮你构建起知识体系。就像建房子,你东一块西一块地捡一堆砖,是根本搭不起房子来的。学Java也是如此,一开始就得搞清楚整个技术体系,明确具体的学习目标,然后才开始分阶段一步步学。
毕竟人的精力有限,知识却是无穷尽的。如果脱离体系“散学”,费时费力不说,还可能啥都学不好。
2、实践性地学
很多同学还是保持在学校时的习惯,拼命看书看理论,就是不愿意动手,妄想把理论学透之后就能后顾无忧。其实当你真正学的时候就会发现,实 *** 比逻辑能力更重要。成为大牛的必经之路是夜以继日地敲代码,而不是只停留在理论和逻辑思维上。
代码多敲几遍,其义自见。
3、自觉性地学
学习是场持久战,重在行动贵在坚持,短时间的突击是没有多大效果的。能否自学成功,很大程度上取决你能否坚持学下来。自学前,扪心自问下:我能在接下来的至少半年时间里,每天坚持学习6个小时以上吗?
如果不能,并且很确定自己没有这个自控力,那就果断打消自学的念头。<自学半个月,从入门到放弃> or <自学小半年,从入门到大牛>,选择权在你手上。
先回答你的问题。
第一,零基础入行IT的方式有两个:自学or培训机构
第二,不是只有计算机专业相关的才能当程序员,每年有无数非科班的同学进入了IT这个行业
第三,不靠谱的培训机构确实有,但是也有靠谱的认真做培训的机构,需要你自己去分辨
第四,难不难看你的学习能力以及选择入行的岗位。如果你选开发的话,那肯定是相对比较难的。如果你选软件测试的话,会比开发好上手。入行IT选岗,摊开说的话是一个非常大的问题。
跟你细聊这几个个问题
IT行业都有哪些岗位可以选择,难度怎么样?
软件测试行业的前景怎么样?
自学or找培训机构?
如何筛选培训机构?
IT行业都有哪些岗位可以选择,难度怎么样?
一个产品从想法到上线,大概经过这些流程
由这些需求产生的岗位选择一般有这些
UI设计,前端开发,后端开发,测试,运维,运营,产品经理
霸哥逐个给你分析一下!
UI
定义:UI设计(或称界面设计)是指对软件的人机交互、 *** 作逻辑、界面美观的整体设计。UI设计分为实体UI和虚拟UI,互联网常用的UI设计是虚拟UI,UI即User Interface(用户界面)的简称。
大白话:对软件人机交互、 *** 作逻辑、界面美观的整体设计
需要技能:PS、Sketch、Ai,辅助使用Axure、AE等熟练使用
晋升:
1设计管理路线 UI设计师-资深设计师-设计主管-艺术设计总监
2产品管理路线 UI设计师-资深设计师-产品经理-产品总监
霸哥分析:UI设计其实跟IT的相关性没有别的岗位那么强,如果你本科是计算机专业的建议你还是选别的岗位,如果你对设计美术之类的感兴趣,那可以考虑入行
前端开发
定义:前端开发是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,最新的高级版本HTML5、CSS3,以及SVG等。
大白话:构建用户界面,实现点击交互效果
需要技能:三大基础技能HTML、CSS、JS。目前社会对Vue、react、ng、node,还有npm、yarn、gulp、webpack等工具的使用都有一定的要求。
晋升路线
参考阿里技术岗
· P4 (初级)前端工程师,通常是校招实习生
· P5 (中级)前端工程师,通常是毕业后工作一两年内
· P6 (高级/资深) 前端工程师,通常是工作三五年之后
· P7 前端技术专家,通常是工作五七年之后
· P8 高级前端技术专家,通常是工作七/十之后
· P9 资深前端技术专家,通常是十年靠上
· P10 研究员
霸哥分析:前端开发,入门容易精通难,更适合科班学生入门,如果是零基础转行的,霸哥不建议从前端入手
后端开发
定义:构建应用程序背后的实际逻辑。
大白话:前端开发人员构建用户界面,而后端开发人员编写代码,使其工作。
需要技能:计算机网络、数据库、LINUX,PHP等
晋升路线
Java初级工程师-Java中级工程师-架构师-技术经理-技术总监-CTO-CEO
霸哥分析:后端开发入门难精通也难,是最费头发的,入行或者转行谨慎考虑。
软件测试
定义:在规定的条件下对程序进行 *** 作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
大白话:你可以理解为这个工作就是专门找bug的
所需技能:python语言,软件测试概念体系,selenium,appium,fiddler,postman,loadrunner或jmeter测试工具等
岗位晋升
霸哥分析:软件测试比起开发简单一点,对新手友好,适合选择
运维
定义:采用相关的方法、手段、技术、制度、流程和文档等,对IT运行环境(如软硬件环境、网络环境等)、IT业务系统和IT运维人员进行的综合管理。
大白话:保证软件/网站运行正常的人
所需技能:Linux基础/对应的语言环境,运维的命令,LAMP或LNMP,运维平台结构,防火墙,硬件,安全协议
岗位晋升:
运维开发工程师-运维平台研发工程师-数据库研发工程师-运维经理
霸哥分析:运维比起前端后端开发好入门一点,但前景没有开发的前景好,后期也不好转开发,薪资也不如前者高
运营
定义:运营工作围绕“让产品活得更久、活得更好”的目标,以“开源、节流、促活、转化”为核心,分为“内容运营、活动运营和用户运营”三个基础大类。
一句话读懂:运营是尽量用创新思维为产品服务。
所需技能:数据分析能力,推广能力,运营工具
岗位晋升:运营--资深运营--运营经理--运营总监--副总经理--总经理
霸哥分析:运营岗严格来说不属于IT行业,不建议有意向在IT发展的入行运营岗。
产品经理
定义:是企业中专门负责产品管理的职位,产品经理负责市场调查并根据产品、市场及用户等的需求,确定开发何种产品,选择何种业务模式、商业模式等。
大白话:负责一个产品从诞生到上线的整个过程
所需技能:数据分析能力,推广能力,运营工具
岗位晋升:产品助理、产品经理、产品负责人(高级产品经理)、产品总监。
霸哥分析:产品经理对综合能力要求高一点,不算纯粹的it岗位,不建议新手入行。
总结一下 UI严格意义上更偏向设计类,开发不适合非科班入行选择,测试对小白比较友好(相比开发而言),运维入行难度低但薪资也比较低,运营严格意义上不属于IT岗,产品经理对综合能力要求更高,不建议零基础转。
软件测试行业的前景怎么样?
因为我本身是做软件测试相关的,对这方面比较了解,跟你详细聊一下软件测试的前景。
软件测试大概是做什么的,上一个部分已经跟你说了。
目前软件测试的现状是这个样子:
1基础的测试人员趋于饱和,企业对中高级软件测试工程师的需求越来越大。
2名企的基础测试基本都外包了,招聘方向一般是测试开发方向
3招聘起点越来越高,对学历要求越来越高,这个对你不影响
4用户对软件质量要求越来越高,高频的迭代让测试岗越来越重要
不难看出,如果你入行的话,朝着测试开发这个方向走,是非常吃香的,顺便附带一张企业招聘需求数据,来源boss直聘,这是一张疫情期间出的数据,足以说明测试的发展前景。顺便你也可以看到企业对测试的需求相比运维更高。零基础入行IT选择软件测试,相比开发简单点相比运维前景好。
自学or找培训机构?
自学还是找培训机构?在做一个选择之前,要确保自己对每个选择的优劣和结果分析透彻。霸哥在这里分析一下二者的优劣
自学
优势
省钱
好像没了?
劣势
学习周期与自控力和学习能力挂钩(时间成本)
学习质量待定(技能质量)
资料来源是否最新
无法获取真实的项目经验
结果
完全ok,正常入职
资料太陈旧,所学技能不是企业需要的,无法入职
零基础自学体系掌握不够,有可能入职但工作非常吃力
企业所需技能没有学到,无法入职
自学没有项目经验,拿不到名企offer
培训机构
优势
培训机构有成熟的教学体系,课程以企业需求为导向设计
与企业有项目合作可以直接上手
有资深老师随时为你解答疑难
有志同道合的同伴一起加油鼓气
有合理的课程安排
有就业老师为你辅导面试
你可能会觉得我干这行的,所以夸这行。并不是的,我们培训机构就是吃这碗饭的,如果教的东西企业用不上,那么学生就找不到好工作,就业率低培训机构的口碑就差,那就没人再来学了,那我们就开不下去了。
教学质量是一个培训机构最基本的竞争力。
当然有部分同行愿意把钱和精力放在广告推广上,也能收获一大波学生,结果教出来不行,搞得现在很多人对培训机构非常反感。所以就需要你去好好筛选一些机构。
劣势
花费高,基本都是17w-2w
选错机构会造成钱和时间的双重损失
线下需要你去脱产学习,三四个月没有收入
怎么说呢,零基础我是建议你去线下培训,不要去听什么录播课的,本身就是从零开始的,就学扎实点,霸哥这边目前的时间安排是,早上九点到下午六点上课 ,六点半到八点晚自习。除了吃饭时间都在学习,持续三个半月,最后半个月辅导简历、模拟面试、找工作。中间有事情要请假,不能迟到早退,基本上氛围就跟高考一样。
花费高,这点确实是培训机构一个很大的劣势,有很多同学也是被高昂的费用劝退的。选错机构造成的影响更大,浪费时间浪费经济,这个你也懂。
综上,霸哥有一些建议
211,985的同学 建议先自学,根据情况考虑要不要培训
专科,双非,跨行,脱离学习很久的同学 建议直接找培训机构,就不要浪费时间学习了
那么,如何筛选培训机构?
1、选小班 20人以下的小班,学习消化吸收、答疑能由授课讲师关注解决,而不是更多交给技术辅导、助教人员。
2、慎选老牌机构,品牌大不一定课程就是最好的,越老的机构也有意味着课程内容更新慢,里面的大部分讲师脱离一线企业太久,和现在测试岗位的技能需求相差也会较大。
3、看课程中实战项目授课的方法模式,以及有哪些项目,主流软件产品、互联网产品项目都需要有所覆盖,提高就业时的公司选择面。
4、一定要上门试听,一般机构都是可以免费试听7天的。试听目的是感受一下机构授课模式、讲师授课风格,同时也可以向班级里其他学员打听一下反馈。
5、最后比较价格,软件测试培训超过2万的就不要去了,不值得。
全文手打,霸哥写了一早上,点个赞鼓励一下,希望可以帮到你。有什么问题你还可以评论或者私信我。
想要自学it,得明白以下几点
1 应该选择什么编程语言
可能困扰编程新手最多的一个问题是我应该学什么编程语言或者我需要学习哪些课程才能做出一个web、一个app,很多人一直纠结这个问题,陷入了东学一点、西看一点的死循环,到头来啥也没学好,这会很浪费时间。
刚上大一的时候,我也很想知道应该选择什么编程语言。我问了很多人,网上各种查资料,但所能得到的答案都很片面,多数对这个问题答非所问,总是回答说“某某编程语言难”,“某某编程语言性能好”。其实作为初学者,我们对计算机体系都不了解,就不要过多地去纠结性能,或者难易等因素,原因我等下再说。
如果你有明确的方向,那么很好选择。如果你想做算法、机器学习方向,那么python是最好的选择。如果你想做web开发,java、php等都可以。如果想做一些更底层的工作,那么就可以选c。当然这是建立在你有明确方向的基础上。可是,很多人都没怎么接触过计算机行业,特别是和我一样刚入学就被调剂到计算机专业的人。对这些同学来说,各个编程语言就只是个名字,除了叫法不一样,你根本不知道它们有什么差别。所以索性不要纠结了,我替你选一个吧。
如果你是在校大学生,那么你有大把连续的时间,就先学习c,然后再学c++。我个人是学c入门的,也许很多人不理解我为什么推荐学c,因为c和c++都很难、很复杂,看起来并不适合入门。然而正是它们的难和复杂才能让你更好地理解计算机系统计算机系统不是指 *** 作系统。学习编程不是学习编程语言,而是学习一个计算机生态,即一个庞大的知识体系。只会编程语言而不理解整个计算机的体系,就像只会写字而写不出好文章。了解c/c++和了解计算机系统是极为贴合的,向下可以帮助你更容易地理解 *** 作系统、编译原理、计算机网络、计算机组成原理,为什么呢?因为较为底层的东西很多都是用c实现的,和系统的贴合度极高,很多教材源码甚至教程,在讲述这些知识的时候都是用c或c++作为媒介。而向上,c++面向对象的机制,也可以做出一些应用,譬如五子棋游戏等,也不会显得那么枯燥。花个小半年时间了解c和c++,之后你就会觉得看书、看资料可以轻松很多。
如果你是一个上班族,但是刚刚学习编程,可能学c和c++对你来说有些复杂和困难,因为学习它们确实是很需要时间。你们不像在校生那样有大把的连续时间,而零碎的时间去学习一个比较复杂的东西效果不见得有那么好,所以可以先学一些更容易见效的编程语言,从python入手吧,至少能快速做出一些小应用,不至于丢失了兴趣,但是真的要入门编程又还得看看与计算机系统相关的书籍,这样才能更深层次地去编程,譬如深入理解计算机系统这一本书可以读很多遍,这本书把整个计算机系统给串起来了。
2学习编程,我需要学习哪些课程?
我要学哪些课程?我为什么要学习如高数、离散数学、线性代数、概率论等课程?
这个问题也是之前困扰了我很久的问题。不过我现在想通了,对于高数、离散、线性代数、概率论等课程,很好解释,做算法的同学肯定知道为啥要学习这些课程。机器学习中会大量用到上述提到的课程,所以会比较好理解。对在校生而言,学校开设的很多课程我们不知道为什么要学,我们很疑惑,不知道学它有什么用,这个时候我们就会很纠结,还会产生抵触情绪。这很正常,因为我们学习得不够深入,自然不能理解它们的用处。
在我看来,大学本科课程更多的是面向“面”的教学,即什么课程都教给你一些,但是又讲得不那么深入;而工作或者读研,更多的则是面向“点”的学习,用到的知识更专。本科时,学校也不知道你以后是去搞算法、还是搞架构、还是搞服务器开发,甚至去搞硬件,所以学校需要你学很多课程,至少有个了解。对学生来说,一方面可以从中选择自己感兴趣的点;一方面也可以对未来的就业方向有些启发。所以即使像数电、模电等课程,虽然之后可能用不着,但是你也要学,并且会花费大量的时间。虽然你最后不一定去搞硬件,但是这些课程也会让你更容易去理解一些知识,比如cpu中的逻辑器件。
如果你在大一的时候就有一个明确的定位,知道自己今后想从事哪方面的工作,课程与课程之间是可以调一下优先级的。不过像大学物理,这种课程确实是对编程没有帮助,但是像我前面所说的,大学教育更注重广度,大物等课程可能就是为了给你普及生活常识吧。
其实,大学教育的问题是普遍存在的,我认为我们学习一项技能的时候,应该采取的是项目驱动式学习,即需要用到什么东西时不会了再去学,而不是先填鸭式的都填进脑子,并且在学习的过程中我们还不知道它这是干嘛用的,等之后用到了,甚至不记得自己学过,反而查资料才会想起:哦,原来我之前学的xx科目是这个用处啊,可是我当时并没有好好学。很多时候学生时间的浪费可能还是要怪老师、怪学校,他们一开始没给我们做好充分的课程介绍。所以,在经过比较多的编程和项目实践后,我认为一个比较好的学习方式是,改良版的项目驱动学习法。即:
学习一段时间,做个小项目,将做项目遇到的问题记下来,针对性地学习相关知识,然后再实践,再学一段时间理论,让知识成网状发射状地变大。当然,项目驱动式学习有一个弊端,就是每次学习的知识都是项目所需要的,很零碎、不成体系,所以需要改良,即在采取项目驱动学习法的时候每天抽一段时间去完整地读一本书,或者一个相关问题的完整介绍,这样就很容易把一些知识成体系地串起来。这样一段时间下来,慢慢的,你就知道我们为什么要学那么多科目,学这些科目能干什么。
谈到数据获取,可能最容易想到的是爬虫,爬虫是一个在知乎上被说烂了的话题,所以我不想多说它是什么。很多时候有人觉得爬虫简单,为什么呢,因为有现成的框架,所以获取少量的数据就比较容易。但是当你需要爬取的数据很大的时候(比如我之前抓取了知乎500万用户的数据,在下班的时间、用自己家里普通的pc,计算机性能并不是那么好,比不上服务器,又要在不被封IP的情况下抓到这么大量的数据,然后对数据进行清洗,最后还要可视化展示),使用现成的爬虫框架就并不是那么容易实现了。况且,我需要抓很多数据源,并不是一锤子买卖。所以我选择去开发一个系统,即在现有的框架下进行二次开发,搭建一个属于自己的爬虫系统,并植入一些算法。我在系统中添加了很多中间件,直到现在,它还可以在10分钟内就部署一个能抓取大量数据的爬虫应用。
对于初学者来说,学习IT可以从以下几个方面入手:
建立基础知识:学习IT需要掌握一些基础知识,例如计算机硬件、 *** 作系统、网络原理、编程语言等等。可以通过网上的教程、课程和书籍等途径来学习和掌握这些知识。
选择学习方向:IT行业非常广泛,有很多不同的领域和方向。初学者可以先了解一些主流的方向,如软件开发、网络安全、数据分析等等,然后选择自己感兴趣的方向进行深入学习。
实践与实践项目:在学习IT的过程中,实践是非常重要的。可以通过完成一些实践项目,如开发一个网站、写一个简单的应用程序等等来加强自己的实践能力和应用能力。
学习与交流:学习IT需要不断地更新知识和技能,可以通过参加技术社区、参与开源项目、与其他开发者交流等方式来学习和交流,从而提高自己的水平。
不断学习:IT是一个不断更新和发展的行业,所以初学者需要不断地学习和跟进最新的技术趋势,不断完善自己的技能和知识体系。
以上就是关于如何自学IT全部的内容,包括:如何自学IT、零基础怎么进入IT行业、想自学it,该怎么学等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)