Hey 欢迎来到Bootstrap中文网,我是Bootstrap中国团队负责人Lee.

这是Bootstrap中文网,在与很多跟你一样渴望求知、渴望改变的同学一起经历2000多天的陪伴和交流后,我们做出慎重决定:

开启Bootstrap全栈工程师精英训练计划

让有志进入IT行业的小伙伴,18年跟着我们一起做出改变。

一、我们的努力和困惑:

11年,Twitter工程师发现市面上没有一个好用的前端框架,于是便着手去制作一个可以快速开发前端页面的框架,这便是Bootstrap。对于多数母语是中文的工程师而言,英文文档看起来还是有些生涩难懂。本着互联网开放分享的精神,于是我们便自发义务性的承担了Bootstrap的中文翻译工作。借此希望Bootstrap可以被更多的中文开发者使用,去高效开发他们的网站。

Bootstrap在国内的火热远超我们的预期,包括BAT的工程师都有在自发的使用Bootstrap构建网页。很快Bootstrap便成为了国内最大的文档类社区,我们不经意间成为了Bootstrap在国内的布道者。为了更好的传播Bootstrap,同时给大家一个互相交流学习的地方,我们向大家开放了QQ群。在平均一天两个群的速度下,我们很快便组建了60个QQ群,组织汇集了超过10w爱好者。Bootstrap中文网成为众多前端开发者学习和交流的大本营。

从16年到17年我们收到了很多企业的来信,询问是否可以在平台上发布招聘启事,急招前端、全栈工程师。甚至有招聘网站的朋友希望我们帮忙物色一些合适工程师。前端开发的热度兴起不久,不像C、JAVA 发展较成熟,有大批量的精英人才,在这种供需失衡的情况下前端开发、全栈开发的精英们被强烈的需求着。

成长。如何成长为前端开发的精英、如何成长为全栈开发的精英是我们在交流中听到的最多的话题

我们投入大量精力维护社区,希望也可以帮到更多的小白快速学习成长。然而社区的维护工作是艰巨的,每天都有大量的待解决的技术问题和求助邮件,QQ更是一度被挤爆。我们极尽所能答疑,也只能回复十分之一不到;但被十万多的小伙伴信任,同时我们的经验又可以让数以万计的爱好者受益成长,想想又是一件非常快乐且有成就感的事情,甚至很多时候跟开发者探讨问题到凌晨两三点钟也是乐此不疲。也正是因为如此,让我们对开发者成长过程中的难点与瓶颈有了更加深入的理解。

  • 多数小白更像是嗷嗷待哺的雏鸟等待被喂养,而不愿意自己去主动学习。
  • 多数人有在认真的学习,但缺乏一些系统性的训练,学的杂乱无序。

其中,我印象比较深的有下面这位小伙伴;

有一天我突然收到一封来信,是一个在自学前端的小伙伴。他是一名大三在读学生,希望可以自学前端,并且在大四的时候找到一份IT相关的实习工作。在接近一年的时间里加入了各种技术群,也收集了很多视频资料,常常也活跃在Bootstrap的技术交流群中。但技术还是停滞不前,一直在基础阶段徘徊。懂一些基本语法,也看得懂别人写的项目代码,但到了自己就是自己没有思路,写不出来。并且在学的过程中遇到问题,没人交流

当然更严重的问题是,有时候也根本无法清楚高效的描述自己的问题,因为根本不知道原因是什么,只能一个一个的去试,有时一个问题能卡住好多天,感觉很挫败。自己现在觉得很迷茫,他很着急的问我,是不是自己没有学习天赋,不适合学编程。

二、学习者的努力和困惑:

我们常常会在群里看到各种问题,比如:“求大神,为什么我的DIV显示不出来?”,热心的朋友也许会耐心回复你,但更多的是大神的鄙夷的眼神。当然,这本身并不是一个好的问题,因为不知道你的具体代码、环境、需求,所以也无法很快知道你具体遇到了什么问题。没人交流、或者低效率交流也是很多小白遇到的一大障碍。

这里面也牵扯出另外一个问题:为什么100G的学习资料也没有让你掌握编程开发?

群里经常活跃一些求资料的小伙伴,对任何的学习资料都非常热衷,仿佛在找寻一个武林秘籍一样。我们不否认好的学习资料可以让你有所收获,也不否认有人通过看视频、看文档掌握了一项编程技能。但问题是为什么你没有学好呢?

