给所有想从事软件研发的年轻工程师的忠告与建议

640?wx_fmt=gif&wxfrom=5&wx_lazy=1


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

图片来源:Fargo Season 3


一、我为什么写这篇文章:

这几天,在某个IT论坛的软件培训与认证栏目中,看到了很多处于迷惑之中的人们,也看到了许多大家普遍感到困惑的问题,写此文章的目的,是想将我这些年在软件行业从业的一些经验和体会讲给大家听,并对大家普遍关心也普遍困惑的问题进行一些阐述,我将尽我最大的可能告诉大家我所理解的事实真相,同时也衷心希望大家能够理智而清晰的看待自己的方向,前途,发展策略等问题,避开自己发展的误区。


我目前在国内一家大型软件公司里做软件开发总监,由于本文中涉及了我个人对一些公司和机构的评论,有好的方面,也有坏的方面,所以我不方便透露太多关于我个人的一些信息;另外由于本人写的比较仓促,加之工作忙碌,也就没有在文字上以及文章结构与逻辑等方面做一些整理,所以可能有些地方看起来有些乱。我想乱与不乱都是次要的,关键是,我希望我的这篇文章能够让大家将一些事情看透,从而防止自己在软件行业内走入误区,以便能够在软件行业取得更大的发展与进步。


640?wx_fmt=jpeg

图片来源:Three Billboards Outside Ebbing, Missouri


二、该怎样规划自己的技术发展方向以及人生发展的总体思路?

1)要永远相信"物以稀为贵",我这些年的经历发现,现实中有很多软件工程师存在严重的"跟风"行为,也就是:只要市场上或者媒体上对某个领域或潮流进行"吵作"就无形中引导着这些工程师的学习方向与学习行为。如果我们纯粹以发展前景与"钱景"作为个人技术发展方向的衡量标准的话,则一个普遍的规律是:跟上最流行的技术并不一定拿到高薪;大家可以看到,同样是用C++编程语言开发软件,在Windows平台下的VC工程师,要比Unix平台下的C++工程师明显薪水低一档,为什么?原因就是一个公司可以在人才市场上很容易找到会VC的工程师,但找到有Unix平台下的C++软件系统开发经验的工程师相对要难找的多;


2)中国软件市场是典型的内需驱动型的市场,所以中国的软件公司需要不同领域的软件开发工程师,而且不同领域的软件开发工程师在薪水方面有很大的差别,在个人职业方展过程中应"随需应变";


3)不要局限于技术,一个人在自己事业上的成功或者说狭隘的说是个人财富的积累是一个人的"资源整合能力"的综合结果,而绝对不是一个人的技术能力单方面决定着的;在过去的经历中,我遇到了太多的"头脑聪明,技术高超"年轻工程师,他们在技术领域很聪明,但是缺乏在公司具体的人际关系环境下生存的"基本人际关系网络"管理能力,而变成了一个典型的"愤世嫉俗"的人。技术与个人智商高或者乃至上学时期的学习成绩好绝对不意味着一个人更容易通向财务自由与事业成功之路。年轻阶段有一定的技术积累是非常必要的,但如果彻底沉迷于技术,而不是着眼于个人5到10年以后你个人的事业成功所必须依赖的核心能力,行业背景和人际关系网络等因素,迟早有一天会陷入人生的被动局面里面去;


4)不要抱怨自己所处的公司环境的复杂性并抵触之,其实无论是到管理水平很高的跨国公司还是管理很混乱的一些民营企业,只要存在人的地方,而起这些人之间只要 在工作内容与职责上存在相互以来的关系的话,就不可避免有各中形式的人事斗争,在这种公司环境中,有些人善于分析公司内部环境与权力动态,并知道如何恰当发展自己并保护自己的利益免受伤害,他们锻炼了一种在复杂环境下的"领导能力",而有一些人却在这种复杂的环境下变得"愤世嫉俗"或"冷眼处之";


