Why JulianTec

学习实干型的工作室

   JulianTec并非纯粹追求商业利益的IT培训机构,她宣传谨慎,天生就立志成为实干家,而非简单的言辞吹嘘者和自我贴金者;

   相比较于经济利益,她更看重能在“久联”中形成一个团队学习进步的团队。

有可信赖的专业能力

   在JulianTec这边,不仅是讲师团队,就连其建立者也是在嵌入式Linux研发行业摸爬滚打多年的资深工程师出身。

   所以,相较于那些由业外人士创办的纯商业IT培训机构而言,她更能保证您的学习效果。

长久接触,终生受益

   短短数月的教学不可能教会您所有知识;SO,我们努力将巨立安打造成一个平台,一个可供您在您的职业生涯中长久与之保持联系,并从中不断受益的平台。

   相教于几个月的天天见面,我们更期待在您结业后能常在这个平台中看到您的身影。

培训和收费都阶段化

   由于不同的培训内容难度不一样,所以在培训时间和上课方式上就应该区别对待;

   因此JulianTec将整个培训周期及收费方式都做了“阶段化”,这不像其他商业培训机构那样眉毛胡子一把抓式的培训和收费。

理论联系实际的培训

   JulianTec的整个培训周期,都是以理论联系实际项目的形式来进行的。

   与其说我们是在教您书本上的具体研发技术,倒不如说是在传授我们自己的切身经验、是在培养你成为一个合格研发工程师的做事习惯和做事方法。

软硬结合的项目实作

   在嵌入式Linux产品的研发中,“软件硬件永远不分家”是一个永远也不用经过证明的公理。

   所以我们不仅会在上课过程中介绍大量的硬件知识,而且也会在项目的实作过程中牵涉进去一些简单电路的设计。

通过JulJob保障就业

   培训完结业后您有机会留下来继续服务于JulianTec,也可以透过JulJob人才职位对接器来找到合适的研发工作。

   在JulJob中有全国范围内众多的创新型研发企业与JulianTec保持着长期的合作。

您碰到难题了么?加入邮件列表向师兄师姐们寻求帮助!

为了帮助大家对嵌入式Linux的学习,JulianTec给大家准备了三个邮件列表。

透过它们,大家不仅能讨论Linux应用程序开发相关的问题,而且能讨论如何在arm上运行嵌Linux系统的问题,也能讨论Linux内核设计策略以及驱动程序开发相关的问题……

您可在这里按年月浏览查看邮件列表中之前的归档记录!

碰到问题,急着向邮件列表post问题了吗?别急,您最好先搜索查看下之前其他同学是否已碰到过类似问题并解决了的,说不定里面就包含您要的答案噢!

追根溯源

JulianTec的渊源

多年以来,我空余时间的大部分都花在了嵌入式Linux系统的研发及内核相关知识的学习上。之所以能够长期坚持下来,主要有几个原因:

首先,是因为我的兴趣。作为一个计算机科技专业出身的工程师来讲,深入探究Linux机器的工作原理,对我无疑有着莫大的吸引力。几番探究下来,发现Linux内部很多地方的设计都很巧妙,用美妙二字形容也不为过,能找到并欣赏它们其实就是一莫大的乐趣,所以从这点来看,这其实和冒险家探险并无二致。记得探究刚开始的时候确实是非常痛苦的,很多东西都要自己寻找资料一究再究,有时候头大到一定程度,想想还真会得出“这又是何苦?”的结论。但后来随着懂的东西越来越多,思路慢慢清晰,倒觉得越来越不舍得放下,后来我就说:“行,干脆就这样吧,拿这个作为这辈子的兴趣算了”,于是慢慢的可以三个月不吃肉,但却不能三日不碰Linux。