回到问题本身,为什么这么多的学习资料也没有学会。可能我得先向你发问几个问题:

  • 这么多学习资料都有看完吗?
  • 有去跟着学习/视频资料去做练习吗?
  • 遇到问题是否有人去交流、请教并得到解决吗?

自学并不是一件轻松的事情,甚至学习本身也是一件反人类的事情。能把学习资料看完这一项就已经扼杀了80%的人,更不要说后面的学习障碍。

于是

我们准备开启一个线下的全栈工程师训练营,第一次,面向全国招募几十人跟我们一起做出改变——利用系统化的学习方法,从零开始,一步一步成为简单可依赖的全栈工程师。

三、这是我们要一起做出的改变:

“忙着东奔西走找寻资料,不如静下心来先给自己来个学习计划”

我遇到过很多小白、大学生、或者初级工程师,忙着找寻各种学习资料,沉浸在各路论坛、Q群、Mooc学习平台、以及各家机构的免费视频中。希望找寻一个灵丹妙药来改善自己的代码能力。但是有时候代码能力的进步,其实依赖于“待改良者”本人的改良——堆积大量时间去找资料,泡论坛、Q群,不如先给自己来一个改变计划。

所以,我们发起一个“Bootstrap全栈工程师精英计划”,面向全国召集50个愿意进行学习上的改变的人。

到底什么能给人带来改变?

“能给我们带来改变的,除了一次说走就走的旅行,还有一项说练就练的技能。”

有时候是一段去远方的旅程,有时候是不经意的某件难忘的事,或是遇到一位贵人。除此之外,我们是否让“改变”有规律可循?——很多时候,对某项技能的密集训练,真的会改变一个人。

在中国,开车是一件不怎么愉悦的事情,道路的错综复杂,以及各路神司机朋友们。 在一个老司机眼中,路上的司机大致可以分三类:

  • 比自己快的:傻x,开这么快、赶着投胎呢。
  • 比自己慢的:傻x,开这么慢、阻碍交通。
  • 跟自己一样速度:嘿、是不是跟我较劲呢?

“然而、这些都没有阻碍我们成为另外一个’老司机’。”

那么、你是如何成为一个“老司机”的呢?

你交了钱、进了驾校、被教练骂了无数次“傻x”之后,你小心翼翼的开着车辆,在教练的督促下拉开车门,系上安全带,点火,松手刹,踩离合,挂挡…一气呵成。你甚至忘了两个月前你还是一个从未摸过车的小白,然而你已经或多或少掌握了开车这项技能。

这是刻意学习给我们带来的改变。我们甚至已经完全忘记自己不会开车的样子,我们也无法再回到之前不会开车的样子。

与之类似的技能还有:写PPT。当你已经掌握写得一个漂亮PPT的时候,你是绝对无法容忍曾经那丑陋不堪,没有逻辑的PPT。甚至你感受到写出的漂亮PPT完全是信手拈来,下意识的动作。

如果你还不确定自己是否需要改变,不如问自己这样的问题:“有哪些知识,我本以为很难,结果我掌握了?我一旦掌握,就很难忍受掌握它们之前的状态?”如果你对这个问题已经太久没有答案,那可能需要做出改变了。

“空想100次,不如决心行动一次”

既然知识和技能可以给人带来改变,那为什么大部分人却没有这种改变?

很重要的原因是:学习的反馈周期较长。带来的问题是大部分人对于知识和技能,仅仅止于碎片化时代的“看一看”、“想一想”。

学习不是一蹴而就的事,如果有一种立竿见影,又不辛苦的学习方法,我想人人都会是学霸。与之类似的还有减肥,“减肥”多数时候等于“整容”,我们都知道这可以让我们变得好看、精神、受人欢迎,然而却鲜有人很快成功。你不能一顿饭不吃,或者跑一次10km就立马变身一个瘦子。所以你也不能学习三五天立马成为编程高手一样。

虽然你也知道成果有多么的棒,但多数人还是挂在了半路上。多数时候并不是你不优秀,只是你没有完整走完这个周期。 通过体系且严格的训练和实践,我们将快速掌握一项技能。正如驾校学开车一样,我们有去真正去应用所学知识。

既然这样,为什么我们不能做一个“编程改变计划”呢?(通过系统课程,高效训练我们的编程能力,并且让“积极反馈”到来)

