各行各业都有行业特色,每个人也有各自的天赋和特色。一个人的事业最完美的情况就是“兴趣”“天赋”的高度吻合。可是,理想很丰满,现实很骨感。人们很难达到这种“天人合一”的境界,很多人从一出生就被命运左右。人们长大后,奔波在各个行业,有做建筑工的,有做大老板的,当然也有这么一群人是做Java程序员的。那么,什么样的人最适合做Java程序员呢这类人具有什么特性?今天北京java培训老师就根据多年来对身边各种Java程序员的观察,总结几点:
数学天才最适合做Java程序员
实际上计算机的核心就是数学,数学厉害的神童们,做软件开发也如鱼得水。笔者在学习软件开发的时候,自以为用一周编写了一个俄罗斯方块的小游戏就很了不起了,可是我们班一个天才少年,居然在一个小时就搞定了,我用了好大一会看他的程序,才领会其中的奥妙。不得不服人呀。
喜欢专研的宅男适合做Java程序员
为什么是喜欢专研的宅男呢!呵呵,实际上喜欢专研的人往往是宅男。而计算机程序员往往具有这类特质,所以我们很容易得出结论,如果本身就是爱专研的宅男,那么编程也比较适合你。实际上,爱专研是计算机程序开发的行业精神。任何一个优秀的软件背后都有若干名辛辛苦苦专研的程序员们。如果你沉不住气,不能静下心来研究,那么你肯定不适合编程的。
玩竞技游戏厉害的适合做Java程序员
我发现程序员中有很多都是竞技游戏高手,或者曾经是。这说明,玩竞技游戏厉害的人确实适合编程,而且容易成为高手。或许这和其追求竞技的精神和思维的敏捷有关。当然还和爱动手有关。不过大部分的游戏迷却不是程序员。
不会泡妞的人适合做Java程序员
这个是规律,是一个反推的规律。因为,90%的程序员不会泡妞,真可谓是“程序猿”。没有女朋友已经成为程序员的一个特性,很多年轻的程序员在毕业后2年内甚至还没谈过一场恋爱。
选择成为一名程序员,在现代社会中是一个相当不错的职业选择。相较于一些传统职业,程序员的薪酬相对较高、发展空间也相对更广,并且具备较为强大的行业技能门槛,有着比较好的职业前景和稳定性。当然,成为一名程序员需要具备一定的计算机基础和编程能力,并且需要不断学习和升级自己的技能和知识。如果对计算机和编程有兴趣和热情,那么选择成为一名程序员可以让你在职业发展和生活品质方面都有更好的机会。
我们在前文中给大家指出了新手程序员在向技术高手蜕变的时候都会产生哪些思维上的误区。而今天我们就给大家带来了这些误区的解决方法。北京电脑培训希望大家能够通过对本文的阅读,真正理解和成为高级程序员。
1、熟悉更多业务,不管是不是你负责的;熟悉更多代码,不管是不是你写的
这样做有很多好处,举几个简单的例子:
需求分析的时候更加准确,能够在需求阶段就识别风险、影响、难点
问题处理的时候更加快速,因为相关的业务和代码都熟悉,能够快速的判断问题可能的原因并进行排查处理
方案设计的时候考虑更加周全,由于有对全局业务的理解,能够设计出更好的方案
2、熟悉端到端
比如说你负责web后台开发,但实际上用户发起一个>
“系统性”、“全局性”、“综合性”这些字眼看起来比较虚,但其实都是技术大牛的必备的素质,要达到这样的境界,必须去熟悉更多系统、业务、代码。
3、自学
一般在比较成熟的团队,由于框架或者组件已经进行了大量的封装,写业务代码所用到的技术确实也比较少,但我们要明白“唯一不变的只有变化”,框架有可能要改进,组件可能要替换,现有技术可能已经无法满足业务需求,或者你换了一家公司,新公司既没有组件也没有框架,要你从头开始来做。
这些都是机会,也是挑战,而机会和挑战只会分配给有准备的人,所以这种情况下我们更加需要自学更多东西,因为真正等到要用的时候再来学已经没有时间了。
程序员和项目经理是两种完全不同的岗位,工作方式也大不一样。以前是一个人单干,现在是团队一起干,以前是自己亲自干,现在是指挥别人干,这是一种巨大的变化。要适应这种变化,首先必须要转换思维模式。思想决定行为,思维模式就好比在陌生城市找路用的地图,拿着过时的地图,自然无法到达想去的目标。思维不换走老路,思维一换天地宽。
1从单干到群干
从程序员到项目经理,不只是职位的变化,其工作性质也发生了根本性改变,简单的说,是一个从单干到群干的过程。
严格来说,程序员并不是单干,他们也是在团队中,需要具有团队合作的精神,但其实程序员的工作具很强的单干的特征。在项目中,程序员的基本工作,也就是完成项目经理分配的开发任务,而这些开发任务,是项目经理或团队进行工作分解后的小的工作包,是一个确定的功能点,一个人足可以胜任,因此程序员只需要自己构思、自己编码就可以了,并不需要很多人一起来合作完成。
项目经理不一样,他面临的不是某个确定的功能点,而是整个项目,无法一个人完成,必须要整个项目组齐心合力一起来做,这就是群干,也就是团队作战。项目经理不只是自己需要团队精神,更要能够激发其他人的团队精神。
我们看一看程序员和项目经理两种角色的比较:
正如黄健翔的名言说的一样:“你不是一个人在战斗!”项目经理要时刻记住这一点,不要只顾自己闷头编码。只有学会发挥团队的力量,才能管好项目,成为一名真正合格的项目经理。
2为什么软件企业人难管
从单干到团队做战,项目经理最大的变化就是以前只需要管自己一个人,现在你要管一个团队,以前独善其身就可以了,现在要兼济他人了。可以说,项目经理最重要的一项工作就是管人。
但是软件企业的人是出名的难管。软件公司的经理管人有两难,一是留人难,人才流失成了很多公司的心病;二是用人难,要把程序员用好,把大家的潜力发挥出来,决非易事。
( 1 )留人难
每年春节过后大约三月份,是很多软件公司的人力资源部经理最“兴奋”的时候,一方面他们要大量招人,另一方面,大量程序员辞职流失,让他们叫苦不迭。
程序员的离职率高,一直是行业的普遍存在的问题。据前程无忧网站2012提供给《中国经济周刊》的信息表明,IT行业人才流失率高居所有行业的首位。另外据CSDN的一份调查显示,436%的开发者在5年内换了3份以上的工作,这么高的跳槽频率真是让人瞠目结舌。我们不禁要问,为什么程序员这么“喜欢”跳槽呢?
我曾经接触过数以百计的人员离职,根据对他们的分析,我将程序员离职的主要原因分为三种:
表 程序员离职原因分析
以上枚举显然不能穷尽所有的问题,但能抓住主要原因就可以了。
这么多问题中,最重要的还是薪资问题。据《北京青年报》的调查显示,“职业收入高低”是促使人们跳槽和选择新职业的首要原因。然而在这一问题上,公司其实也有其苦衷。
很多人从学校毕业,对开发基本上一无所知,经过在公司一年多的培训学习,取得了巨大进步,个人能力提升很快,此时必然对薪资要求也比较高,这是可以理解的。然而,站在公司的角度,这一年你基本上还谈不上什么贡献,公司却付出了较大的成本,大幅加薪一时难以接受,难道我把你招进来就是为了培训然后再涨工资干活吗?你也许会认为公司非常短视,这样的公司不待也罢,殊不知,软件行业看似光鲜,其实大量的企业挣扎在生死线的边缘。据工信部统计,2011年上半年我国软件行业利润仅占软件业务收入的128%,这么低的利润率,能活下来就是成功,对公司提出过高的要求也是不现实的。
在这一场博弈中,没有谁对谁错,但公司肯定是受伤的一方。真正将员工利益与公司利益统一起来的凤毛麟角,大部分公司里,公司和员工就像一对冤家,虽然互相需要,却又矛盾重重。
当然,其实公司也应该转变思路,不要总抱着我培养了你、你应该感谢我的心态,在程序员进步巨大的情况下,还是要给员工相应的薪酬,真正留住人才,毕竟软件项目禁不起人员剧烈变动的折腾,从长远来看,公司还是划算的。
( 2 )用人难
留人难,用人更难,要把程序员用好,则是难上加难。员工用得好,每个人都奋勇当先,以一当十。用得不好,员工死气沉沉,没有朝气和干劲。在我所见过的软件项目中,虽然有不少程序员工作主动积极、富有效率,但更多的是缺乏激情、消极怠工、甚至不服从项目经理工作安排情况。
为什么软件开发人才就这么难用呢?这是由多方面的因素所决定的:
●软件开发的特点
软件产品有一个非常显著的特征,就是它是一种无形的东西,在生产过程中看不见也摸不着,完成以后可以看到运行效果,但你还是无法知道它是不是一个“豆腐渣工程”。它里面暗藏的问题也许若干年后才能看到,也就是说它的质量评价非常困难。这与传统的制造行业有着非常大的差别,比如你是造一栋房子,生产过程中我们就能看到它的结构设计是怎样的,它的地基是不是够牢固,它有没有用“牙签钢筋”等等。
第二个重要特点是对人的依赖性非常大。同样的一个功能点,由不同的程序员来做,所花的时间可能会相差很远,比如有经验的人来做可能只要1天,没经验的人来做,可能1周甚至1个月都完成不了,做出来的质量也可能有天壤之别。即使是同一个人,由于其工作状态的差别,也会产生巨大的差异,如果主动积极做,可能只要1天,消极怠工的做,就无法预期了。这样的情况,在传统行业是无法想象的,只要按规定的程序和规范来做,即使换一拨工人,也可以在同样的时间建造出来,建出来的房子的质量也不会相差太远。要知道,再烂的挖土机也能挖出一个大坑。
总之,软件开发存在非常多的不确定性,非常依赖于每一个开发人员。虽然管理专家们发明了很多方法企图来减少这种不确定性,减少对人的依赖,让软件开发像传统行业一样变得可控,但迄今为止,仍然没有一个通用的行之有效的方法,专家们也不得不无奈的发出“没有银d”的感慨。
● 程序员的个性比较强
不得不承认,与其它行业人员相比,程序员显得更加内向、不合群,有些人自视甚高,看不起别人。他们做事冲动、不服管,也就不足为奇了。
●程序员的想法比较多
程序员都很聪明,对自己的期望值也很高,不会满足于现状。有想法本来是好事,但人人都很有想法时,经理就没那么好当了,没有高超的领导技能是难以应付的。
综上所述,软件企业对人的依赖性非常强,却又面临着留人难和用人难这样两难的困境。要解决这些问题,一方面要求软件企业真正要做到以人为本,另一方面也对管理者提出更高的要求。
3转换思维提升领导力
留人难、用人难,难道我们真的就无能为力了吗?这两难困境中,有行业原因、有公司原因,对于这些,作为项目经理也许力不从心;但也有程序员的原因和项目经理自身的原因,对于这一类问题,项目经理并非无能为力。即使在同一个公司,不同项目组中的人员流失情况、团队士气也会有很大的差别,这说明项目经理完全是可以有所作为的。对于有强大领导力的项目经理而言,人员的流失率会更小,工作效率会更高。要提升领导力,首要的是转换思维。
在前面博文中曾介绍了管理的五大思维:以目标为中心的思维、整体思维、平衡思维、以人为中心的思维、团队思维。其中前面三项与理事有关,而后面两项与管人有关。下面我们对这两种思维进行详细的解析:
表 管人的两大思维
可以看出,这种以人为中心的思维和团队思维,真正体现了以人为本的思想。它们与程序员的机器思维、单干思维大相径庭。许多项目中的问题,就是由于项目经理的思维还停留在程序员阶段造成的。
管理学之父彼德德鲁克说:“管理是一门反映人的内心,与人性息息相关的科学。”项目经理只有跳出程序员思维的局限,实现思维的转换,尊重人性、遵循人的社会法则,才能真正把人留住、用好,项目团队才能具有更强的战斗力。
4项目经理也是人事经理
在管人的方面,除了要建立上面两大思维之外,还要提高一项认识,那就是项目经理其实也是整个团队的人事经理。
很多项目经理对下属关注的重点往往是他有哪些具体技能,比如他有几年工作经验,他会用JQuery吗,熟悉NHibernate吗等等,而对于项目组成员培训、薪资、离职这些事情,则认为统统是部门经理或人力资源经理的事情。如果将问题交给人力资源部,需要跨部门协调,比较麻烦,因此干脆直接全部推给部门经理。
我担任部门经理的时候,曾无数次遇到这样的情况:
项目经理找到我说:“经理,某某要辞职了,帮我安排一个人。”
“你跟他谈过没有?”我问道。
“还没有。”
“他为什么辞职?”
“还不清楚,可能是工资问题吧。”
我找员工沟通过之后,原因自然是五花八门,有要求加薪的,有抱怨环境的,还有跟项目经理合不来的,不一而足。经过多轮沟通,该开导的开导,有合理要求的尽力帮助争取,还有一部分可以承诺延迟满足,或者用前景来“诱惑”等等,采取这些方法之后,还是有不少人愿意留下来继续做的。其实,大部分辞职的人并不是喜欢换工作,而是有一个心结,需要上司来帮他打开。
其实我做的这些工作,项目经理一样可以做。项目经理与员工朝夕相处,要时刻关注员工的动态,发现异常情况,及早介入沟通,也就不需要其上司费尽心力了,而且员工可能根本不会走到辞职这一步,沟通效果会更好。
项目经理还有一个普遍存在的误区,就是在评价下属时,习惯于说某某不听话、不好管。殊不知,一个员工好不好管,其实也取决于项目经理本人的态度和做法。一个看似不好管的员工,经过引导,同样可以成为项目的骨干,这样的例子屡见不鲜。
所以项目经理在碰到管人的难题时,不要再总是想“这个我管不了”、“那个我没办法”,而应该抱着“我也是人事经理”这样的心态,主动沟通、想办法。如果经过分析或者努力后,确实需要上司出马的,才去请上司来帮忙解决。直接把问题丢出去,当然是最简单,但这样做一方面你在团队中的威望会受到影响,项目的凝聚力下降,另一方面你的个人价值也大打折扣。
5打造“凝胶型”团队
著名职业经理人唐骏说,管理的任务就是“造一条船,然后让船划起来”。对项目经理而言,我们已经有了一条船——就是项目团队,现在的任务要把它划起来。
软件质量之父沃兹汉弗莱曾经提出,一支高效的团队应该是一种“凝胶型”的团队。在这样的团队中,大家有着清晰的共同目标,彼此合拍,每个人都全身心投入,团队显示出超常的战斗力。
我曾有经过一次项目灾难拯救的经历,这一段时间我真正体会到了凝胶型团队的力量。项目上线后发现软件运行效率极低,故障不断,人人疲于奔命,客户发出最后通牒,三天之内搞不定就下线。在这种情况下我临危受命,临时接管项目。接手后我主要做了以下几项工作:
1找出当前影响最大的几个问题,采用头脑风暴法一起找出解决方案,在短时间内让客户体验有较大改善,让客户重拾信心,然后不失时机安抚客户情绪;
2每天客户下班后开会,与项目组成员一起进一步研究项目存在的问题,按轻重缓急做成任务列表,制定阶段目标,并检查上一阶段完成情况,更新任务列表;
3向公司申请了充足的经费,保障后勤,改善工作环境和吃、住条件,解除后顾之忧;
4与团队一起加班加点,一起分析问题,并亲自完成一些力所能及的功能修改。
有随后一段时间里,项目团队的状态让人难以置信。项目组虽然夜以继日的工作,却没有一个人说出一句怨言。其中一位同事才刚当上爸爸一个星期,就驻现场无法回家;还有两位同事的女朋友半夜打电话过来,他们只能躲在一边苦苦安慰;还有一位同事,由于个人原因早先已经申请了离职,仍然与我们一起奋战到最后一刻……经过一个多月辛苦修改完善,项目总算彻底摆脱了危机,项目组高高兴兴打道回府。
在这一次经历中,虽然大家都很辛苦,但每个人都过得很充实。大家同心合力,每个人都贡献了自己全部的智慧和力量,也都做到了以前难以想象的事情。
我为什么举这个一个非正常项目(陷入灾难)的例子呢?这是因为要建设一个真正的凝胶型团队非常不易,不只是依赖于项目经理和每一位成员,还与公司的制度、氛围、项目的任务特点等多方面的因素密切相关。在这个例子中,项目灾难显然也是激发大家战斗力的一个重要因素。不过,即使是不能完全做到,但通过项目经理努力,还是可以近似实现的。
根据项目经理团队中充当的角色和发挥作用的不同,凝胶型团队可以分为两种,即星型和网络型,如下图所示:
图 两种“凝胶型”的团队
● 星型
项目经理处于中心位置,好比一颗红太阳,把大家吸引在自己的周围,整个项目组依靠项目经理领导力团结在一起。这要求项目经理个人能力极强,富有魅力,具有绝对的权威。星型团队的决策方式常常是这样的:项目经理收集意见,项目经理决策,再反馈给大家,或者由项目经理单独决策,再分发给大家。
● 网络型
网络型的团队中,项目经理看似在其中不占主导地位,项目经理的权威被弱化,实则项目经理的对团队的控制已经内化到每个人的潜意识之中,达到了一种近似于“无为而治”的境界,因此对项目经理的要求更高。
这种团队的决策方式一般采用民主制或民主集中制。把大家联结在一起的不只是项目经理领导力,更是富有挑战性、具有吸引力的目标,以及共同的认识和价值观。项目经理往往是外柔内刚,能够不动声色,于无形中实现对项目掌控。
能够建成星型团队的项目经理已经寥寥,能做到网络型更是可遇不可求。不管有多难,目标不能丢。我们就好比是一群已经出发的登山者,来到了山脚下,怎么能够因为看到山太高太难爬就放弃攀登呢?
>
这几天我也是因为一个项目而被迫使用vue,坦白的说vue和传统的网站开发思路不同,导致爱的人爱死,老程序员烦死的现状。
主要区别:
1传统方式:我们做一个网站,首先创建几个文件夹(css、js等等),页面需要用的资源文件,都放到各自的文件夹里。然后创建若干个HTML网页,一个个链接把这些若干网页串起来就OK,网页里需要有什么事件或效果,要么用原生js要么用jqurey,去 *** 作某个dom,实现页面变化。
调试的时候也很简单,如果静态网页,浏览器就可以直接运行调试。asp、jsp、php、net等动态网站,简单配置一下iis或Tomcat,也就能直接调试。
2vue(这里用vue脚手架来举例):
vue和传统最大的区别就是,vue只有一个html页面(也就是入口页面,你也可以理解成主页面),除了主页面之外,其他的页面都是html片段,以vue为后缀的片段文件存在,用户访问网站的时候,第一次加载完整主页面,后面的点击其实就是变化html片段而已。(和老程序员理解的局部刷新有点像)
所以vue特别适合制作手机端项目,因为它只需要根据用户的点击,加载所需的片段而已。由于不用一页一页请求新网页,所以这种机制会让手机项目运行非常丝滑顺畅。
但优点也是它的缺点,vue项目的特性决定它不适合做网站,稍微有点seo知识的人都明白,这种机制做的网站,机器人是爬不到任何内容的。
vue的部署也是让我很诟病的,部署它需要折腾一大堆事儿。首先需要安装nodejs,你可以暂时把它理解成和iis Tomcat类似的网站发布容器。因为只有在nodejs下才能调试vue脚手架项目。
nodejs装完,然后在cmd命令行下,通过npm命令安装一大堆各种库插件。
这一堆事儿折腾完,你就可以通过一个命令创建一个vue脚手架,然后开始你的项目开发之旅。
很多老程序员被“vue脚手架”这个词搞得云里雾里,简单的说:上面折腾一大堆,就是为了最后敲一个命令,让系统帮你在指定位置创建一组文件夹,然后vue能用上的各种js(百十多个吧)组件都放在这各个文件里,供你开发时候调用。
对比你之前的 *** 作,相当于:你建好文件夹,在js文件夹里放好jqurey,和你常用的js。
所以这套步骤,开始让我很不习惯,可能很多老程序员也不习惯。会让你有种“为了做个小项目,先要部署一套大工厂的感觉”。
很多老程序员其实都是做小项目出身的草根,什么百万千万的迸发、什么团队协作、前后端分离等话题,不是这类程序员关心的。他们往往即是美工也是程序员,即是前端也是后端。几乎都是以快速交付项目为第一初衷,不想为了个环境来回折腾。所以一时间适应不了vue开发模式。
另外如果你的项目,定制化程度较高。我个人还是建议采用独立html的传统方式开发。
如果是移动端开发,vue的确是最佳选择。顺便提一下,vue和小程序几乎是一摸一样的套路,会一个两个就都会了。
我也是花了2天时间,从排斥到接受的。目前用着还不错。
使用框架并不会让你的技术变菜,相反,框架能够让你更加方便、快速的实现某些功能。
框架的出现,使开发变得更加简单,设想,如果vue没有nodejs的支持,你还会去使用吗?各种依赖,各种配置,统统需要你自己手工构建,你会把大量的时间花费在无用的地方,而忽略了你所需要实现的也许需求。
如果你感觉使用各类框架导致你的能力降低了。那只能说你自己的能力还有待提高。
提升你的技术不一定要会很多编程语言,需要去了解思想。那么在使用vue的时候,有没有思考过,vue为什么要这样设计,这样设计有什么优势,如果是我,我会怎么设计。
如果你专注于前端开发,那你可以尝试自己去实现一个vue,当做你的技术提升。
反问提问者一个问题,你在使用jquery后,有没有感觉你的技术下降了?
个人的一些观点,欢迎讨论!
我就是写框架造轮子的,框架的出现的确会让程序员能力减弱,变成框架 *** 作员,例如spring java的出现,使得后台开发人员不需要知道epoll tcp底层原理,不需要知道条件变量 信号量 共享内存怎么实现进程间通信。但是框架是我们开发效率更好,题主可以反向思考java c的出现降低了我们对计算机底层指令的理解,我们为何不用汇编编程?不要太在意技术本省能达到目的就是好技术。
大家要记住:互联网和建筑一样,程序员和水泥工都只是这个行业的底层人员。我们在追求技术的时候想想水泥工在外人面前比砌砖技术的场景,就不会死揪不放了。
vue是前端三大框架之一。在日常的开发工作中,能便于我们快速搭建前端框架,快速的启动项目进入细节开发。当用的时间长了以后,你会更加的依赖框架。
我们都知道人生的境界有三层:第一层看山是山,看水是水;第二层看山不是山,看水不是水;第三层,看山还是山,看水还是水。跟着人生的境界一样,其实你已经达到了第二层境界。
开发能力也主要分为三层境界。
一,从零开始,徒手开发。
这个境界都是新手。这时候可能你只知道HTML ,CSS和js。根本都不知道后面的框架,所以这个时候需要自己徒手搭建框架,徒手写页面路由,手动完成页面自适应等。这时候恐怕页面的一个轮播图,都够自己费脑子的,得花上一天或者更多的时间写好这个轮播图。
这个阶段就相当于你小时候学走路的阶段,只有当你学会这个走路,才会后有后面的奔跑跳跃的动作。记得当时我学习前端的时候,在这个第一个阶段,很是苦恼,为什么我一个简单的页面,要花费很长的时间去写,花费很长的时间去写一个组件,一个下拉框,一个三级菜单栏。等我过了这个阶段就豁然开朗了。
二,应用框架,插件,快速开发。
走过了第一个阶段,渐渐的接触到了应用框架,和一些组件。就拿这个vue来说,可能轻轻松松十几分钟就能启动一个项目,当初在第一个阶段来说,可能花两三天去搭建项目。
然后很多组件也不需要自己写了,有丰富的前端UI组件,什么轮播图,页面自适应布局,各种各样的按钮,生拖硬拽就行了,分分钟搞定。
这个时候的工作就进入了一个舒适区,也达到了一个自我满足的状态,殊不知在这个境界里,稍有不慎,你可能就废在这里了。还有第三重境界在等着你。
三,从零开始,徒手造轮子。
到了这里,可能有人会问,这里也是从能开始,为什么和第一重境界不一样?
那确实是不一样,过了第二重境界,为什么要回到从零开始呢?这里不是一种倒退,而是一种进步。在第二个阶段,你的生拉硬拽。你会发现已经不能满足你的开发工作了。因为在这里的很多开发都是被局限在这些框架里了,如果你想创造不一样的样式,就需要你从零开始徒手造轮子。
你需要用原生的底层的东西,去造属于你自己的东西,去写一套你自己的框架,自己的组件。你所写的这些东西都属于你自己独有的,不再和别人一样都是千篇一律的东西。
当然,这第三层境界也并不是那么容易达到的,有的人需要花费三五年,有的人则需要花费数十年。
所以说当你熟练运用这些框架以后,你发现自己的编程能力变弱了,这正是在告诉你,需要学习更多的东西,以便于你能够顺利的达到开发的第三种境界。
Vue 就是一个把问题搞复杂的东西 让你忘记你出发的目的是什么。面试的时候,我遇到精通vue 直接pass ,这种人毫无用处
vue世界都是组件,现在编程,闭门造车时代已经过去了,我们就是更方便实现功能就好了。类比于制造业,不能说我要做 汽车 ,还要先去挖矿炼铁和种植橡胶,下降的是不需要的能力,例如挖矿能力和耕地能力。什么框架能提高我们效率就死好框架。
坚守JSP + H5
你怎么就是意识不到呢?让你能力下降的是你的懒惰和缺乏学习欲望还没有深究的习惯,而不是一个优秀的框架,框架制造出来的初衷是为了提高生产效率,降低开发人员的压力,提高开发人员的幸福感,唯独跟帮你提高自己的编程水平没有任何直接联系。对于已经水平够好的人,他有资格让自己的工作变得开心一些,甚至他们通过自己开发很多优秀的工具框架来实现这个目标,但是水平还比较菜的人没有这个资格,除非他们不想进步。因此,你这个问题非常缺乏逻辑,如果拥有了一把q让你的搏击能力下降,那是你的问题,不是q的问题;如果拥有了 汽车 让你的运动能力下降,那也是你的问题,不是车的问题。你可以坦然接受这种下降并且不认为这是什么坏事情,但请不要让一个工具替你背锅!
不是vue让你能力下降,是你本来就能力弱。很多人学vue都是一知半解,做个简单的增删改查就觉得自己精通了,连html,css,js基础都是速成的,没掌握好,就捡起vue这样的框架了,没有现成的组件库,啥也不会写。vue不是要代替这些基础技能,是为了给有能力的人提供更方便的工具。还有人喷jquery过时了,怕是他们连vue和jquery的本质区别都搞不清楚,适合的场景也不知道。不是vue让人能力下降了,是你根本就没有接触到复杂需求,或者说因为你能力弱,所以根本就不会给你接触复杂需求的机会
这个问题就好比用了jquery感觉对原生js的理解越来越浅,框架和库都是为了帮助我们提高开发效率的,往往会让我们忽略本质的技术 这才是问题所在,所以用的时间长了 当你丢下库和框架的时候你会发现都不会写代码了
程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立, 到数据传输层的处理,到 *** 作系统的建设,到数据库平台的建设,一直到应用层上各种数 据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大 的贡献。
中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性 的重要工作。
中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际 上只是一些Coding fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的 CTO就是这样的coding fans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓 人。
程序员基本素质:
作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具 有的素质。
1:团队精神和协作能力
把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺 乏这种素质的人就完全不合格了。
2:文档习惯
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中 非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级 程序员和系统分析员,这个比例还要高很多。
缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇 到极大的麻烦。
3:规范化,标准化的代码编写习惯
作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩 进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和 纠错,也有助于不同技术人员之间的协作。
有些coding fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自 己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。
再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可 想象的。
4:需求理解能力
程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件, *** 作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程序员,你给他深蓝那套系统,他也做不出太极链的并访能力。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经 验才有可能有心得。
5:复用性,模块化思维能力
经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写 一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成 了熟练程序员的主要工作,而这些,其实是完全可以避免的。
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投 入到创新的代码工作中去。
一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块 都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重 写,大部分重复性工作无谓的浪费了时间和精力。
程序员应具备的素质中
6:测试习惯
作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效 率和可靠性就有了最大的保证。
测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到的 需求理解能力。
7:学习和总结的能力
程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有 领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。
善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高 了。
但是学习也要找对目标,一些小coding fans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提 高。
善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有 目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高, 一个程序员才可能成长起来。
一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候 马上就到了。
具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决 定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是 一种意识上的问题。
那么作为高级程序员,以至于系统分析员,也就是对于一个程序项目的设计者而言,除了 应该具备上述全部素质之外,还需要具备以下素质:
第一,需求分析能力
对于程序员而言,理解需求就可以完成合格的代码,但是对于研发项目的组织和管理者, 他们不但要理解客户需求,更多时候还要自行制定一些需求,为什么这么说呢?
一般而言,进行研发任务,也许是客户提出需求,也许是市场和营销部门提出的需求,这时候对于研发部门,他们看到的不是一个完整的需求,通常而言,该需求仅仅是一些功能上的要求,或者更正规些,可能获得一个完整的用户视图;但是这都不够,因为客户由于非技术因素多一些,他们可能很难提出完整和清晰,或者说专业性的性能需求,但是对于项目组织者和规划者,他必须能够清醒认识到这些需求的存在并在完成需求分析报告的时候适当的提出,同时要完整和清晰的体现在设计说明书里面,以便于程序员编码时不会失 去这些准则。
程序设计者必须正确理解用户需求所处的环境,并针对性做出需求的分析,举例而言,同样一个软件通过ASP租用方式发布和通过License方式发布,性能需求可能就是有区别的,前者强调的是更好的支撑能力和稳定性,而后者则可能更强调在各种平台下的普适性和安 装使用的简捷性。
第二,项目设计方法和流程处理能力
程序设计者必须能够掌握不少于两到三种的项目设计方法(比如自顶至下的设计方法,比 如快速原型法等等),并能够根据项目需求和资源搭配来选择合适的设计方法进行项目的 整体设计。
设计方法上选择不当,就会耽误研发周期,浪费研发资源,甚至影响研发效果。
一个程序设计者还需要把很多功夫用在流程图的设计和处理上,他需要做数据流图以确立 数据词典;他需要加工逻辑流图以形成整体的系统处理流程。
一个流程有问题的系统,就算代码多漂亮,每个模块多精致,也不会成为一个好的系统。 当然,做好流程分析并选择好项目设计方法,都需要在需求分析能力上具有足够的把 握。
第三,复用设计和模块化分解能力
这个似乎又是老调重谈,前面基本素质上不是已经说明了这个问题吗?
作为一个从事模块任务的程序员,他需要对他所面对的特定功能模块的复用性进行考虑,而作为一个系统分析人员,他要面对的问题复杂的多,需要对整体系统按照一种模块化的分析能力分解为很多可复用的功能模块和函数,并针对每一模块形成一个独立的设计需求。举个例子,好比是汽车生产,最早每辆汽车都是独立安装的,每个部件都是量身定做的,但是后来不一样了,机器化大生产了,一个汽车厂开始通过流水线来生产汽车,独立部件开始具有一定的复用性,在后来标准化成为大趋势,不同型号,品牌甚至不同厂商的汽车部件也可以进行方便的换装和升级,这时候,汽车生产的效率达到最大化。软件工程也是同样的道理,一个成熟的软件行业,在一些相关项目和系统中,不同的部件是可以随意换装的,比如微软的许多桌面软件,在很多 *** 作模块(如打开文件,保存文件等等)都是复用的同一套功能模块,而这些接口又通过一些类库提供给了桌面应用程序开发者方便 挂接,这就是复用化的模块设计明显的一个佐证。
将一个大型的,错综复杂的应用系统分解成一些相对独立的,具有高度复用性的,并能仅 仅依靠几个参数完成数据联系的模块组合,是作为高级程序员和系统分析员一项最重要的 工作,合适的项目设计方法,清晰的流程图,是实现这一目标的重要保证。
第四,整体项目评估能力
作为系统设计人员,必须能够从全局出发,对项目又整体的清醒认识,比如公司的资源配置是否合理和到位,比如工程进度安排是否能最大化体现效率又不至于无法按期完成。评估项目整体和各个模块的工作量,评估项目所需的资源,评估项目可能遇到的困难,都需要大量的经验积累,换言之,这是一种不断总结的累计才能达到的境界。在西方一些软件系统设计的带头人都是很年长的,比如4,50岁,甚至更老,他们在编码方面已经远远不如年轻人那样活络,但是就项目评估而言,他们几十年的经验积累就是最重要和宝贵的财富。中国缺这么一代程序员,主要还不是缺那种年纪的程序员,而是那种年纪的程序员基本上都是研究单位作出来的,都不是从专业的产品化软件研发作出来的,他们没有能积累 那种产品化研发的经验,这也是没有办法的事情。
程序员应具备的素质下
第五,团队组织管理能力
完成一个项目工程,需要团队的齐心协力,作为项目设计者或研发的主管人,就应当有能 力最大化发挥团队的整体力量,技术管理由于其专业性质,不大同于一般的人事管理,因 为这里面设计了一些技术性的指标和因素。
首先是工作的量化,没有量化就很难做到合适的绩效考核,而程序量化又不是简单的代码 行数可以计算的,因此要求技术管理人员需要能真正评估一个模块的复杂性和工作量。
其次是对团队协作模式的调整,一般而言,程序开发的协作通常分为小组进行,小组有主 程序员方式的,也有民主方式的,根据程序员之间的能力水平差距,以及根据项目研发的 需求,选择合适的组队方式,并能将责权和成员的工作任务紧密结合,这样才能最大发挥 组队的效率。
一个代码水平高的人,未必能成为一个合格的项目研发主管,这方面的能力欠缺往往是容 易被忽视的。
综上可以看到,作为一个主管研发的负责人,一个项目设计者,所需要具备的素质和能力并不是程序代码编写的能力,当然一般情况下,一个程序员通过不断的总结提高达到了这种素质的时候,他所具有的代码编写能力也已经相当不简单了,但是请注意这里面的因果关系,一个高水平的项目设计者通常已经是代码编写相当优秀的人了,但是并不是一个代码相当优秀的程序员就可以胜任项目设计的工作,这里面存在的也不是智商和课本的问题,还是在于一个程序员在积累经验,逐步提升的时候没有意识到应当思考哪方面的东西,没有有意识的就项目的组织和复用设计进行揣摩,没有经常性的文档习惯和总结习 惯,不改变这些,我们的合格的项目设计者还是非常欠缺。
另外,为防止有无聊的人和我较真,补充一点,本文针对目标是作商业化的软件项目和工程,那些科研机构的编程高手,比如算法高手,比如图象处理高手,他们的工作是研究课题而非直接完成商业软件(当然最终间接成为商业产品,比如微软研究院在作的研究课题),因此他们强调的素质可能是另外的东西,这些人(专家),并不能说是程序员,不 能用程序员的标准去衡量。
最后补充一点东西,一个软件项目研发的设计流程是怎样的呢?以通常标准的设计方法为 例,(不过笔者喜欢快速原型法)。
第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户 *** 作手 册。
用户视图是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多 *** 作方面的流程和条件。
数据词典是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成 了一半多。
用户 *** 作手册是指明了 *** 作流程的说明书。
请注意,用户 *** 作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成 这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺 序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或 公司市场部门)能够有真正的沟通和了解。
第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。
第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把具体的模块以最’干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有!
第六个步骤是测试
测试有很多种:
按照测试执行方,可以分为内部测试和外部测试
按照测试范围,可以分为模块测试和整体联调
按照测试条件,可以分为正常 *** 作情况测试和异常情况测试
按照测试的输入范围,可以分为全覆盖测试和抽样测试
以上都很好理解,不再解释。
总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外 部测试都是正常的,因为永远都会又不可预料的问题存在。
完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少 不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,知道这个软件被彻底淘汰为止。
写这些步骤算不上卖弄什么,因为实话讲我手边是一本《软件工程》,在大学里这是计算机专业的必修课程,但是我知道很多程序员似乎从来都只是热衷于什么《30天精通VC》之类的,他们有些和我一样游击队出身,没有正规学过这个专业,还有一些则早就在混够学 分后就把这些真正有用的东西还给了老师。
网上现在也很浮躁,一些coding fans乱嚷嚷,混淆视听,实际上真正的技术专家很少在网上乱发帖子的,如笔者这样不知天高地厚的,其实实在是算不上什么高手,只不过看不惯这种对技术,对程序员的误解和胡说,只好挺身而出,做拨乱反正之言,也希望那些还 沉迷于一些错误人士的coding fans们能认真想想,走到正途上,毕竟那些聪明的头脑还 远远没有发挥应有的价值。
古往今来之成大事业者,必经过三种境界。“昨夜西风凋碧树。独上高楼,望尽天涯路”乃第一境。“衣带渐宽终不悔,为伊消得人憔悴”此第二境也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”为第三境界。千百劳作,终有所成,这是何等的喜出望外,但又恰恰属于情理之中!在位于北京大学附近的百度总部,李彦宏(英文名Robin)追忆人生点滴———人们只看到百度上市成功后的李彦宏,却很少有人注意到,李彦宏在美国工作最得意之时,毅然放弃外国公司丰厚待遇和期权,回国创立了百度。他是一个一直都很成功、并且能不断否定自己的成功从而获得更大成功的人。
北大骄子
“我心理上比较稳定,越是大的场合发挥就越好。在高考的时候,通过正常发挥我应该是能考上北京大学,但不一定拿第一(他以山西阳泉全市第一名的成绩考上北京大学)。”
1968年,李彦宏出生在山西阳泉一个普通的家庭。“小学的时候,考过戏剧学院,后来放弃了。现在觉得放弃也挺好,技术能带来更大的影响力。”李彦宏回忆。年少时着迷过戏曲,曾被山西阳泉晋剧团录取。但中学时代,李彦宏回归“主业”,全身心投入功课学习中。
1987年,勤奋、刻苦的李彦宏以阳泉市第一名的成绩考上了北京大学图书情报专业。“北大自由的学术氛围,为我形成独立思考能力提供了很大的帮助。”李彦宏说。不过,身处象牙塔,几多欢乐,几多愁。他离开阳泉迈进中国最高学府的激动心情,渐渐被图书情报学的枯燥、乏味消融。规划未来人生道路变得迫切。“那时候,中国的氛围较为沉闷,大学毕业进入机关单位,已经是非常好的选择了。在我看来,选择出国是一条自然而然的道路。”
“我是一个非常专注的人,一旦认定方向就不会改变,直到把它做好。”从大三开始,李彦宏心无旁骛,买来托福、GRE等书狂啃,过着“教室-图书馆-宿舍”三点一线的生活,目标是留学美国,方向锁定在计算机专业。
留学美国
“我出国不是一帆风顺。因为换专业,刚到美国学计算机,很多功课一开始都跟不上。有时和教授面谈时,由于较心急,谈一些自己不是很了解的领域,结果那些教授就觉得我不行。”
1991年,李彦宏再一次挤过了独木桥,收到美国布法罗纽约州立大学计算机系的录取通知书。正值圣诞节,23岁的李彦宏背着行囊,穿云破雾,踏上了人生的第二次征程。
美国布法罗纽约州立大学一年有6个月飘着雪。在这里,他忍受过夜晚彻骨的冰冷。白天上课,晚上补习英语,编写程序,经常忙碌到凌晨两点。在这里,他经历过中国留学生初来乍到的所有困苦。“现在回想起来,觉得当时挺苦的,但年轻就应该吃苦。”李彦宏评价这段经历。
“世间总有公道,付出总有回报”。李彦宏骨子里有着勤奋、坚韧、执着的精神,这使得他的专业技能得到飞速进步。在学校呆了一年后,李彦宏顺利进入日本松下实习。“这三个多月的实习,对我后来职业道路的选择起了至关重要的作用。”李彦宏说。
驰骋硅谷
“硅谷给予我最大的感触是,希望通过技术改变世界,改变生活。”
1994年暑假前,李彦宏收到华尔街一家公司———道·琼斯子公司的聘书。“在实习结束后,研究成果得到这一领域最权威人物的赏识,相关论文发表在该行业最权威的刊物上,这对以后的博士论文也很有帮助。”李彦宏说:“但那时候,中国留学生中有一股风气,就是读博士的学生一旦找到工作就放弃学业。起先,我认为自己不会这样。但这家公司老板也是个技术专家,他对我的研究非常赏识。两人大有相见恨晚的感觉。士为知己者死,于是我决心离开学校,接受这家公司高级顾问的职位。”
在华尔街的三年半时间里,李彦宏每天都跟实时更新的金融新闻打交道,先后担任了道·琼斯子公司高级顾问、《华尔街日报》网络版实时金融信息系统设计人员。
1997年,李彦宏离开了华尔街,前往硅谷著名搜索引擎公司Infoseek(搜信)公司。在硅谷,李彦宏亲见了Infoseek在股市上的无限风光以及后来的惨淡。
1998年,李彦宏在自己撰写的《硅谷商战》中分析总结到:“技术本身不是唯一的决定性因素,商战策略才是决胜千里的关键;要允许失败;让好主意有条件孵化;要容忍有创造性的混乱;要有福同享……”
这些典型的硅谷商战经验,后来被他得心应手地运用到了百度的创业中。
“在人生选择道路上,我好像没有很不顺利的过程,只是面临着一些选择。”李彦宏说。从北大到布法罗到华尔街到硅谷,机遇来临时,李彦宏不失时机地把握住了,这些多年的积累给他日后创建百度打下坚实的根基。
归国创业
“不要问现在加入商战是否太晚,按照现在信息经济的发展速度,谁又能够承担不参战的责任呢?”
李彦宏在海外的8年时间里,中国互联网界正发生着翻天覆地的变化。从1995年起,李彦宏每年要回国进行考察。1999年,李彦宏认定环境成熟,到了该参战的时候了,于是启程回国。
不知是巧合,还是机缘。又是一个圣诞节,李彦宏乘飞机从太平洋的东海岸重新回到了太平洋的西海岸,回到了人生的一个重要起点处———北京大学,悄无声息地开始了创业。李彦宏在北大资源宾馆租了两间房,连同1个财会人员5个技术人员,以及合作伙伴徐勇,8人一行,开始了创建百度公司。
接着,李彦宏开始回美国找钱,本不爱开车的他整天开车在旧金山的风险投资商中游说。最后他顺利融到第一笔风险投资金120万美金,比计划的100万美元还多。在百度成立的9个月之后,风险投资商德丰杰联合IDG又向百度投入了1000万美元。
对于百度为何受风险资本青睐,李彦宏说:“投资者有一种信念,相信百度会越来越好。”事实上,在决定创业时,李彦宏在引擎技术方面,已可以排在全世界前三位。而李彦宏的执着、专注和专业又在业内有口皆碑。加之百度耕植的中国市场潜力巨大。三点因素结合,百度自然对投资者充满了无限诱惑。李彦宏说:“那个时候融资相对容易,但是绝大部分企业还是融不到资。我们选到的这些投资人应该说是非常优秀的,非常能够看到长远目标。”
如今,百度已走过5年的时光,其间不乏惊心动魄风云变幻———激烈的董事会争辩,合作伙伴徐勇的退出,商场无情的竞争等重重挑战,都在不时地考验和冲击着李彦宏。但李彦宏一直保持淡定、从容,随着资本不断增加,技术的不断成熟,百度有了一日千里的快速发展。2002年百度搜索引擎技术真正成熟。2003年百度流量比上一年增加了7倍。2004年百度品牌得到网民的广泛认可。2005年百度成功上市。
成功后的道路怎么走?记者问。
“用技术改变生活,仍是我不变的信念。上市只是成功刚刚开始,真正的挑战还在后面。”李彦宏回答。
李彦宏背后的女人
“彦宏,我爱你,好想嫁给你。”类似这种也许是开玩笑的话,常会贴在百度的李彦宏贴吧上。有人甚至讨论他的五官哪个部位长得最好:“如非要选一个的话,还是嘴巴,像罗嘉良的。”
“英俊、成功、才华出众”,有企业家的气魄,成熟男人的魅力,学者的儒雅、淡定和从容。这样的男人,让一些女士感慨:教人如何不爱他———
只可惜,他结婚了。
李彦宏属于“闪婚”一族,他与妻子只相识6个月就结了婚,如今已生有一个女儿。李彦宏和妻子马东敏是在一次中国留学生聚会中认识的。马东敏毕业于中国科技大学少年班,两人认识时,她正在美国新泽西州大学生物系攻读博士学位。
李彦宏说:“太太对我影响非常大。她是个急性子,做出决定马上会行动,而我属于慢性子,考虑周到了才去做。我们的性格是互补的。我回国创业前在硅谷当工程师,觉得种种花草也挺开心。但我太太鼓励我去加入公司。而那时候我希望做得更大些,并由自己去控制方向。因此,回国创业是最合适的选择。但这对她是一种挑战,一般出国的女孩子都更喜欢国外的环境。但为了我的事业,她毅然回国支持我,这是很不容易的。”
“回国创业的海归中,离婚率是很高的。但是,现在我太太和孩子都回国了。”说到这儿,李彦宏笑了笑,清秀英俊的脸庞流露出无限温馨与幸福。
《京华时报》(2005年09月12日B35版)
百度上市不靠业绩靠预期
本报记者 张见悦
8月5日,中文搜索百度登陆美国纳斯达克,当天,股价上涨354%,开创纳市5年来新股首日增幅之最。“百度靠的不是过去的业绩,而是投资者对中国搜索市场的未来预期!”9月8日,在上市一个月之后,百度总裁兼CEO李彦宏这样向记者总结。“从上市当天到现在,我每天几乎都在忙着接受媒体的采访,该是回到正常工作的时候了!”在中文搜索市场上,外有Google、微软、雅虎,内有阿里巴巴、搜狐、新浪,如何与这些大小巨头争食,做大自己的收入规模,已经成为鲜花丛中的李彦宏需要面对的问题。
Wedoit!(我们做到了!)
“发行价最终定价:27美元每股!”美国时间8月4日晚,在经过3次提价之后,李彦宏和百度上市承销商团队最终确定了这个价格。
在此前的两个星期里,李彦宏一行从香港出发,辗转新加坡、英国、美国,向各地的投资机构讲解百度的故事,投资商们的热情显然超出了李彦宏的意料。“原定90多人的早餐会,来了140人,许多掌握数十亿美元的基金经理就靠墙站着听。”
应对投资热情最好的方式就是提价,于是,原定17到19美元的发行价格区间,变成了19到20,再变成23到25,最后确定为27美元。
“确定了最后发行价格,上市工作基本上算告一段落,剩下的就是走程序了。”从头到尾跟着李彦宏路演的百度首席财务官王湛生回忆:“这个时候,李彦宏拿出手机拨通了守在百度北京大本营里等候消息的首席技术官刘建国的电话。”
“Wedoit!(我们做到了!)”接通了电话的李彦宏说完这一句话,眼泪刷刷直下,哽咽着说不出话。“那时候,突然对员工们多年来的辛勤工作非常的感动,所以流泪了!”事后,李彦宏解释。
第二天上午,百度股票正式在纳斯达克挂牌交易。11点20分,第一笔交易完成,成交价格是每股72美元。而这只是开始,百度的股价继续一路上升,100美元、120美元、150美元的价位被一一突破,整个纳斯达克股市沸腾了。自从2000年网络泡沫破灭之后,这样的股市神话就再没出现过。
“看到股价的时候我没有流泪!”李彦宏回忆说。事实上,李彦宏也没有时间感慨了。第一笔交易完成半个小时后,他便被CNBC(美国国家广播公司)请进了摄影棚,之后美国各大新闻机构轮番采访,一直到下午纳市收盘。这个时候李彦宏才注意到,百度公司市值已经比前一天晚上增加了35倍,达到40亿美元,成为纳市第一中国概念股。
“附属业务”成就百度
百度公司是在1999年底注册的。起名字的时候,李彦宏罗列了三条规则:要代表中国的文化;要跟搜索有关又不能够太直白;要简单,中国人能听懂。“几个条件综合起来,让我想到了辛弃疾的那句‘众里寻他千百度’。”
2000年初,李彦宏在母校北大资源楼的两个小房间里开始了创业,定位是搜索技术,业务是为其他网络企业提供中文搜索技术服务———这是李彦宏从风险投资商手里拿到首期120万美元投资的“概念”。很快,包括新浪、网易在内的国内主要门户网站陆续用上了百度的技术,百度借此收取一定数额的技术服务费。
“我们很快占据了中文搜索技术服务市场的绝对领先地位,可是我们依然没有盈利,这样的业务模式显然是有问题的!”李彦宏很快觉察到了这个关键问题。于是,在原来的技术服务业务之外,李彦宏开始开辟百度的“附属业务”———建立一个搜索门户让网民使用,然后以竞价排名的方式卖关键词,谁的出价越高,谁家的信息在搜索结果中便越靠前。
到了2002年初,李彦宏将力量集中用在打磨自己的中文搜索引擎上。2003年第二季度,在快速增长的竞价排名收入支撑下,百度实现了盈利。2005年7月发布的上市招股书数据显示,目前百度的收入中,超过90%来自所谓的网络推广,也就是竞价排名的收入,而原本的“主业”搜索软件服务收入仅占了7%。昔日的“附属业务”成就了今天的百度。
多年对手关系微妙
当百度的股价在纳斯达克上一路飙升的时候,几乎所有的业界评论家都认为,这和先期上市的全球搜索巨头Google的卓越表现分不开。Google和百度,一个是全球最大的搜索引擎,一个是全球最大的中文搜索引擎。双方是中国搜索市场最强劲的两个对手,但同时Google又是百度的股东之一。这样的微妙关系,在互联网界找不到第二对。多年以来,李彦宏一直巧妙地主导了这种关系,导演了一幕幕与Google之间难辨真假的“感情戏”。
1999年底,当李彦宏回归创办百度的时候,Google已经在美国小有名气。2002年初,当李彦宏将百度业务集中到建立推广中文搜索门户的时候,Google中文搜索已经开通一年多,成为大多数中国网民搜索资料的首选。“对着市场老大打,打不赢也能挣点名声!”这个在IT产业被广泛认可的市场手法,同样被李彦宏付诸实践。
2004年6月,百度突然宣布,在新一轮融资中,新股东包括Google。从此,李彦宏开始了与Google一年多的“暧昧”关系,这个时候,Google刚刚上市,股价持续上涨,开始筹办百度上市的李彦宏用心将百度塑造成“中国Google”的概念。“和投资商沟通的时候显得相当容易,因为前面已经有个现成的Google!”百度首席财务官王湛生介绍。更重要的是,大批看好Google模式的投资商理所当然地同样看好百度,巨额资金涌向这只盘子极小的新股,百度上市当天的暴涨神话因此出现。
上市前一个月,李彦宏开始逐步调整策略,宣布百度拒绝Google收购,坚持独立发展。上市之后,李彦宏进一步与Google划清界限。“百度不仅是最大的中文搜索引擎,还是最大的中国网站,如果不能够控制在中国人手中的话,我觉得可以说是一个民族的悲哀。”李彦宏说。
未来将与诸多对手争食
8月24日,百度发布上市后首个季度财报,今年第二季度,百度净利润为150万美元,当天百度股价收盘于82美元。按此数据折算,百度的市盈率为410,而其他中国概念股的市盈率基本上仅为20上下。如何尽快提高百度的盈利规模,成为李彦宏最迫切的任务。
“中国十几亿人口中,只有1亿网民;2000万中小企业中,大多数企业主对网络推广的认识依然不深,中国市场潜力非常巨大。”李彦宏表示,百度的未来寄希望于中国搜索市场的放大。据第三方统计机构iRe鄄search(艾瑞)《2004中国搜索引擎研究报告》统计,2004年度百度以3629%的用户占有率占据中国内地搜索引擎市场第一位,中国市场的放大,受益最大的便是百度。然而,这显然已经不是一件能够坐享其成的美事。
9月10日,阿里巴巴主办的第五届西湖论剑在杭州召开,原定参会的李彦宏因为“实在太忙”最终缺席。实际上,不愿意为马云这个新对手捧场,或许更能说明这次临时爽约———在百度上市之后不到一周,阿里巴巴宣布合并雅虎中国,重点进攻中文搜索市场。
在中文搜索这个市场上,外有雅虎、Google,内有阿里巴巴、搜狐、新浪,对于这块正在放大的蛋糕,李彦宏要想多分一块,都将面临激烈的争抢。
《京华时报》(2005年09月12日B34版)
大考总能超常发挥(记者手记)
本报记者 张见悦
当李彦宏从纽约归来,走出首都机场时,疲惫的眼神一下子变得有些惊讶:五六捆鲜花、十几个镜头一下子围了上来。登陆美国纳斯达克股市的中国企业已经20多家了,这样的凯旋场面估计还是第一次。当然,上市第一天股价便狂涨350%的公司也只有百度一家。
从百度股票完成第一笔交易之后半个小时开始,一个多月来,李彦宏每天几乎都在忙着“出镜”,收到的鲜花和掌声估计已经超过过去创业5年来的总和。
“是该恢复到正常工作的时候了!”9月8日,李彦宏这样向记者感叹。高高在上的股票在给百度和李彦宏,甚至给整个中国互联网产业带来荣耀的同时,也给李彦宏带来了不小的压力———毕竟百度的收入规模依然相当弱小,再热情的投资人也不可能让高达数百倍的市盈率长时间维持下去,答案有两个:要么李彦宏把百度的收入提上去,要么股民把百度的股票拉下来。
李彦宏说,每逢关键的“大考”,他总能超常发挥,从高考到申请国外留学,再到此次百度上市,每一次的发挥都要比平常的表现好。李彦宏的下一次“大考”时间在明年初,那个时候,绝大部分的百度员工手中的股票才可以出售,百度股票的高低,将直接决定他们的真实身价。
《京华时报》(2005年09月12日B33版)
参考资料:
以上就是关于北京java培训分享哪几类人最适合做Java程序员全部的内容,包括:北京java培训分享哪几类人最适合做Java程序员、如果选择当一名程序员咋样、初级程序员成为高级程序员都有哪些方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)