其次,也是因为我比较看好Linux的发展,这不仅是因为网络上都在讨论的那些原因,另外也有一个重要的因素值得一说。像我们国家目前这样,相对于经济的增长来说,其实信息电子行业的发展还是显得很滞后。但我认为随着经济的不断发展,为了确保综合国力不被拉后腿,国家肯定不会允许这种滞后存在或者继续扩大,所以早晚会有一天会在这个领域加大研发投入。我相信这一天的到来不会太慢,到那时,说不定在国内就会涌现出像ARM,MIPS那样的CPU体系架构来。不过最关键的,是这些CPU体系架构需要一个操作系统来支持。这时候如果不是直接选用Linux,那至少肯定也会把它作为参考系统。另外可以肯定的是,应用于各行业的新外设控制芯片也会大量涌现,而这些芯片又要求接在跑Linux系统的CPU上工作,这样到最后就会产生出很大的内核驱动级的研发需求...不多说了,总之一句话,到那个时候,今天苦苦探究Linux的我们将大有可为。

六七年以前,作为Linux初学者的我,也曾经希望能有一个平台帮助我学习相关的知识,但那个时候,全国也几乎找不出来一家做Linux培训的商业机构,后来没办法只得自己研究学习。作为学习Linux的第一步,大四上学期,经过同学的帮助,我找了一份在Linux服务器上做增值服务应用的临时性工作,工资虽然很低(每个月税前只有800,还不管吃住),但我却还是备感充实。白天的时间全部忙着开发应用程序,晚上就一头扎进学习的海洋,或逛网上各大Linux社区,或看Linux相关电子书,12点过后回家是常有的事情。虽然起初难度也大,但因为自己是计算机专业出来的,所以还是能比较顺利的学下来。

我很庆幸那个时候找不到这样的一家培训机构,因为...其实我一直都不太相信商业IT培训机构,这是源于我最初的经历。当初在学校的时候作为学生曾经有机会去听了几次某著名机构的C++培训课,总体上感觉言过其实,虚的成分比较多,最叫人厌恶的就是招生时夸张的说法与事实极不相符。到现在,虽然自己也是在某培训机构做讲师,但是这种不信任感却一直没有改变,因为上面说的那种极不相符又一次在这个培训机构内得到了验证。

充实的日子总是过的很快,随着时间的不断延续,我所接触材料内的内核成分越来越多,从比较简单的进程管理接口到进程在内核中的表示和调度、从简单的动态虚拟内存分配到用于物理内存分配的伙伴关系算法、从不算过分复杂的线程间同步到不同内核控制路径间的同步...慢慢的,发现自己看问题的角度也发生了根本变化,从原先总习惯于在应用层考虑问题,变得越来越习惯于从内核的角度出发去看整个世界。这就像一个人原先总在房子外面看房子,看到的只能是延伸出墙壁的屋檐和高高凸起的屋顶,后来走进房子一瞧,才知道原来是椽通过梁联系在一起,梁承受了整个屋顶的重量。正是这样的变化,使我慢慢有了全局的视图。到后来正式开始做linux驱动时,我已掌握了相当的内核知识。实践证明,正是这些知识储备帮我全面理解了驱动与OS内核之间的接口。

原先看内核的过程,是以x86作为硬件平台的。这里面大部分原因是因为介绍内核的书(像UTLK之类的书)多半是以x86为平台介绍的,只有很少量的几本是基于其他平台的。这对我这种从计算机科技专业出来的学生来说是极有利的,因为在学校的时候,就已经学过x86保护模式编程之类的课程,所以,看起来还是比较轻松。不过,用x86来学习内核固然是很便利的,但是在ARM等RISC架构大行其道的今天,由x86过渡到ARM等体系结构上来应该还是大势所趋。所以在基本了解ARM体系结构之后,我马上转向分析Linux在ARM平台上面的运行原理,这种转向贯穿了我在ARM架构SOC上开发驱动的全过程,并一直到今天。

回望我学习嵌入式Linux的整个过程,深感漫长而曲折。但幸运的是,我有那么多的资源可以使用,这里面不乏各种经典书籍,还有各种网络资源如mail list等等,这些都给了我极大的帮助。但这些材料也有一个共性,那就是全英文。虽然现在有越来越多的中文翻译资料,但是其翻译质量却不敢恭维,有的甚至除了误导迷惑学习者外而别无它用。这在一定程度上阻碍了国内学习者的步伐。所以当我掌握越来越多知识的时候,我感觉自己是不是可以为这些初学者做点什么,最起码可以在一定程度上做做知识的传播与普及,以帮助他们在学习的时候至少轻松那么一点点。那么做点什么呢,当时想到了两种方案,一个是是不是可以把自己的学习笔记给整理成书,二个是是不是干脆就建立一个学习平台。第二个方案在当时是不太可行的,因为当时光工作就占据了我6/7的时间,而且很多考虑都还不成熟;第一个方案似乎因为所需时间少而可行点,但是后来发现国内已经有人在做类似的事情了,我再去做可能也显得不妥。所以最后还是没有行动,继续着我的驱动开发工作。