5)个人的职业历程的发展模式是:随着个人在职业生涯的年数的增加,你在职场里有效开展工作,并应得工作业绩和个人收益的核心能力就尽可能少的以来技术本省的 东西,而是个人的管理与领导能力还有在行业内的关系网络以及这些因素所必须以来的一个人人际关系能力与人际交往素质;


6)不要按常理"出牌",大多数人平凡的生活着,就是因为大多数人的思维被模式华,所以他们做事情并没有真正用自己的大脑深入的钻研事实的真相并作出自己的选择与判断。


三、你应该如何开始自己的行动,并有一个很好的职业发展开端?

640?wx_fmt=jpeg

图片来源:Inception


1)为了得到一份软件开发工作,是自学还是找一个培训机构?

任何一个培训机构都不能一劳永逸得解决你职业发展得所有问题,所以有很多东西,你必须自己学习,但是从公司招聘软件开发工程师的流程与关注点的角度来看,基 本上是两个大的因素,一个是个人的特定领域的知识结构和基本的开发技能,比如某个编程语言的使用能力,另一个至关重要也是可能通过某个自学途径不太可能得到的就是"特定软件开发领域工作经验"这个工作经验是必须通过实际的一些开发实践方能获得的,而这个工作经验是你在公司决定给予面试机会,以及公司决定录用当中相当重要的一个环节。一方面你的简历中是否有你所应聘的公司所从事的软件开发业务相关的"工作经验描述"决定了你是否会得到面世机会(正是由于此点,造成目前绝大多数计算机相关专业的本科生,甚至研究生在就业方面面临着沉重的压力),用人单位最关心的不是你学过什么,而是你亲自做过什么,另一方面在你得到面试机会后,用人单位的面试框架基本上在技术方面就是两个方面:通过让你描述你曾经做过的软件开发项目来判断你到底有多没深入的开发经验以及是否与他们的要求想吻合,另一方 面,在让你描述工作经验的过程中,或过程后对你的基本知识结构和基本的技术能力(比如编程技能)进行考核。


我给你的结论就是:不是说你学过某个领域的技术知识,比如编程语言,比如数据库等,就意味着你能找道一个软件开发方面的工作,用人单位永远将"你真正动手做过的项目与公司业务的吻合度"做为第一重要的判断点,你可以通过自学,或者自学能力差的话,跟着某些培训机构去学习某个领域的专业知识,但是真正促使你找到一份薪水不错的工作的主要因素是:你能够通过某种方式做一个相对来说完整而复杂的软件开发项目。而这个项目工作经验只能说你在某个公司实践工作获得,或者从某个软件培训机构获得(前提是这个软件培训机构能够提供这种级别的软件项目工作经验,但我发现真正能作到的软件培训机构在市场中很少)。


目前,市场上有很多软件培训机构都美其名曰,他们有项目开发实践,但想提醒大家的是,同样是项目开发实践,是否能够最终在个人求职方面用的上,主要决定于这个项目本身是否会给你足够的'工作背景经验'以及这种工作背景经验在人才市场上的"稀缺性"有多大。


在这里引用我一个在国内电信软件公司做项目开发总监的朋友的一句话:"我在招聘自己的开发工程师时,基本上很少关注这个人有没有证书,我关心的问题基本上很简单的几个事情,一个是他有没有做过与我目前的项目从技术面相吻合的项目经验,第二个问题是他本身的技术知识面和实际的动手技能如何,第三个问题是这个人的学习能力和潜在的素质如何第四个问题是,是否是一个易于合作的人,擅长沟通,技术人员都有那么一些"个人英雄"主义的情结,但一般只要是复杂的系统项目,更需要的是整个开发团队的通力合作"。


2)北大青鸟或者NIIT培养出来的"低门槛进入"所谓的"软件蓝领"能适应中国目前的国情吗?