于是就有了这次要做的” Bootstrap全栈工程师精英计划 “——从0开始,Bootstrap团队跟几十人一起,利用完整的系统化方法,去实际锻炼提升你的编程能力,直到成为一名合格的全栈工程师。

四、这次我们要解决的主题:

“0基础小白如何快速成为一名全栈工程师”

你知道这世界从来不缺少「励志故事」和「奇迹」,比如小A同学3个月自学去阿里,小B同学0基础学习半年去了腾讯。

这里得提到一个逻辑谬误了——“幸存者偏差”,通过自学成功的人在分享他们的成功经历。大家都在告诉你,我是怎样一步一步学习并且获得成功的。在看了太多“大神”自学成功的例子后,我们得出一个结论——“我也行”。然而,时间一天一天过去了,你收获多少呢?一年前求来的学习资料都有看完吗。此时此刻的自己是否已经像大神一样成功,或者已经入职心仪的公司了呢。是的,我想很少有人去分享自己失败的经历。这看起来确实不是一件值得说出来的事情。

说到“失败经历”,在公司我们也常常面临招聘问题,如何筛选一个优秀的工程师是摆在我们眼前的问题。 在没有遇到小A同学之前,我也对自学成功者抱有敬意,这代表小概率事件,同时可能代表着“好学、毅力”等等优点。我满怀期待的开始了对A同学的面试,并且最后录用了他。然而,作为一个不合格的面试官,很快我便为我的疏忽买了单。

因为缺乏了系统的学习,导致了很多基础知识并不扎实,对于做项目也仅仅是停留在“如何做出来”。这使得小A在团队工作中往往是拖后腿的那个,写的代码没有易读性,更没有复用性,这让一个团队的配合开发工作变得异常低效、艰难。比如小A同学不太清楚AJAX的原理,为了实现一些功能重度依赖第三方插件,也没有考虑团队并行开发的配合代码扩展性等。

是的,尽管不知道AJAX的原理也不会妨碍你轻而易举的写出一个$.ajax 去实现一个功能。然而开发并不是一个人的工作,也不是机械的粘贴复制,要想成为一个优秀的工程师也必须要基础扎实,在满足做得出来的前提下,还要写的最优。

回头来看这些其实都不是什么高深的技能,都是一些基础知识。然而缺乏系统训练的小A,仅仅只做到了“知其然”,并没做到“知其所以然”。

我们不排斥「励志故事」,也不抵触「奇迹」。我们要做的是,把这种「幸存者偏差」变为常态。比如你可以参与我们的训练计划,也能成为一名合格的全栈工程师。

五、这是我们的计划

“Bootstrap全栈工程师精英计划”

Bootstrap全栈工程师计划——简称“B计划”。旨在帮助有志进入IT行业,愿意成为全栈工程师的朋友特设的训练改变计划。首次面向全国招募(也许也是唯一一次招募),仅50名额。

全栈课程

说到全栈课程,我们一改市面上常见的“培训班”课程,注重实战是本次训练计划的主线。我们发现企业对懂后端的“前端”表现出了特别的喜爱,所以在前端课程体系之外我们选用了Python作为我们的后端课程部分。本次全栈课程从基础的HTML(5)、CSS(3)讲授,课程内容涵盖原生JavaScript/移动端/NPM/ES6/React/Vue/Angular/NodeJS…你还将学习到Liunx+Python等后端课程,还有当下流行Python爬虫实战。让你真正的打通前后端,成为一名合格的全栈工程师。这很可能是你能找得到的 “比较好” 的全栈课程。重要的是,这是一个小白可以学会的全栈课程

“你可以做些什么”

事实上你能做的并不多。比如按部就班的学习

同时,你需要做的又很多。比如调整好你的心态,完整执行我们的训练计划

这就够了吗?是的,这就够了。你负责学习,剩下的请交给我们。(比如,你也可以写出下面简洁优雅的代码)

(($) => {
  if (typeof $ === 'undefined') {
    throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
  }

  const version = $.fn.jquery.split(' ')[0].split('.')
  const minMajor = 1
  const ltMajor = 2
  const minMinor = 9
  const minPatch = 1
  const maxMajor = 4

  if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
    throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
  }
})($)