在半年多前,原先的驱动开发工作(每周6/7,还得忍受工作之外的一些困扰)使我精疲力竭,我终于准备换工作。正是在这种情况下我接触到了现在这个培训机构,这是一家典型的商业IT培训机构,他们请我过去担任嵌入式培训讲师。因为一直以来对这种培训机构持不信任态度,所以当初刚开始的时候并没打算接受这个机会。但后来转念一想,去那边也许有助于上面第二个方案的实行。所以,尽管那边所提的条件并不具备任何吸引力,我最后还是在没提任何要求的情况下就接受了这个OFFER。到那边之后,我一直以来的不信任不仅得到了验证,有些方面还超出了我的想像。最大的就是感觉他们过分强调商业化,同学们的学习效果在这种商业化的氛围中被逐渐淡化。

在那边四个半月的课程,光C语言、数据机构、C++等课程就占据了前面两个月,最后近一个月的时间安排做项目,剩下中间的一个半月上Linux系统编程、ARM体系结构、嵌入式Linux系统开发、uCOSⅡ原理、Qt/Embedded开发等内容。就这样的课程安排,让初学者来看或许看不出来什么,但是你只要稍微做过一段时间的嵌入式Linux开发,就会提出质疑。实际上,作为嵌入式Linux培训来讲最重要,最核心,最值钱,找工作最具竞争力的部分都被大大压缩在了那一个半月里头。在这一个多月的时间里面,要讲完全部这些核心课程,可想而知,这样的效果究竟会怎样。后来当我提出延长培训周期或者增加核心课程的时间占比,并考虑增加驱动开发课程的时候,我的意见竟受质疑而被束之高阁。因为总有这样的事情,后来我也就再没多少兴趣给他们提意见了,这是后话。想想那些莘莘学子,拿着那么多取自父母的辛苦钱来培训,你给出来的服务却是如此的基础和不负责任,作为这个培训机构的老板,真的是情何以堪呐?知道他们这样的课程安排后,我觉得之前构想中的学习平台应该能够提供更优质的服务。

分析一下他们之所以不愿延长培训周期及增加驱动课程的原因。可以找出几点来:

A)首先是利益驱使。因为培训周期越短,它消耗...在每个班上的资源就越少(所占用的教室,分配的老师等都是资源),所以一年内它就可以招收更多的班,这样单位时间内的利润就越高,正是有这样的原因,才会经常出现班级提前结业的情况。举个例子,我到那边正式带的第一个班就是这样的情况,四个半月还远没满呢,就急着将学生们推向外包公司,对外宣称是外包公司要人要的急(这还给人一种很抢手的假象),但其实学生们还远未达到可以做嵌入式开发的程度。所以比起招生时的承诺,他们提供出来的服务最后是大打了折扣的。另外值得一提的是,他们推荐这些学生所去的公司多是做纯软件业务类型的外包公司,和嵌入式Linux开发完全风马牛不相及。大家知道外包公司通常做的都是非核心业务,工资待遇通常一般,人员的流动性也很大,所以经常会看到他们大把大把的招人,又大把大把的裁人。

B)其次是师资力量不足。这体现在两个方面,一是真正嵌入式行业出身的...老师少,业务熟悉程度不够;另外一个是老师多是兼职老师,主要精力并不在教学这边,也只能在周末过来上上课,上的课程也基本都是应用层开发的课程,像数据结构,进线程,网络之类的课程。兼职老师上课有一个最大的弊端,那就是课程不具连续性,前一次讲的东西等到七天后再来上课时已经差不多忘记了,这样很显然又会影响这次上课的效果。因为很多时候前后上课的内容都是相关的,这其实是一个严重的问题。此外,由于兼职老师的主要精力不会放在教学上,所以每次上课的效果基本上取决于他们自己的责任心。负责任一点的老师呢,会多花多点时间备备课,平时上课也会多讲或讲透一点,要是碰上不太负责任的老师,基本上都是讲的少,练习布置的多。那边的兼职老师,有的还算负责,备课什么的都自己花时间去备,另外的就根本不像是在做老师教同学。