市场上非常火爆的所谓"软件蓝领"培训,比如北大青鸟,NIIT等,"软件蓝领"曾是媒体非常热的一个词汇,但中国目前需要这种意义的"软件蓝领"吗?或者说"软件蓝领"在中国真的能够就业吗?因为蓝领也好,白领也好,于想从事软件开发的人员来说,他们的目的很简单,找到在IT软件公司的工作。


对于这个问题,先谈一下我的基本观点:传统意义的"软件蓝领"在目前中国的情形下是不适应的。


首先,应该说软件蓝领实际上是软件产业发展到一定的历史阶段所必然的结果,所说的软件蓝领是在大规模软件工厂式生产模式下,专业从事软件代码与基本调试的一 线人员,软件蓝领是产业发展的需要减低总开发成本并实现规模化,工厂化软件生产的必然要求的职位,在这方面印度的软件工厂模式已经取得了相当大的成功。他们拥有大量一线从事基础软件开发工作的软件蓝领,而且形成了金字塔式的人才结构。


其次,我们谈论任何事情都不能脱离历史发展的现状来谈论,中国的软件生产方式从总体来说离着大规模软件工厂模式还有相当长的一段路程要走,从政府的意愿来说,政府希望中国的软件产业能够以尽快的速度完成产业结构的完善调整,企业的兼并与重组过程,从而能真正形成可以与国际竞争的大型软件企业;但至少在今后的几年内难以实现,软件人才结构的调整也需要再长的一段过程。传统意义的软件蓝领实际上是,这些从业人员无须关心它所开发的整个软件系统是怎样的一个系统结构,他应该做什么早已经被设定好,他只需按照"软件生产规范"实现就行了,一定不能忘记这个的前提是"大规模软件生产模式",人数可能是1000人,到几千人同时进行软件开发,但我们再看一下中国的情形,中国的软件企业去年统计是4700家,其中55%是50人以下的公司,50-200人之间的占到42%,只有极少数的公司达到了1000人的规模;我们必须对一点非常清晰,如果我们培养了软件蓝领它是需要在中国的软件公司就业的,这将占到绝大多数,而且这绝大多数的人,绝大部分会到人数小于200人的软件公司工作,但实际上站在这个角度说,可能这些软件蓝领有相当大的一部分人员找不到工作,原因很简单,中国的绝大多数软件公司的软件从业人员的工作方式并没有按照软件工厂模式来运做,举例来说,很多公司是项目经理即做系统设计,又从事代码编写,同理,项目经理的开发团队的一线软件工程师也是即做代码,又参与系统的总体或者局部架构的设计,我不能说中国的所有软件企业都在这么进行着软件开发,但至少在中国目前情形下,这样的方式占了绝大多数。所以,我敢肯定一点,印度的软件工厂模式下的"软件蓝领"到中国来的话,他绝对做不了中国许多软件公司里的工作。


所以,大家看到了,北大青鸟的软件工程师培训课程目前非常火爆,但是火爆并不意味着他的课程,以及他培养出来的软件工程师在中国软件人才市场有充分的竞争力的。


再次,媒体炒做"软件蓝领"是一个事情,做为从事IT教育的教育机构如何做教育又是另一回事,政府肯定是希望我们早日走上软件工厂模式下的软件产业结构升级,但作为从业人员的最终就业场所是软件公司,那么这些中国的软件公司他首先要照顾的是自己目前的发展阶段,需要的是比软件蓝领更加有综合的素质,综合的知识结构和技能的从业人员来从事自己的开发,而不是遵从政府的意志,这是一个非常显而易见的事情。


所以,超越特定的产业历史阶段来谈论软件产业里的软件从业人员的教育问题是不切实际的。


我本人对两家"软件蓝领"培训机构的看法:

北大青鸟APTECH:

说到软件培训机构,就必然要谈到北大青鸟,总体来说我对北大青鸟的教师。


1)北大青鸟阿博泰克公司是北大青鸟集团和印度一家培训机构Aptech合资成立的一家软件工程师培训机构,他们的核心商业模式是"特许经营"。


