
第一,程序员可以学习的更快。
第二,每个人都可以通过努力改变自己的人生轨迹。
是的。我很早就思考这个问题,每个人都应该有证明自己的机会,可是很多人想要得到这个机会,就必须要在简历上弄虚作假。
而经常会有Java工程师,工作了3到5年,还纯真的像一个刚毕业的孩子,什么都不懂。
如果从零基础成为一个可以上手独立做项目的工程师,倒底是需要多久?
如果一个人在学校里泡妞打架熬夜玩游戏,是否有可能会在一个短的时间之内醒悟,改变自己的命运?
他又能做到什么程度?
是的,没错。修真院线下200多个师兄,确切的来讲,都是我的实验品。
幸运的是,几乎是百分百的实验成功。
这篇文章,就是仔细认真的讲一讲,我对IT技术职业培训的认知。
以及修真院是如何践行自己的理念。
如果你认真的看完了,你就会明白,需要改变的并不是修真院,而是你。
二 程序员的分级
首先谈一个备受争议的话题,程序员该怎么分级别。
在修真院眼里看来,只存在三种级别的程序员,除此之外,并无意义。
初级程序员:能够独立完成项目。工作经验一般在0~3年之间。这样的程序员遍地都是。
中级程序员:能够了解开源框架的原理和技术细节,能够比较各种框架的优势,可以带着团队去做项目。工作经验一般在2~7年之间。大部分程序员一生都只能达到这个高度。
高级程序员:世界上最顶级的一批人,流行的框架,语言,协议,规范的作者。
抛开这个分类的准确性和认可度不提,先只说,为什么要先提给程序员分类的问题。
这取决于大多数公司招聘的门槛:如果你可以独立完成项目,你就有了真正可以选择公司的权利。
初级程序员的分类就是为了将当前混杂的描述变成一个可实际 *** 作的,能够验证的结果。
同时又给出来了一个人要上升到另一个台阶的标准。
修真院的目标就是在一定的时间之内,让初学者能够成为一个可以独立完成项目的工程师。
而目前大多数的培训机构,都很难做到这一点。
三 当前培训机构的分类
再说一些培训机构的分类。
总体来讲,分成三类。
第一种,以某内,某鸟为首的宽进宽出类。
培养出来的程序员,离真正上手能做项目,通常仍然有6个月到1年的距离。
第二种,以BAT的大牛为招牌各类小型培训机构的严进严出类。
培养出来的程序员,基本上都是要求很高,科班出身,英语要好,必读原理,强调算法。
第三种,修真院独一家的脚踏实地类。
对学员的入门要求高,但是并不是对学历,性别,基础要求高,而是对态度要求高。
对学员的结业目标要求高,又考虑到零基础转行的人的现状,明确的指向一个绝大多数人都可以完成的正常目标。
别管什么样的培训方式,线上的还是线下的,看视频的还是真播的,写代码的还是任务制的,入门要求高的还是低的,培养前端的,还是后端的。
都可以用这种方式简单直接的分类。有了这个分类,修真院要做的目标就很明确了,零基础到能独立完成项目的程序员。
你再笨,也不过是时间延期了一些而已。你如果真的很厉害,那么你完成可以学到更多的知识点。
这是一个对于大多数人来说,都认可的结果。
不是每一个想要转行的人,都必须要在一个很短的时间之内,把所有必须的知识点补全。
“学以致用”,这个思考贯穿始终。
四 确定学习的边界
目标明确了,进一步的思考就很显然了。
一个程序员应该拥有什么样的技能才能够独立完成项目?
不同的公司有不同的框架,怎么处理?
零散的知识点太多,很多又跟编程没有关系,该教,还是不该教?
技能是一个什么样的概念,是否真的能够结构化和量化?
每一个技能点怎么定义,业界里是否认可?
技能需要掌握的程度不一样,有的是了解,有的是必须深入学习,怎么区分?
带着这些问题,我们思考了很多,讨论了很多。最终的答案就是:
1 技能是可以整理归纳出来的。
2 不需要把所有同级的技能都学会,只需要掌握一种方式就可以。
3 业界的不认同,反而会是一个好事情,能够真正的去引发讨论。本身就是一个没有标准答案的东西,可以越来越精细。
4 通过不同技能的颜色,来标记需要掌握技能的等级。
所以我们整理出来了,PM,UI,Java,WEB,Android,IOS,OP七个职位我们认为最常用的技能。
这些技能点,就是零基础的学习者必须要掌握的技能。
而对于应该掌握的技能的等级,我们有一种截然不同的辨识方法。
受益于WOW的装备体系,我们同样划分了六个等级。与常见的了解,掌握等模糊不清的分级不同,我们划分体系的标准仍然是:可验证。
灰色:从来没有听说过。
白色:项目里用到过,听说过,但是没有使用过。
绿色:经常在项目中使用过,但是不太了解原理。
蓝色:不但使用过,还了解内部的原理。但是没有做过改动和优化。
紫色:结合实际项目中的需要,对一些技能或者是组件或者是开源框架做过改进,更改过源码。
橙色:完全是自己开发的。
这样就很好的解决了初级工程师的技能等级问题。
附一个Java工程师的图例。
首页 | IT修真院 | 更快更高效的免费Java,CSS,JS,运维技术培训
懒得截图了,请直接访问。
五 学习路线
我们花了大量的时间去确认初级程序员的边界,即便是现在,也在缓慢的优化中。
为了避免争执的太多,并未邀请更多的人参与进来讨论。但是我们相信,在未来,他一定是一个可以公开编辑的技能体系。
是不是有了技能树,就可以给零基础的初学者指明方向了?
我们再来回顾一下,设计技能树的好处:
1在知识的海洋中,自学的时候很容易迷惑,并不知道什么该学,什么不该学。
技能树完美的解决了这个问题。
2在遇到一个问题被卡到的时候,确定不好是该自己跳过,还是应该彻底弄明白一个问题。
颜色代表的等级,在一定程度上对这个困惑有帮助。
3究竟学到什么样的程度,才算是达到了公司的要求?
通过程序员的分级和技能树的边界,我们得出来了对大多数公司和大多数人都适用的目标,就算是略有偏差,也足以快速调整。
一个职业下需要掌握的技能有多少个?
60~70个。我没有仔细的统计,但是,确实是的。可能比这个还要多。
特别是关于技能的划分粒度。同样的为了避免争执太多,我们没有引入太多人加入讨论。
那么,对于初学者来讲,还需要什么?
他们需要知道应该先学什么,再学什么的技能加点路线图。
是的。这其实就是技能树的来源。
首先技能是有分类的,其次技能是有先后顺序的。
所以我们通常把所有的技能分成15组。
从易到难,15组对应15个不同的小阶段。
这样,对于初学者来说,就可以延着这15个小任务,像上台阶,又像修行一样,可以有一个明确的学习规划了。
同样的,我们在分组的时候花了很多心思。
六 任务选取自真实项目VS根据任务设计题目
这是其中的争论之一。
是否应该为这些技能,单独设计任务?
还是应该收敛于我们的起点,所有的技能要求都来自于真实的实战项目?
我坚持实战的原则。
这代表着,不管理论上这个技能点多重要,只要在多数项目中看不到他们,就让他离开技能树的视线,最多加一个白色的标记。
这是一件更难的事情。所幸我们在过去的20个月里,积累了将近50个一线互联网项目,从金融到医疗到汽车,让我们有了足够多的素材可以选择。
这也完美的解释了为什么修真院的任务都是粒度比较大。
实际上,我们想做到的就是,从一开始,你就是一种另类的加入项目的方式。
你是菜鸡,就从项目里最 简单的事情做起。
你稍稍有了一点点能力,就去接触一下相对来讲比较难的东西。
软件项目外包和人力资源外包都是外包,但是也有一定的区别,具体区别如下:
一、本质的不同:
人力资源外包是将人力资源管理的某些功能外包给专业组织的一种管理策略,其目的是有效提高效率,百使外包职能的运作更加专业化。
软件项目外包是指企业将软件项目的全部或部分工作外包给提供外包服务的企业,以专注于核心竞争力业务,降低软件项目成本的一种软件需求活动。
二、管理责任主度体的不同:
属于工程外包的,承包企业不直接管理承包单位的职工,承包单位的劳动组织形式和工作时间由承包单位自行确定;而人版才外包人员必须按照用人单位确定的工作形式和工作时间进行工作。
三、结算方式不同:
项目外包是按约定单价和完成工作量结算,其合同目标为“工作量”;软件外包是按派遣人数、约定工资和成本标准结算,其合同目标为“人”。
四、用工需求不同:
工程外包需要产品或服务,承包人使用的劳务数量与承包人没有实质性权关系;人才外包需要劳务,发包人需要派遣公司按照约定数量提供派遣技术人员。
五、合同性质不同:
项目外包是合同,而人才外包签订的是软件人才外包合同。
这里是修真院前端小课堂,每篇分享文从
背景介绍知识剖析常见问题解决方案编码实战扩展思考更多讨论参考文献
八个方面深度解析前端知识/技能,本篇分享的是:
1背景介绍
盒子模型与元素水平
九宫格对于一个初学者来说,只需要了解标准盒模型,盒模型由内至外分别是content、padding、border、margin, 其中可以使用百分比的有content,padding,margin,边框border则不可以用%单位。
元素水平分为3种:block水平,inline-block水平,inline水平,3种元素各有不同的表现。
block水平默认情况下,继承父级宽度,铺满整行。多个元素竖直方向排列,可以设置宽高,竖直方向上的padding,margin有效。
inline元素水平排列,多个inline水平的元素,会在一行里排列,不可以设置宽高,竖直方向上的padding,margin无效。
inline-block水平元素,用时具有block水平和inline水平的特点,多个元素水平排列成一行。可以设置宽高,竖直方向上的padding,margin有效。
2知识剖析
既然这样,实现九宫格效果,必然不能是9个block水平的元素或者是9个inline水平的元素,只能是inline-block的元素。
所以引出第一种九宫格布局。inline-block布局。固定尺寸的九宫格布局。
关于九宫格的自适应,什么叫自适应,九宫格的自适应指的又是什么,认识css单位,px,%,与vw。
px,%,vw的不同之处
vw:viewpoint-width,视窗宽度,1vw等于视窗宽度的1%。
vh:viewpoint-height,视窗高度,1vh等于视窗高度的1%。
%:百分比,以父级元素的尺寸为基准,乘以%后得到相应的尺寸。
既然这样就可以轻松的写出第一个九宫格展示图。
b、float布局
关于浮动
float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
c、vw布局
d、flex布局
e、grid布局
f、position布局
g、line-height布局
3常见问题
display:inline-block后的九宫格会折行?
4解决方案
分析原因:
解决办法:
1、父级设置font-size为0
2、标签闭合
5编码实战
6扩展思考
9宫格必须使用9个div吗?
不一定
直接看demo。
3个div实现宫格
1个div实现9宫格
7参考文献
参考一:w3c
参考二:知乎
8更多讨论
讨论点1:以上提到的九宫格布局实现方案,还有别的实现方案吗?
table布局方案,纯position定位方案
讨论点2:选择哪种方案好?
考虑兼容性的话float布局与inline-block布局最好,其他的布局方案或多或少不兼容低版本浏览器
讨论点3:初学者实现九宫格要注意的问题
inline-block布局的问题,有必要清楚浮动吗?
问题:
1display:inline-block后的九宫格会折行?
答:
a、父级设置font-size为0
b、标签闭合
2为什么绝对定位知识设置相对方向值,就能实现width或者height具有尺寸?
答:这是绝对定位的特性,假如我们在一个相对定位的容器有一个子元素,我们直接设置这个子元素是绝对定位,然后设置left:0;right:0;top:0;bottom:0;此时子元素的宽度就是父级的宽度,子级的高度就是父级的高度,这就是绝对定位的特性,拉伸特性。
3为什么九宫格布局不能使用height的百分比。
答:
Web浏览器在计算有效宽度时会考虑浏览器窗口的打开宽度。如果你不给宽度设定任何缺省值,那浏览器会自动将页面内容平铺填满整个横向宽度。
(即块级元素的宽度)
但是高度的计算方式完全不一样。事实上,浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度。否则,浏览器就会简单的让内容往下堆砌,页面的高度根本就无需考虑。
因为页面并没有缺省的高度值,所以,当你让一个元素的高度设定为百分比高度时,无法根据获取父元素的高度,也就无法计算自己的高度。换句话说,父元素的高度只是一个缺省值:height: auto。当你要求浏览器根据这样一个缺省值来计算百分比高度时,只能得到undefined的结果。也就是一个null值,浏览器不会对这个值有任何的反应。
因为父级元素的高度是由该元素里面的内容撑起的,在不设置该圆素高度的前提下。
于是子元素的高度height: 50% 也不会起作用。解决办法就是给html和body加上height: 100%。
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,学习的路上不再迷茫。
这里是技能树IT修真院:>
以上就是关于怎样从零基础开始沉淀成为cnc工程师全部的内容,包括:怎样从零基础开始沉淀成为cnc工程师、请问外包公司与互联网公司的区别、九宫格布局方式有哪些,有什么优缺点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)