最后再多说几句,他们也还会经常临时找一些在职研究生,或者计算机专业其他...方向的人过来带一些基本的课程,这本来无可厚非,但是既然是嵌入式Linux培训,很多重要的观念就要在讲C语言等基本课程的时候讲掉,比方嵌入式开发为什么使用最多是C语言,C语言和汇编有什么关系,程序的编译连接又是怎么回事等等,但这些临时老师基本上都是光布置习题了事。所以感觉在他们老板看来,似乎随便拉个人过来就可以讲嵌入式Linux一样,当然,随便找一个人过来应付一下学生那是足够了。更成问题的是,开始的时候讲基本课程居然全部都是用Windows平台上的VC之类,这无疑造就了学生厌恶命令行的坏习惯,可以想像,后面讲Linux开发的时候是何等麻烦。这种局面在我后来要求他们从一开始就必须强制使用Linux讲课(哪怕是免费课)之后才有所改观。说实在的,这些呢,实际上都是很小的事情,但足以反映他们“专业”到了什么程度。

因为我之前的研发经验,也是因为师资比较少,所以到那边开始带第一个班的时候,他们让我带85%的课程,包括最基本的C语言、数据结构、到uCosII原理、ARM9体系结构、一直到最后的嵌入式Linux开发,兼职老师上的课不多。本来一个班还好,我可以把握一下节奏,至少(喉咙)不会那么累。但是,要命的是,他们还要求我同时带另外班级的课,这下好,一个礼拜前二天半这个班级讲C语言数据结构,后两天半另外的班级讲ARM+Linux开发,上课的时候还不好不讲,所以我只得是两头跑,两头都要讲,最后搞的精疲力竭、喉咙发炎,一直到现在都还落着个病根,讲话讲不了太多。既然感觉这么累,我就要求老板加薪,谁料老板在拉下脸的同时,居然还说什么85%的课是要你教的,你可以自己搞个学校,要加薪还不如请人家之类云云...我还说,如果是师资不够的话,我还可以想想办法,我其实有很多做这个行业的同学同事的,但却始终没得到响应。后来带第二个班的时候,我是坚决不同意继续同时带其他的班。想想他们之所以不愿意多找几个老师,而是一定要叫我同时带几个班的原因,无非就是想要节省点成本。一个做教育的所谓学校,为了在攫取暴利的同时去节约那么一点成本,居然置老师的身体健康于不顾,唉,在这里,我不禁要再问这个培训机构的老板,情何以堪呐? 这里,我自己也需要反思,为什么就非得为人家做嫁衣裳,还得低声下气问人家要那么一点可怜的劳动报酬?罢了,从此之后,我就决心一定要办出一个像样的学习平台来。

巨立安技术名字的由来

刚开始时起名为久联技术

既然是要做出这么一个平台,首要的,是为这个平台起个名号。想来想去,最后想出一个名号叫做久联技术(Julian Tec, 所以你也可直接音译为久联泰克),这基本上有几层意思:

将久联技术更名为巨立安技术

由于在申请核准公司名称的时候,发现“久联”二字已是宁波某电线有限公司于2008年所注册的著名商标,所以JulianTec不得不更换其中文称谓。为了保留英文JulianTec的称谓,我们取其直接的音译“巨立安”作为我们的中文称谓。

虽然中文称谓换了,但是原先取“久联”二字时所取的三层意思,仍然得到保留。这样一改虽然在称谓上不甚完美,但也并一定就是坏事一桩。兴许,在您知道了我们的名字演变过程后,您对我们JulianTec所倡导的理念将具备更深刻的印象。改名应该是JulianTec成长历史的一部分,我们必须牢记在心。

JulianTec的独到之处