2)北大青鸟在市场宣传和品牌运作方面做得非常成功,他的总经理杨明原来一直在北大方正从事技术与市场方面的管理工作,对如何在中国市场上从事营销工作有较为 深刻的认识,北大青鸟曾经在2001年出现过一些业务不景气的现象,但杨明的加入,通过一系列的整合营销传播活动,将北大青鸟这一品牌进行了非常好的吵作,起到了长远的效果。


3)北大青鸟的核心客户群定位在"高中以上学历均可学习"这样一个群体上,实际上,从我们招聘软件工程师的经验来讲,这样一个群体,基本上不太可能在软件公司内找到从事软件开发的工作。


4)我发现现实中,很多人学习软件开发有典型的盲目的从众心理,因为他们不知道事实的真相。


NIIT

1)NIIT也是来自印度的一家培训机构,而且公司决策层是一水的印度人,他们的核心商业模式也是"特许经营"。


2)应该说NIIT和北大青鸟Aptech有一定的渊源,NIIT是印度最早从事IT培训的公司,Aptech是NIIT发展早期,从NIIT出来的一些人员创办了Aptech公司,所以他们在商业模式上也有很达的相同之处。


3)NIIT在中国市场上,整体的市场营销与品牌运作方面要比北大青鸟差一些。


4)NIIT的课程设置以及课程中的一些核心理念与内容要比北大青鸟好。


5)和北大青鸟一样,NIIT的课程里没有设置非常有效的足以能够让学员找工作时用的上的软件开发项目实践(我的意思不是说他没有软件开发项目实践,只是说这种项目实践过分简单,对找工作起到的作用不大)。


我给你的结论:如果你基础很差,而且只是想学习编程知识,而不是靠培训找一份软件开发的工作的话,并且你的经济不成问题的前提下,你可以选择去NIIT学习,否则,如果你是想通过在某个软件开发培训机构的培训去找到一份工作的话,不要选择NIIT,即使他承诺签订就业协议,也不要去。


7)IT认证培训的火爆的情形下,你应该保持一个清醒而冷静的头脑

从2001年开始到2002年,这两年的时间,整个IT行业处于一个深度调整时期,中国的IT市场也相应的受到了前所未有的影响,但是IT教育与培训业务却取得了每年30%以上的发展速度,这里谈谈我的理解与体会,其实每个市场的启动与发展,都是与整个市场环境相关的,市场的驱动力来自于客户的内在心理需求,虽然IT行业面临一个调整阶段,但有两点是我们必须看清楚的,中国的IT市场潜力还有太多未发展起来的方面,诸如企业信息化,行业信息化,电子政务,数据通信,无线通信等等领域,而且从这点来看,IT行业仍然是各行业中薪水和待遇相对较高的行业,即使他受到了一定程度的影响。但从另一个角度来说,应该说是整个行业的调整,就业压力的加大驱动了整个IT教育与培训市场业务的高速发展。


正是由于市场发展的速度加快,导致了整个行业的不规范,培训机构鱼目混杂,实际上很多花了很多钱拿了某个证书的许多人,并没有如他们所期望的找到一份很好的工作,拿到不错的薪水。我认为主要有一下方面的问题:


第一,任何一个市场的发展,最终的驱动力量来自于消费者的内心需求,某个商家只要能满足某个特定消费群体的心理需求,他就肯定能抓住市场,赢得商机;所以商家都在潜心研究消费者的内心深处,进行关键的定位诉求,保健品市场,带有很明显的这种特征, 至于这个保健品是否真正能达到他的"诉求",就只有消费者最清楚了。IT教育与培训市场的发展也如此,因为整个产业环境变化和就业市场的压力,驱动了消费者去进行IT认证,我们先姑且不管这些IT认证最终能否达到客户的预期目的,但至少需求是存在于客户的大脑中了。


