从一个国内普通开发者的视角谈谈Sitecore
一、Sitecore是个神马玩意
简而言之,Sitecore就是一个基于ASP.NET技术的CMS系统,它不仅具有传统Web CMS的所有功能,还集成了Marketing营销(当然,这个功能价格不菲)的功能,可以提供一个一站式的在线营销解决方案。
Sitecore作为一个优秀的CMS,在Gartner网站的内容管理魔力象限报告中,连续 9 年脱颖而出被评为领导者,点击查看报告。
刚刚说到Sitecore基于.NET技术构建,那么对于.NET程序猿来说是比较容易上手的,只要你对基本的Web开发知识(HTML/CSS/JS)和ASP.NET MVC有实际使用经验,上手起来其实很快。而且,Sitecore易用的用户界面与强大的内容管理对于非技术人员的可操作性也是很强。
[内容编辑器]
在Sitecore中,内容管理人员直接对内容进行管理和发布,使用还是比较方便。
[体验编辑器]
在Sitecore中,非技术部门用户可以直接对内容素材进行编辑,比如更改介绍,更换图片等等,这被称为体验编辑。
[个性化营销]
在Sitecore中,采用组件化(Componentization)的设计,通过对数据源(Data Source)的更改来做到个性化营销。当然,这其中还涉及到一些机器学习的东西,Sitecore内置了一个机器学习引擎。
二、Sitecore和个人发展
2.1 Sitecore的优点
刚刚提到了很多Sitecore的优点,个人感觉最大的优点就是将传统WCMS(Web CMS)与情境营销(比如刚刚提到的个性化推荐)相结合,给客户提供了一个强大易用的一站式解决方案。对于这个一站式解决方案,它的客户应该主要是那些传统行业的大公司(为什么是大公司?因为License真的不便宜),且这些公司自身的IT支持与开发能力不足或不太重视的(可能往往需要外包出去给专业的软件公司)。
除此之外,Sitecore在产品架构设计上基于.NET技术构建,对于.NET程序猿是天生友好的,而且近年来的版本也在跟随技术潮流,使用到了ASP.NET MVC、组件化、Solr等技术,从Sitecore的最佳实践开源项目也可以了解到推荐的规范,对于.NET程序猿来说,可以学到这些东西,一定程度(只是一定程度)充实自己。
综上所述,Sitecore功能强大,在CMS领域的开发中处于领先,也拥有很多的用户(主要是国外),对.NET程序猿友好。
2.2 Sitecore的槽点
抛开刚刚提到的优点,可能槽点会更多,下面列举两个最重要的点:
(1)闭源与捆绑
在整个开发圈子都在拥抱开源的时候,就连Microsoft也在新CEO纳德拉上任时也提出来Microsoft Love Linux & Open Source,开源对于整个生态是有极大的促进作用的。对于程序猿来说,不管什么技术栈,通过开源能够学习到的东西更多。而Sitecore作为一款商业产品,肯定是闭源的,而且其架构中与Microsoft捆绑严重,限制了程序猿的发挥。
下图是一个Sitecore的建议生产环境架构图,要做到内容管理需要很多Microsoft SQL Server,要做到情境营销需要MongoDB(Sitecore中被称为xDB),要实现搜索需要Solr,最捆绑的还是需要IIS。当然,我并不是说这样的架构不好,只是太捆绑,对开发人员的职业发展不是太友好。
(2)学习投入与产出不成正比
对于Sitecore的学习成本,一般都是公司出钱购买Sitecore的Training课程(4天脱产学习),平均每个人要花费1.25万元(还不包括去上海培训中心的交通费、住宿等)。这个培训课程由所谓的Sitecore注册培训讲师主讲,但经历过的同事讲其实就是给你一本实验手册,然后照着实验手册照本宣科地讲讲而已。当然,这个培训也不是毫无用处,它给了你:一些PPT和PDF资料(主要是实验手册)以及一个考试的优惠码(抵扣你的第一次认证考试的费用300美元)。最后操蛋的是,要做基于Sitecore的项目,必须先通过Sitecore的一个认证开发人员的考试,这个考试的考试费用为300美元(约合人民币2000元左右),而且就我考试的历程来说,平心而论,就算参加了培训,也不一定考得过(我个人觉得自己在学习上还算过得去,但仍旧考了三次,算算费用300美刀*3),特别是在去年(2017年)提高了考试难度以及今年(2018年)6月提高了考试通过及格线(从之前的70%提高到了80%,真是抢钱啊)之后。
当然,一般来说,你要做Sitecore大部分情况下都是因为公司项目需要,我假设你要么是在甲方(购买了Sitecore昂贵商业License的传统行业大公司),要么是在乙方(软件服务提供商、软件外包公司或Sitecore合作伙伴),考试培训和认证考试费用一般都是由公司来支付,你无须担心。但是,我们需要考虑的是长期发展,首先来看看一些大型招聘网站关于国内Sitecore的职位需求吧:
从上图中可以看到,在全国范围内,和Sitecore沾边的职位需求只有一页,主要集中在上海和深圳。想想,如果我们长年专注于Sitecore的开发,竞争力其实是不够的。因此,我个人建议,对于想要在技术方面有所追求的童鞋,Sitecore这个坑,不要轻易入,小心出来找不到工作!
至于我为什么会入这个坑,主要还是因为公司想要接一个项目,而客户方指定了Sitecore,一股淡淡的忧伤。好在就是,我为公司考下了这个Certificate之后,可能就不会再碰这玩意儿了(基于我个人的职业规划和与公司领导的促膝长谈)。另外,分享一个故事:我司想要申请Sitecore的Business Partner(为了与其它服务提供商竞争),必须凑够4个Sitecore Professional Developer证书,先后安排了一批人来学习和考试,目前已经有两位因为sitecore离职了,一位已经离开,一位马上离开。那么,你可能会问,我为什么不离开?To leave or not leave, this is a question.
三、关于Sitecore认证考试
3.1 操蛋的认证考试
要做基于Sitecore的开发工作,得事先考一个认证,这种事也就一些极品产品可以干得出来。当然,这些产品也具有一定的市场领先或垄断地位,不然他们是不敢这样做的。对于Sitecore认证考试,这里主要针对Professional Developer这个类型,目前有8.2和9.0两个版本的考试(8.2和9.0差别还是有点大,如果你要考,记得选择你学习的版本),每个版本的考试费用(一次)都是300美刀,且只支持VISA/MasterCard类型的信用卡支付,国内的信用卡,呵呵,拜拜!此外,可以选择在线保护考试和考试中心考试,Sitecore的认证考试都是交给kryterion这个全球考试解决方案的提供商。
考试中心考试就是去一个固定的kryterion考试中心去考试,那里有固定的网络专线,固定的考试机以及监考人员。不过,目前中国大陆的指定kryterion考试中心总共只有8家,主要集中在上海和北京。其他城市是木有滴。
在线考试是在你的电脑里边安装一个软件,这个软件强大到可以控制你的杀毒软件,并且不允许你弹出其他窗口,把你锁定在一个窗口里边,你的其他各种进程你都无法接触(即使你用各种快捷键),然后你需要一个摄像头,让考试中心监考人员能够看到你在专心考试,并且没有其他异响声音。这个方式的好处就是,只要你一台可以连接互联网的电脑,你在哪里都可以参加考试。但是,最大的问题就是在于网络速度,kryterion的服务器在美国,我们要跟那边保持长时间的视频信号网络连接,一般工作时间连接出去网络信号会很不稳定,视频信号随时可能会丢失。这里分享一个案例,我和我的同事第一次考试定在下午2点,在满足其规定的网络参数条件下丢掉了视频信号,被考试中心监考人员给我们中断了考试,然后跟kryterion邮件来来回回沟通。第二次定在下午9点,仍然在参数条件很好地情况下,丢掉了视频信号,被中断了考试,然后再次跟kryterion邮件来来回回沟通。第三次,第四次之后,我们跟IT讨论后,决定在清晨6:00开始考试(也就意味着我5点就得起床),于是就再也没有丢过视频信号,刷题速度也快了很多,那是因为全中国都没几个人上网在6:00时间段。即使这样,我仍然考了三次才通过,第一次结果50%,第二次结果72%,第三次结果88%,只因6月份Sitecore提高及格标准从70%到80%了(想象一下,期末考试80分才算及格,是种什么体验?)。
所以,综上所述,说起来都是泪,搞得我很心累,如果你不得不参加这个操蛋的考试,且无法去考试中心,那么建议你在清晨6:00 ~ 8:00这个时间段考试吧,不然你会崩溃的。
3.2 考试复习经验分享
如果你在一个提供软件服务的公司,或是你所在的公司购买了Sitecore的商业License(不得不说,这个License真的是贼贵,你的公司肯定是大公司,土豪!)你不得不掌握Sitecore的使用和开发,我们都能理解,为了生计!我和我的同事在备考时总结了一份强大的Excel,按照Exam Study Guide总结了很多类似于考试题目的题目,特与各位分享,希望可以帮助到你。此外,和各位分享下考试经验:
Step1.研究Study Guide,各个部分的考试比例和样题(Sample Questions)
Step2.研究我们整理的Excel,对各个部分涉及到的样题进行研究,不行就暴力一点强行记住吧。最好是通过Sitecore Developer Document查漏补缺。
考点总结Excel:点我下载
Step3.练练手:去一个国外的测试网站的一个人整理的Sitecore练习题,尽量做到90%以上(考试是70道题)。
练习题地址:https://www.cram.com/flashcards/test/exam-prep-8609452
预祝各位被迫/主动参加Sitecore考试的童鞋,都能一次性考试通过,因为太心累了。
最后展示一下这个操蛋的认证证书:满满的都是泪,这是留给公司的。