在这个平台的构想初期,我就考虑这样一个平台会有什么样的独到之处。要知道,现在市面上充斥各种各样的IT培训机构,这些机构的目的通常只有一个,那就是纯粹得追求经济利益,这其实是很惹人厌的,也是影响服务质量的最根本因素。为了不被大家误认为又是这样的一个培训机构,新生的巨立安技术必须拥有自己与众不同的地方。:),其实,这个网站本身就是个与众不同的开始,另外的独到之处可以概括为以下几点:

  我们做技术出身的,做事情都比较低调,一般都不太喜欢张扬。这其实是好品质。但现在为了能让更多人知道有这样一个平台,并从中收益,我还是希望在这里把JulianTec独特的地方说一说,因为现在正是说这个的时候。
  作为这个学习平台的建立者,我希望我的同学们在努力提升自己技术内功的同时,也别忘记在提升自信心、掌握沟通技巧、学会表现自己等非技术方面多花点时间思考和训练。
  我们非常讨厌那些吹牛不脸红的家伙,但我们还是得知道一点这方面的东西,以便在关键的时候,能够show出我们自己。

学习型的工作室

巨立安技术不同于一般的纯粹追求商业利益的IT培训机构,她是一个学习型的工作室。之所以说不同,主要表现在:

可信赖的专业能力

作为巨立安技术的建立者,我本身就是嵌入式Linux研发行业工程师出身,具有可信赖的专业能力。经过这么多年的摸爬滚打,我深知一个合格的嵌入式Linux开发工程师应该是什么样子的。这一点绝不是其他商业培训机构所能比拟的。

另外,很多其他培训机构的讲师也都不是真正行业出身,他们教的,更多的是书本上的理论知识。而JulianTec这边,从某种程度上来说,教的更多的,则是平时开发经验的总结,这种经验,一般带到工作单位里后马上就可以得到应用。

还有一点,不像很多其他IT培训机构,似乎什么课程都开,巨立安技术这边只开嵌入式研发相关的课程。可以说,正是这种专注,才造就了我们的专业。

您可在与JulianTec的长久联系中不断受益

我们知道短短几个月的教学过程不可能教会您所有甚至是大部分相关的知识。所以,我们努力将 JulianTec 打造成一个平台,一个可供您在您的职业生涯中长久与之保持联系,并不断地从中受益的平台。相比较于几个月的天天见面,我们更加期待着在您结业后能经常在这个平台中看到您的身影。

学员的严进宽出

巨立安技术会在整个课程每一阶段开始之前,给大家一份测试。除了第一份测试相对容易外,其他测试都有一定的难度。这一方面是为了检查同学们前一阶段的学习成果,另外一方面也是为了检验是否适合马上进入下一阶段的学习。原则上来讲,如果测试不过关,该同学则不安排进入下一阶段的学习。这样做是为了调动同学努力学习的积极性,也是为了保证整体的学习质量。

另外每个学员还有一份入学检查,它一般不考察技术问题,关注的则是同学们的求学心态。这个很重要,学员只有自己端正了自己的心态,明确了自己想要什么,才能在JulianTec学有所成,所以这个需要引起特别重视。相对于入学时的严格,如果有同学中途要求退出学习,那是比较宽松的,她不应该会像商业培训机构那样克扣培训费用。

培训阶段化,收费也阶段化

对于整个时间跨度达9个月的培训周期,我们将之阶段化,因为不同的培训内容难度不一样,所要求培训时间和上课方式也会不一样。阶段化后,我们也按照不同阶段来分开收费,不会像市面上的其他培训机构那样眉毛胡子一把抓式的培训和收费;同学们可以根据自己的需要和经济能力,灵活选择。

理论联系实际且软硬结合的培训及项目实做

JulianTec的整个培训过程,都是以理论联合实际项目的形式进行的。我们的培训,不仅会在课堂上介绍大量的理论知识,同时也会在适当的时机点辅以项目的实做。另外因为嵌入式产品的研发始终都是软硬件结合的,所以不仅我们平时课堂中教的内容中会插入硬件的相关知识,就连我们的项目实做过程也会牵涉进去一些硬件电路的设计过程。


注意:

1这里所讲的计算机系统是个广义的概念,包括你现在在使用的PC机,以及我经常听的魅族X3型MP3播放器。前者是通用计算机系统,后者是嵌入式计算机系统。