export {
  Util,
  Alert,
  Button,
  Carousel,
  Collapse,
  Dropdown,
  Modal,
  Popover,
  Scrollspy,
  Tab,
  Tooltip
}
class QBAGroupEnrollView(RetrieveAPIView):

    permission_classes = (IsAuthenticated, )
    queryset = models.ClassEnrollment.objects.all()
    serializer_class = QBAGroupEnrollSerializer

    def retrieve(self, request, *args, **kwargs):
        instance = self.get_object()
        serializer = self.get_serializer(instance)
        return Response({"errcode": 0, "data": serializer.data})

当然,这仅仅是个开始。

训练计划基本信息:

  • 开始时间:18年4月初
  • 学习地点:北京•沙河(近地铁)
  • 招募人数:50名
  • 学习周期:5~6个月
  • 学习费用:19800元 (现在报名可优惠3000元,即16800元)
  • 是否脱产:需脱产学习
  • 学习安排:周一到周五 早8:30 ~ 晚20:30;若有必要,周末会加课
  • 学员基础:面向有部分基础学员和0基础学员

六、如何参与B计划?

参与“B计划”之前,有个小遗憾不得不说,并不是每位同学都可以顺利入学。

“B计划”此次面向全国只开放50个学习名额,并且实行审核制入学(我们需要确保每一个同学可以按时按质毕业/就业)。对的,你没有看错,是“每一位”同学都要学有所成。我们致力于培养优秀的全栈工程师,并且让决心学习改变的学员得到优质的就业岗位。我们不允许出现“半桶水”的学员存在,如果你被认定不适合学习全栈课程,我们将无法接受你的入学申请。

“我们格外在意你哪些素质?”

1、学习心态

我们过往的经验发现,一个拥有良好学习态度的人往往能学的比较好。虽然他们可能效率不会是最高,但往往学习成就不见得比“聪明“的同学要差。做人做事之前凡事都得有个好的态度和心态,谦卑好学在这里是被提倡鼓励的。所以如果你可以全身心投入学习当中,并且做好了迎接”艰难险阻“甚至”痛苦“的学习。那么,我们欢迎你。

2、热爱编程

为什么说要热爱编程?我们都知道兴趣是最好的老师。正如学校没有教追姑娘,你也学会了谈恋爱一样。当你对一件事情产生了兴趣,这种学习是快乐的,也是有成就感的。比如,你热爱编程。

3、为人正直

学习还需要为人正直吗?是的,在我们这里需要。学习并不完全是一件独立个体的事情,其实也算是社会分工的一种。我们希望你能有一个良好的学习氛围,比如你和可以同学们互帮互助。你们可能会被组建成不同的学习小组,你们还要面临团队协作,共同开发等等。互助友爱,学习互助可能需要你是一个品行正直的人。当然,最重要的是,未来迎接你的公司会非常喜爱你这一点。

4、持续学习

这是另外一个遗憾的消息,也是你想成为全栈工程师前要想明白的一个问题。全栈工程师(包括其他IT岗位)需要持续学习的,很可能还会是终身学习者。IT技术日新月异(比如5年前移动互联网还未普及,今天手机已经高频率使用超过PC),在公司的实战积攒之余,你需要不断保持充电学习状态,了解学习最新的IT技术,并应用到生产环境。

“所以、你还确定要成为一名全栈工程师吗?”

如果看到这里你依然决心成为一名全栈工程师,并且符合我们对你的期待。那么,请点击「B计划预报名表」开始报名。

“B计划”报名采用「预付费」+「审核制」入学。为了不必要的时间浪费,把学习名额给到真正有学习需求的同学,本次报名学员需要提前缴纳1000元报名费(该费用可抵免学费3000元)。学员需要按照报名表要求缴纳报名费用,并填写基本信息,我们收到你的报名表后将统一进行审核并发放录取通知。

本次报名招募名额有限,报名表开放即表示接受报名。

  • B计划是我们首次的大胆尝试,对于未被录取的学员,我们将原路退还你的报名费用。
  • 对于被审核通过的学员,开课前我们会通知到你下一步入学细节,并进行剩余全款学费缴纳(有经济压力的同学可做分期),并等待开班。
  • 拒绝冲动报名。拒绝冲动报名。拒绝冲动报名。对于被审核通过的学员,我们不再接受你的退费要求。所以,报名请三思

如果你已经下决定改变自己,请点击⏬