第二,我们的调查表明,大多数选择IT认证的消费群体,在选择是带有很大的盲从性和从众心理,这些人并没有真正认真研究一下用人单位的需求,比如,有很多在校的大学生考取某个IT证书,只是因为他觉得大学里没有学到什么东西,想考个证书来增加自己的就业砝码,想在他就业的时候,向用人单位证明一下:他在校期间学了什么。但他却没有想一个最关键的问题,这个证书是否真正有用?反正是不管有用没用,先给自己一些心理安慰.我们发现的一个问题是:在校大学生很少能够真正站在用人单位的角度去想想问题, 然后决定一下自己应该做点什么备战就业。


第三,问题涉及到一个软件教育机构,尤其面向IT领域的教育机构,他的总体运做思路和竞争战略的问题,这个机构是否站在用人单位的角度来进行思考,他们的用人逻辑到底是什么? 他们真的是看某个应聘者的证书?还是在用人的时候更加注重从从业经验来做判断, 其次是,现实中,真正的就业困境到底在哪里? 最后是软件教育机构如何 设置自己的课程来满足用人单位对"软件人才"的"核心需求"。


8) 为什么计算机相关专业大学本科甚至硕士研究生就业问题?

目前大学生就业问题已经成为一个日益严重的社会问题,以前IT相关专业的大学生就业时基本上是"皇帝女儿不愁嫁",但是,我们看到已经有太多的学生,他根本找不到工作。


确实大学生就业问题已经成为一个值得我们关注的社会问题,目前大学生就业困难一方面跟我们目前的传统教育体制的过分滞后有相当大的联系,另外一方面,整个就 业市场的供过于求也是重要的因素。就拿大学生想在IT行业就业来看,就值得我们深思,我们整个传统教育过程中都过分重视"学习知识,考分数",这种思维模 式的引导,使得学生一直转不过这个弯来,我们的学生知道毕业前还是习惯于听老师讲课,自己将来考试过关。目前许多学生非常热衷于某些IT认证类的考试就说 明了这种思维模式的延伸,在学生的头脑里总有这么个概念:你看我在校考了这么多证书,你应该考虑给我一个就业机会吧。但实际上,我最想和在校大学生说的一 句话是:请你们争开眼睛,好好看看用人单位都在怎样的用人,尤其想从事IT技术工作的大学生,用人单位真的不是很关心你到底学过什么东西,他只关心你到底 做过什么? 当然,说到这,我们不能将这种东西归责与我们的学生,应该说是我们整个教育系统有相当大的弊端在里面。


9) 我对于你参加培训,尤其软件工程师培训的建议

我所有下面的建议都是基于这样一个前提:你想在软件公司里找到一份从事软件开发的工作


1、不要相信任何证书,任何证书都不会让你找一份软件开发工作,现在大部分软件公司很现实,他只关心你是否做过和公司所从事的软件开发领域相一致的"软件项目 开发"经验,这是他考虑的80%的因素,其他的因素才是类似专业背景,学校,个人软性素质,沟通技巧和学习能力等。


2、如果你没有任何的软件开发所需要的基础知识与基本技能,你可以到一些培训机构去学习这些基本知识,但是,如果你自学能力可以的话,我建议你自己学习这些基 础知识与基本技能。然后你再找一家真正能够让你实践去做一些"软件系统"的培训机构(后面我将基于我的理解,向你推荐几家)。


3、如果你具备从事软件开发的基础知识和基本的编程技能,但目前仍然没有找到一份软件开发的工作的话,那我告诉你问题的症结:你没有机会去亲自从事一个大型的 软件系统,这个软件系统的工作经验具有足够的难度和复杂性,去找一家能提供这种级别的软件开发实践机会的软件培训机构吧,毕竟这几年,计算机相关专业的毕 业生和几年以前已经今非昔比,这并不是说市场不需要大量的软件工程师了,而是,现在没有多少软件公司愿意为没有"工作经验"的新人提供工作机会并承担一定的"跳槽风险"了。


