`
zcz123
  • 浏览: 157273 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类

学习别人的经验

阅读更多

blog已经快两年了,起初仅仅是为了自己“备个案”,结果慢慢演变成为了“分享成瘾”。前几天一个朋友给我的blog留言,谈到希望在新年里能够看到的不仅仅是我对技术的分享,更希望能够看到对于技术学习、职业发展的规划。因此想到了写一点什么分享一下自己这些年的一点点“收获”,周星驰的喜剧之王里面说到他是一个演员(虽然被叫做跑龙套的),我想我,就一个写代码的。

 

爱这行

       从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破。这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业的一种热情,就很难在困境中保持一种执着的态度坚持到底。

 

踏踏实实“扎马步”

       今天无意中看了“校长”的“程序员&司机”,其中谈到了关于程序员速成的问题。其实速成班毕业的 “系统杀手”早已在遍布大江南北,只是在互联网时代,互联网的应用型软件生命周期越来越短,业务驱动主导的情况下,这种速成方式看起来反而提高了企业生产效率。但这样的人才也就只能写几个Facebook上的插件应用或者iGoogle上的Gadget,真的要出GoogleAmazonYahoo改变互联网世界的企业,还是需要踏踏实实先学“扎马步”的人。

       很多在学校的同学或者刚刚毕业的朋友都看什么热门学什么,SpringAJAXHibernate等等,又有多少人在看Spring之前把J2SENIOXMLCollection等先好好学习一下,在看AJAX之前把Http协议、DTDXML Schema好好看一下,在学习Hibernate以前先把J2EE事务规范搞清楚。Java最大的好处就是开源,能够让人们站在更高的起点来作出更多的创新,但是对于学习者来说,不了解自己站在什么上面的时候,可能摔下来会很痛。在用的时候多问一些为什么,在遇到问题的时候多找找原因,在了解以后多提出一些优化的方案,这样才会进步的更快,走的更远。

       记得我前一阵子回家的时候和妈妈聊起最近的工作,虽然妈妈不太明白,但是也知道我现在做的东西技术含量比较高,嘱咐我“千万不要什么都教给自己的同事,徒弟带出就不要师傅了”(这当然是老一辈的观念了)。我和她说:“不要担心,这种学的会的不教迟早也会,学不会的教了也学不会”。其实这里说的学的会的就是技术,而学不会的就是经验和能力。这个行业的人在日积月累过程中并不会去比较掌握的知识面有多广多深,毕竟这行业更新很快,其实能力强的人在多年的学习中就积累了很多的找问题,分析问题,总结问题,提出建议,发掘创新的能力,这些才是这行业人在发展中最宝贵的财富,也是一个人成长的标志。开始的过程中,踏踏实实地“扎马步”,了解一些最基本的知识,那么上层技术的发展对于他来说仅仅只是一个短暂的学习过程,甚至可以触类旁通。因此还是要奉劝每一个新入行的同学,踏踏实实,静下心来做技术,就算工作安排得都是一些浮躁和重复的工作,用高效的方式来结束那些重复劳动,多留一些时间给自己打基础。

 

逆境养兵、顺境攻城掠地

       普通人的工作经历通常都是起伏不定的,一个人的能力是否能够得到体现,不仅仅靠自己的努力,有时候也需要“天时”、“地利”。马云比较有名的一句话:“今天很残酷,明天更残酷,后天很美好,但是大多数人死在明天晚上,看不到后天的太阳!!!”,其实也在说明一件事,就是很多时候需要一种坚持的精神才能得到宝贵的机会。

今天是我进入阿里巴巴满3年,这3年让我感触很深的是:1.逆境不要气馁,厚积薄发。2.顺境不要懈怠,一股作气,把握机会展现自己最大的能力。3.在逆境和顺境的转换过程中,创造机会,不要坐等机会,要学会不在其位,也谋其职。最后一点就拿我自己的亲身经历来说,我原来就职于一家通信公司,因此对于互联网应用的开发和架构设计要比很多人弱,进入阿里巴巴以后工作了半年(主要作业务开发),正好阿里软件创立,当时被分配到了阿里软件第一个产品负责客户模块,当时的应用是通过MDA框架配置搭建的,开发人员很大程度上不需要自己做太多的编码,但是这个平台并没有搭建过如此复杂的大型应用,因此存在着不少问题,当然这些问题都是通过业务产品线的人反馈给平台部的人,当时平台部门人员很少,但是却要修复和完善诺大一个平台,因此常常搁置开发人员的反馈。当时在自己工作之余就琢磨和研究平台,同时跟踪调试平台,最后直接给出解决方案,逐渐的就融入到了平台开发中,最后被吸收到了平台部门,进入平台部门以后遇到了两位很好的老大,根据我的特质给我安排了研究和学习的工作。接下去就是不断地参与阿里软件各个基础平台的构建,核心技术的研究和探索,找到了兴趣和工作的最佳结合点。因此,当你困惑的时候首先不是去抱怨,而是审视一下自己是否还有作的不够的,是否还有可以提升的空间,多给自己制造一些机会,也许我们不用等到后天,也不会死在明天夜里,明天早晨我们就看到了太阳。

 

海纳百川、冰冻三尺

       很多朋友可能听老师或者前辈也说过类似的话,就是作为一个技术人员要广也要钻。就好比现在很多人都要DB Scale out,同时也要Scale up。我从自己的角度来说一下广和钻的看法。广:1.要有容人之量。(很多时候程序员最大的毛病就是喜欢在技术上比较,未尝不是好事,但是一个人的能力总归有限,多看看别人的,多听听别人的,也许能够让自己少用时间获得更多的收获,特别是自己战友的声音)2.触类旁通,多问个为什么,多跨过界去学习。在阿里巴巴,PDSADBAUI等等职位各司其职,作为开发的我们其实也应该去了解如何去画Use Case,如何假设服务器和应用环境,如何写一些略微复杂的SQL,了解一些DB的特性,如何能够简单的作出一些基础的页面,使用简单的css来美化一下门面。这些就是需要多跨过界,多虚心的去学习。钻:1.本职工作技术一定要扎实,每作一个技术点就要把技术吃透,同时延伸开来,发掘更多的技术亮点。2.多接触新鲜事物,但是有选择的去了解,有目的的去学习和实践(目的的源泉就是工作的需求)。3.学会分享,一个人自己搞懂一个技术很容易,一个人要把他熟悉的技术写下来就会发觉原来自己还有那么多没有搞清楚,一个人如果要把写下来的东西宣讲给别人听,他就会发现,原来写下来的仅仅是那么一小块,因此学会分享,从自己了解,到记录分享,到演讲传播就是一个不断深化和广化的过程。个人觉得小公司锻炼人(啥都自己干),大公司培养人(该干的要干好),因此自己常回头看看自己在广和钻上的不足,可以让自己进步的更快,学的更全面。

 

       学中医积累经验,学西医寻找突破

       中医以对人体经络血脉了解为基础,通过望闻问切来寻找病理根源,行医年限越久,找问题解决问题的经验越强。西医以科学技术为手段,通过试验化的方式不断寻找突破,并且将成果积累并且传递给更多的人,但是否年限越久越有能力,或者是使用得器材越广越资深,这点全要看个人对于医术的理解,如果仅仅停留在对器械的使用和对成果的依赖,那么只会成为一个庸医。当然这里绝对没有对中西医的差别化或者评价,仅仅要说明的是,在手段丰富的情况下,容易忽视了本质,只看到了皮毛,积累的时候多一些追根溯源,站在别人的成果上才更踏实,因此在对经验积累上向中医多学一些,在寻找突破,传播技术上多学一点西医的风格。不过说到低,还是要看学习的人,静的下心,沉得住气,才会有积累,才会有突破。

 

 

不做一个纯粹的“技术人员”

       不做一个纯粹的“技术人员”,其实也就是说要培养自己多方面的能力,我仅仅把自己想到的一些点列出来说说:

1.  项目产品化的思想。现在就算在学校里面给导师作项目都讲究一个商业价值,更不要说在企业里工作。作为一个开发或者架构师最重要的就是要有产品化的概念,这也是项目是否成功的关键。软件的目的是为人服务,如何服务的好,那就要以一个产品的思路去做项目,而不是作为实验室的实验品,为客户提供好服务就会给公司带来商业价值,对自己的工作也会有很好的肯定。这是一个良性循环,反之则是恶性循环(多赢变成多输)。如何做到产品化,首先就是需要去了解需求,而不是布置需求,其次就是设计时多听取一些不同角色的意见,最后就是在客户的反馈过程中反省。

2.  多一些设计,少砌两块砖。代码写的再好,其实也只是用砖块砌墙砌的比较好罢了,这年代已经不会为了节省两块砖而给一个优秀工作者了,同时技术的日新月异,总是摆弄技巧,学习花拳绣腿已经跟不上时代了。多了解一些行业背景,多参与一些架构设计,将业务设计用良好的架构体系来实现,那才是一个称得上有能力的技术人员。

3.  学会前瞻,学会自己找事。记得我刚进平台组,最不适应的就是我的老大基本不太给我布置太详细的任务,这就好比进入大学,老师不给作业,自己反而心里没底了,其实自己找事的过程就是一个自己学习的过程,当我一天下来感觉没干什么,没学到什么,心里就开始发虚。如何能够前瞻性的去选择一些目标,如何对现有情况提出一些创新和建议,都是一种更高能力的要求。现在SIP组也是一样,在我们这个组里虽然现在每周还是布置一定工作,但是我对其他两个同学的要求也是希望能够有前瞻性,学会发现问题,预防问题,更甚者就是提出创新。当你具备了这种环境的时候,你就需要锻炼自己的能力了。

4.  做个让老大放心的人。这点也许很多人和我一样在业务上很早就让老大觉得可以安心睡觉了,但是其实另一方面,如何在商业角度看问题,如何培养新人,如何协调部门合作等等,都会让你的老大更加安心。另一方面来看,其实在这些能力的培养过程中,你不再局限于业务水平的提升,让自己在更多方面更加成熟。

 

六脉神剑

       今天是我进入阿里巴巴3年整。在阿里巴巴有个说法,只有在阿里巴巴工作了3年,才能算是一个真正的阿里人,因为理解阿里巴巴的文化,需要三年时间的沉淀。这里就从一个写代码的角度分享一下阿里巴巴的六脉神剑文化。

客户第一:如果你是做架构的,作平台的,作开发工具的,那么客户就是和自己一样的开发者,多学习一下开源项目的精神,多从使用者角度去考虑问题,那么你的东西才会被更多的人认可和使用,永远不要去做一个“玩具”的开发者。如果你是做产品的,那么就多听,多想,多问,永远不要急着去写代码。

 

拥抱变化:敏捷开发的基本原则。互联网应用尤其如此,不要害怕变化,在需求和架构之间找到平衡点(说起来比较容易^_^)。

 

团队合作:一个人的力量始终有限,分享,交流,合作能够让自己事半功倍,学的更多,看得更远。

 

诚信:说到就要做到,做了就要做好,做软件开发一样也需要有责任感,贴满狗皮膏药的代码上如果注释是你的名字未来也会给你蒙羞。踏踏实实地用心去写代码,去设计架构,不经意间得到的要远远比那么一点工资来的多。

 

激情:还是那句话,你如果不爱这行,乘着年轻赶快转行。

 

敬业:专业执着,精益求精

 

很感谢各位能看完这篇感受分享,以上都仅仅是个人的一点感受,能够引起共鸣那么证明我们的经历很相似,如果能够给到你一点帮助,那写这些就真的有意义了。不论你在别人眼里是一个资深架构师还是开发人员,其实如果你爱这个行业的话,你应该就是一个写代码的,但是每个人的经历都是一本“写代码的自我修养”,珍惜自己的选择,让自己在兴趣和工作中找到最佳结合点。

分享到:
评论

相关推荐

    ocp学习经验总结(ITPUB)

    2. **坚强的毅力**:学习过程可能会很艰难,需要付出比他人更多的努力,比如当别人休闲娱乐时,你需要投入时间进行学习和实践。 3. **正确的方法**:选择适合自己的学习路径,可以是在线文档、官方教材或是其他作者...

    网络工程师学习经验,好东西

    以下是对网络工程师学习经验的一些关键点的详细解析: 1. **找准方向,兴趣为先**:选择自己感兴趣的网络领域进行学习至关重要。网络工程包括了网络设计、网络安全、网络管理等多个方向,明确自己的兴趣点可以增加...

    全球标杆学习的趋势.doc

    4. 了解:学习他人经验,增进自我认识,以提升竞争力。 5. 经济价值的优势:学习能为企业创造显著的经济价值。 6. 他人的经验:借鉴他山之石,促进自身成长。 7. 创新理论:学习可以推动新知识的产生,增强创新能力...

    学习ANSYS经验总结

    向老师或有经验的同行请教时,要确保自己已经进行了充分的探索,这样可以更有效地利用他人的指导。 总的来说,学习ANSYS需要理论与实践的双重修炼,不断巩固力学知识,熟练掌握软件操作,并通过实际问题的解决积累...

    嵌入式系统学习经验 嵌入式系统学习经验

    以下是一些关于如何有效学习嵌入式系统的建议,这些经验对于初学者尤其有价值: 首先,避免过分依赖代码示例。当你遇到问题时,应先尝试自己思考解决方案,而不是立刻求助于他人。这将有助于你理解问题的本质和背后...

    C++学习经验 C++学习经验

    在学习的过程中,参与社区讨论,如“编城网”这样的初学者论坛,可以获取及时的帮助,与他人交流经验,也能更好地理解他人解决问题的方法,这对于个人的成长非常有益。遇到困难时,不要急于求成,而是要耐心思考,...

    安卓开发经验谈

    这些活动的举办对安卓开发者来说,是一个展示自己、学习他人经验、扩大社交圈子的良好机会。 综合上述内容,可以看出安卓开发经验谈涉及的知识面很广,从技术到职场,都为安卓开发者提供了宝贵的经验和指导。学习和...

    小学教师个人学习总结.pdf

    8. 学习他人经验:新教师应多向有经验的教师学习,参加教学研讨活动,听取公开课,吸取他人优点,不断改进自己的教学方法。 9. 自我反思与成长:教师需要定期进行工作总结,反思自己的教学过程,找出不足,以便持续...

    微软MCSE+MCDBA远程学习经验谈.docx

    5. 学习经验的交流:学习经验的交流是非常重要的,同学们可以通过与他人交流学习经验,提高自己的职业技能和竞争力。 相关文献: 1. 《从日本经验谈终身学习和远程教育新趋势》:该文献讨论了日本的远程教育经验和...

    教师政治学习内容材料.doc

    3. 学习他人经验:教师要向身边的优秀教师学习,借鉴他们的教育经验和管理技巧,同时反思自己的教学实践,不断改进和提升。 总之,教师的政治学习不仅是提升个人素质的过程,也是为培养有道德、有文化的新一代做出...

    小学英语教学经验交流PPT学习教案.pptx

    这份小学英语教学经验交流PPT提供了宝贵的教案设计和课堂管理策略,旨在提升教学质量,激发学生的学习积极性。 首先,课堂设计是教学的核心环节。备教材是教学准备的基础,教师需要在上课前预览教材,熟悉内容,...

    英语学习经验谈2009

    学习英语不应孤立,与他人分享经验和难题,可以激发学习动力,互相激励。可以通过线上论坛、学习小组或语言交换活动,找到伙伴一起进步。同时,定期回顾和反思自己的学习进度,调整策略,保持持续的学习热情。 总之...

    C 语言学习经验集合C 语言学习经验集合[评价可免费]

    同时,参与开源项目,阅读他人的代码,以及在论坛上交流问题,都能加速学习进程。 最后,不断挑战自己,编写更大的项目,如操作系统内核、游戏引擎等,将理论知识应用于实践,是成为C语言高手的必经之路。记住,...

    人教道德与法治七年级上册件PPT学习教案.pptx

    最后,PPT提供了应对挫折的方法,如理智分析问题、寻求帮助、学习他人经验等,并设置了课后练习题来巩固所学知识。通过历史故事的学习,学生可以从中汲取面对挫折时自强不息的精神,增强自身应对挫折的能力。 总之...

    学习经验交流会策划活动总结.doc

    同时,同学们积极参与提问,针对学习和生活中的困惑,学长学姐们给出了实用的建议和解答,强调了向他人请教的重要性,因为他们的经验可以帮助我们避免重复错误,更快地找到正确的道路。 活动中穿插的游戏环节,如10...

    VC++.Net学习经验谈

    这篇文章将分享一些关于如何有效学习VC++.Net的经验和技巧。 一、基础知识的积累 在深入学习VC++.Net之前,确保你已经掌握了基础的C++语言知识,包括语法、数据类型、控制结构(如循环和条件语句)、函数等。此外,...

    关于VC学习经验总结

    本文将基于“关于VC学习经验总结”的主题,深入探讨VC学习过程中的关键知识点,帮助初学者更好地理解和掌握这个强大的工具。 首先,要理解VC的基础知识。VC不仅仅是C++编译器,它还包括了MSVC(Microsoft Visual ...

    从杜威“经验”理论看深度学习的发生.pdf

    在深度学习的过程中,学生不是被动地接受知识,而是通过与知识、环境和他人的互动,主动参与学习,将知识转化为自己的内在力量和精神财富。 杜威的“经验”理论在教育学中具有重要地位,他提出的概念对于理解深度...

    Java程序员的指点迷津的经验—— 学习之路,不走弯路,就是捷径

    总之,成为一个成功的Java程序员,需要兴趣引导,正确选择语言,脚踏实地学习,积极实践并善于借鉴他人。记住,编程不仅是技术,更是创造和解决问题的艺术。只有不断探索、不断尝试,才能在Java的世界里游刃有余。

    学生学习经验交流发言稿.docx

    这种互动不仅能增进友谊,也能通过比较和借鉴他人的成功经验,激发自己的学习潜能。 最后,我们要懂得合理安排时间。时间管理是学习中的核心环节。在有限的时间内高效学习,是应对考试的关键。我建议大家在日常生活...

Global site tag (gtag.js) - Google Analytics