4、不要被软件培训机构的市场营销与商业吵作所迷惑,如果从"找到工作"的角度来看,能否带你做一个相对"大一点"的软件项目,是选择的最重要的考虑因素。


5、尽可能在培训机构里申请试听几节课


6、不要听信任何的"品牌吵作",本人对公司的媒体宣传,市场策划,公关活动等都有过比较深入的接触,其实有些事情,比如说有些培训机构,他们应该坚持"宁可 不说,不可胡说"的,但你发现目前有多少培训机构他"不胡说"?,但我相信一点, 一些做事浮躁的培训机构,他是能够在市场上一时风光的,但我相信这种靠"吵作"来赢得市场的行为,是不可能长久生存下去的。


7、一定要认真研究一下,这个软件工程师培训机构是否有真正在"中国做过许多大型而复杂的软件系统"项目的老师来讲课,不要被一些培训机构所阐述的"讲师背景 "或"公司背景"(比如挂靠某个知名学府或单位)所迷惑。如果你还听到某个机构在说:聘请某名牌大学教授等字眼,我劝你趁早将你的钱袋子收紧些。


- The End -

来自:程序人生

作者:孟和

文章版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。

640?wx_fmt=png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谁今天收到鸿蒙系统推送,鸿蒙系统正式推送,只有部分高端机才能收到

原标题:鸿蒙系统正式推送,只有部分高端机才能收到华为已经对鸿蒙2.0系统开始进行推送更新,从华为推出鸿蒙系统概念已经时隔几年了,如今华为把ppt系统映射进现实是真正为自己正名了,而且据华为陈述鸿蒙2.0已经能达到安卓…

2020邮箱账号密码大全_通知 | 复旦大学2020年春季学期研究生选课FAQ

1选课须知1. 研究生选课系统什么时间开放? 答:2020年春季学期研究生选课系统开放时间为:2020年2月19日(周三)10:00至2020年3月9日(周一)10:00。2020年3月9日(周一)10:00后,研究生可以在选课系统中查询课表、已选课程、学分获得情况…

如何从零开始构建深度学习项目?这里有一份详细的教程

导读:在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目。本文将会从第一步开始,告诉你如何解决项目开发中会遇到的各类问题。本文由六大部分组成,涵盖深度学习 ( DL ) 项目的整个过程。我们将使用一个…

性能分布式NewLife.XCode对无限数据的支持

上周发布了《改进版CodeTimer及XCode性能测试》,展示了NewLife.XCode在性能上的表现。实际上NewLife.XCode是一个很平凡的ORM,只是在分页和缓存方面多下点功夫,注意每一个细节,才能保证在数据量大、业务繁忙的环境中得以保持良好的…

C#实用小知识:string和判断null

stringstring是常用的类型,它具有不可变性:就是一旦赋值,就不可变,如果再赋值 ,就重新开辟内存空间;保留性:如果一个字符串存在,另一个与其相同,他们会指向同一个地址&am…

.net html5页面缓存,详解HTML5中的manifest缓存使用

起源html5之前的网页,都是无连接,必须联网才能访问,这其实也是web的特色,这其实对于PC是时代问题并不大,但到了移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得…

机器学习的最佳学习路线原来只有四步

AI这个词相信大家都非常熟悉,近几年来人工智能圈子格外热闹,光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。在机器学习领域,Python已经成为了主流。一方面因为这门语言简单易上手&#x…

ASP.NET Core Filter如何支持依赖注入

概述通过使用 ASP.NET Core 中的筛选器,可在请求处理管道中的特定阶段之前或之后运行代码。内置筛选器处理任务,例如:授权(防止用户访问未获授权的资源)。响应缓存(对请求管道进行短路出路,以便…

做流向图_各类型供热暖系统图大全,一饱眼福!

↑ 点击上方“暖通风向标”关注我们推广.暖通风向标本文来源:制冷网好书推荐做热泵这几本书你不得不看!区域供热系统热电联产系统地热水供暖系统即热式生活热水系统即热式特点:可保证用户随时随地均有热水供应,系统紧凑,无需储罐&…

怎样和程序猿谈一场不散场的爱情

这篇文章就教你如何优(xin)雅(ji)的驯服程序猿男友。先分享2个网友的养猿故事。对于程序员,大家想必会有这么一个印象:生活简单乏味,除了编程、吃饭、睡觉,就是上网、打游戏或者一副…

ITU-R BT.656 协议

ITU-R BT.601和ITU-R BT.656国际电信联盟(International Telecommunication Union)无线通信部门(ITU-R)制定的标准。严格来说,ITU-R BT.656应该是隶属ITU-R BT.601的一个子协议。ITU-R BT.601是演播室数字电视编码参数…

一年增加1.2w星,Dapr能否引领云原生中间件的未来?

作者 | 敖小剑Dapr 将引领云原生时代应用和中间件的未来。Dapr 是由微软发起的云原生开源新项目,在今年 2 月份刚刚发布了 v1.0 正式版本。虽然推出至今不过一年半时间,但 Dapr 发展势头十分迅猛,目前已经在 GitHub 上收获了 1.2w 星。阿里是…

kylin如何支持flink_日均万亿条数据如何处理?爱奇艺实时计算平台这样做

1.爱奇艺 Flink 服务现状爱奇艺从 2012 年开始开展大数据业务,一开始只有二十几个节点,主要是 MapReduce、Hive 等离线计算任务。到 2014 年左右上线了 Storm、Spark 实时计算服务,并随后发布了基于 Spark 的实时计算平台 Europa。2017 年开始…

茫茫内存,我该如何用 windbg 找到你 ?

一:背景 1. 讲故事前天wx上有个朋友丢给我一个dump,让我帮忙鉴定一下某些敏感信息在内存中是否也是加密的,现在数据安全很重要,不仅数据库中的信息要加密,灌到内存后数据同样也需密文存储,随用随解密&#…

一日一技:在Ocelot网关中实现IdentityServer4密码模式(password)

概述IdentityServer4 是为ASP.NET Core 2.系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证框架。将identityserver部署在你的应用中,具备如下的特点可以为你的应用(如网站、本地应用、移动端、服务)做集中式的登录逻辑和工作流控制…

uibot在子程序执行js失败_使用 Node.js 将珍藏的 bash 脚本封装成命令行工具

阐述如何将一个常用的 bash 脚本融入 npm 生态之中,此处以最近遇到的一个 CR 提交脚本为例。背景作为程序猿,大家或多或少地都用过 GitHub 上的 merge request 功能。当然,除了这类 Code Review 方式,不少公司都有自己的 Code Rev…

如何提高Debug效率

大家好,我是Z哥。可以不夸张地说,程序员可能有一半的时间都在修bug。虽说,根据28原则大部分bug都可以在搜索引擎上搜到(业务性bug除外),但是往往剩下的那20%bug会花费我们80%的时间。虽然解决这个问题最好的…

baidumap vue 判断范围_懂一点前端—Vue快速入门

01. 什么是 VueVue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,是当下很火的一个 JavaScript MVVM 库,是以 数据驱动和组件化 的思想构建的。MVVM 模式简述下图不仅概括了 MVVM 模式 (Model-View-ViewModel)&#xff0c…

如何在 C#9 中使用顶级程序 (top-level)

当我们用 C# 进行编码的时候,总需要写很多的模板代码,即使是最简单的 console 程序,想象一下,如果去测试一个 类库 或者 API 的功能,通常你会用 Console 程序去实现,在开始工作的时候会发现你受到了 C# 标准模板的限制…

跨部门不配合工作_跨部门协作,队友总是“甩锅”,这三个方法教你快速避坑!...

在日常的工作中,你觉得跨部门沟通的时间占用了多少时间?前阵子我经常会看到有人抱怨,说跨部门沟通的工作实在太难了,同事总是推脱扯皮,领导交代下来的事情,要么说不是自己的职责,要么说以前没做…