it工作个人心得
通过这一系列的实习,我想对于我们以后的工作、学习和生活都会是我们宝贵的一笔经验和财富。
通过这短时间的认知实习,我终于对于企业有了新的认知!接触到何为企业文化,如何走好以后的人生之路。IT之路漫漫,任重而道远,我会加油的!
最后,感谢学院给了我们这一次认知实习,让我们有了新的认识自己、体验公司的机会,尤其感谢邵老师和王老师在为我们锻炼学习做出的努力!
it工作个人心得篇2
今年寒假我来到了上海酷扬计算机科技有限公司售后服务部实习,短短1个月的工作过程使我受益匪浅。不仅计算机专业知识增长了,最主要是懂得了如何更好的为人处事。当今社会一直处在加速的发展变化中,所以对人才的要求也越来越高,我们要用发展的眼光看问题,就要不断提高思想认识,完善自我。
师傅说作为一名it从业者,所受的社会压力将比其他行业更加沉重,要学会创新求变,以适应社会的需要。如果是在单位,那就更需要掌握全面的计算机知识,因为小到计算机的组装维修,大到服务器的维护与测试,都需要一个人独立完成。可以说,近1个月的工作使我成长了很多,从中有很多感悟,下面就是我的一点体会:
第一是要真诚:你可以伪装你的面孔你的心,但绝不可以忽略真诚的力量。第一天去服务部实习,心里不可避免的有些疑惑:不知道师傅怎么样,应该去怎么做啊,要去干些什么等等!踏进公司的办公室,只见几个陌生的脸孔用莫名而疑惑的眼神看着我。我微笑着和他们打招呼,尴尬的局面立刻得到了缓解,大家多很友善的微笑欢迎我的到来。
从那天起,我养成了一个习惯,每天早上见到他们都要微笑的说声:“师傅早”,那是我心底真诚的问候。我总觉得,经常有一些细微的东西容易被我们忽略,比如轻轻的一声问候,但它却表达了对老师同事对朋友的尊重关心,也让他人感觉到被重视与被关心。仅仅几天的时间,我就和师傅们打成一片,很好的跟他们交流沟通学习,我想,应该是我的真诚,换得了老师的信任。他们把我当朋友也愿意指导我,愿意分配给我任务。
第二是沟通:要想在短暂的实习时间内,尽可能多的学一些东西,这就需要跟老师有很好的沟通,加深彼此的了解,刚到网络中心,老师并不了解你的工作学习能力,不清楚你会做哪些工作,不清楚你想了解什么样的知识,所以跟老师建立起很好的沟通是很必要的。
同时我觉得这也是我们将来走上社会的一把不可获缺的钥匙。通过沟通了解,师傅我有了大体的了解,一边有针对性的教我一些计算机知识,一边根据我的兴趣给予我更多的指导与帮助,例如我对网络布线,电脑硬件安装,系统、网络或硬件故障排除,工作原理应用等方面比较感兴趣,师傅就让我和他一起完成电脑故障排除工作。在这次的工作中,我真正学到了计算机教科书上所没有的知识,拥有了实践经验,这才真正体现了知识的真正价值,学以致用。
第三是激情与耐心:激情与耐心,就像火与冰,看似两种完全不同的东西,却能碰撞出最美丽的火花。在中心时,老师就跟我说,想做电脑维护这一块,激情与耐心必不可少,在产品更新方面,这一行业就像做新闻工作,不断的在更新,这就需要你有激情去发现与创造,而你的耐心就要用到不断的学习新知识,提高自己的专业水平当中去。
在一些具体的工作当中也是这样,记得刚来公司实习的时候老板安排我学习安装winxp操作系统,我本想这应该是十分简单的事,可没想到出现了很多问题,还是在师傅一步一步的教导下,直到最后才把系统安装成功,用了整整两天的时。通过自己的摸索,调试,自此,我算是真正的弄明白了计算机的硬件安装,维护和更新。
后来我又进行了各种计算机操作系统的反复安装调试,一遍又一遍的调试安装,自然有些烦,但我用我的热情与耐心克服这些困难,师傅也帮我用书面的方式整理了很多关于硬件故障的经验,比如说:我们可以在电脑启动的时候就可以通过声音来判断故障:1短:启动正常,2短:非致命错误,1长1短:显示错误,1长2短:键盘错误;计算机蓝屏的原因有:一、系统重要文件损坏或丢失引起的(包括病毒所致),二、内存超频或不稳定造成的蓝屏,三、硬件的兼容性不好引起的蓝屏,四、硬件散热引起的“蓝屏”故障;
计算机经常死机的原因有:一、系统出现错误包括病毒所致,二、主板的芯片或者其他的零部件损坏,三、显卡接触不良,四、内存接触不良,五、cpu风扇散热不良,六、计算机的电源有问题,七、硬盘出现故障等;
计算机黑屏的原因:一、显示器断电,或显示器数据线接触不良;二、主板没有供电;三、显卡接触不良或损坏;四、cpu接触不良;五、内存条接触不良;六、机器感染cih病毒,bios被破坏性刷新等等。
因为我师傅是硬件方面的工程师,对软件了解可能比较少吧,所以在软件方面的故障我接触的比较少,大多客户都是中病毒引起的,直接重装系统就解决问题了。但是我觉得重装系统实在是耗费太多的时间了,所以我就自学了很多软件方面的知识以完备自己。
在公司里请教师傅,查资料,一个个问题迎刃而解,自己在这方面的知识得到了充实。这些在平常的书本上仅仅是获得感性的认识,而在这里真的实践了,才算是真正的掌握了,也让我认识到了自己的不足,告诫自己,不管做什么,切忌眼高手低,要善于钻研。师傅说对每台计算机都要细心负责,具有基本的专业素养,因为细心负责是做好每一件事情所必备的基本条件,基本的专业素养是做好前提。
第四是“主动出击”:当你可以选择的时候,把主动权握在自己手中。在公司的时候,我会主动的打扫卫生,主动地帮师傅做一些力所能及的事情,并会积极地寻找合适的时间,向老师请教问题,跟师傅像朋友那样交流,谈生活学习以及未来的工作,通过这些我就和师傅走的更近,在实习当中,,师傅就会更愿意更多的指导我,使我获得更大的收获。有时我就自高奋勇,独自去一些地方进行检修等故障排除。我心里感觉很高兴,因为我的主动,我巩固了我所学的知识,并且得到了师傅的认可。
整个的实习过程是紧张而愉快的,我的工作态度和成效也得到了总经理和同事们的一致称赞。作为我在踏出社会之前的为数不多的几次实践中,这次的实践的确给予了我很多。今后,我将继续保持认真负责的工作态度,高尚的思想觉悟,进一步完善和充实自己,争取在以后的学习中更好的完善自己,在以后的实践中更好的运用去自己的只是,做一个合格的大学生,将来做一名对社会有用的人。
it工作个人心得篇3
从实训目的来看,本次实训主要是在VS2016开发平台上实现对c#语言、SQL数据库的应用,就我所在小组的项目工作内容来看,还需要掌握水晶报表和mDI多窗口应用技术。除了要充分熟悉开发平台及应用设计之外,还要掌握并实践软件项目设计规范及其开发流程即需求阶段、分析和设计阶段、编码阶段和测试阶段,以便能按时交付作业。
从实训的内容来看,我小组的项目是“人事工资管理系统”,主要实现公司企业对内部员工档案、工资、奖罚考勤等一系列的管理,这在当今不断壮大的企业用人单位是亟待需要的,总的来说,项目的难度系数不是很高,但也是相当困难。
在校外实习之前,老师先在校内培训了5天。5天实训中,着重讲解了c#语言应用,并布置编写“通讯录”工作台程序,windows应用程序和wPF程序,数据先是用文本保存,然后练习用数据库保存,期间每天需上交当日作业。5天的时间里,通过不断地学习,我从完全不懂c#语言成长到初步掌握了这门语言,当然在具体应用中还是会遇到些问题,但我还在学习。其实在实习的前一个月里,老师就上传了一些关于c#语言的资料并通知我们需要配置哪些软件环境,对于这一点,我是相当感谢何老师的,当然在校外的实习里,公司也全都把开发项目用到的一系列软件上传到公共文件夹里,从而免去了我们下载软件的麻烦,在此,感谢众老师。
校内实习要上交的作业我是在校外实习中补充完成的,因为之前上交的作业由于时间仓促大都有错误,所以借着校外实习中对c#语言的进一步应用和讲师的详细讲解后,我重新改正了错误,希望何老师能谅解采纳。
校外实习是从7月12号开始,历时15天,15天的最后一天要回校评审。我对本次校外实习的各个方面都十分满意。相比上次实习,首先这里的住宿学习条件非常好,住宿和实习地都安装了空调,实习地方环境清幽宽敞明亮,伙食也非常好。然后就是实习讲师非常专业和负责,他事先把所有有关实习的资料软件存放在公共文件夹,且规划入微。一开始先是对我们进行c#测试分好组安排好每组项目任务,又指导我们每个小组安装SVn软件,方便小组文件上传与统一,整体一气呵成,不似之前实习的凌乱,这一点我十分敬佩。之后每天都先安排好任务工作,认真且非常详细的给我们操作示范并细心地制作成word文档供小组之后查看。每隔几天都会有小组评审,主要针对小组所编文档的规范程度和不足提出修改建议。作为小组的Pm,我必须承认一开始工作任务安排不当,没有完全发挥各成员的优势,以致文档编写的有些瑕疵,不过在小组评审过后,我便及时更改了项目工作的分工,而之后小组项目工作进行的非常顺利,每个人的能力都得到了的发挥和升华,当然这完全得力于小组成员的高度配合。
我小组是c#软件开发第一组,组内有6名成员,两个主要负责项目核心代码的编写,其余负责简单模块代码的编写,我主要负责填写与修改相关项目文档并督促小组进度和团结组内成员、合理分配组员任务并及时调节组内安排的各种不适与问题。校外实习的过程中,小组成员高度团结,协调合作,对所有问题都能及时探讨并高效解决,有时遇到分歧,不过在全体讨论后,都能找到合理的统一方案,如在界面设计环节中,就登陆界面和模块界面的设计中,组员有很多不同建议,在询问老师和权衡实现困难程度后,我们达成了一致意见,统一后的界面相比之前更加规整明晰,且功能更加健全,当然这是我们小组齐心合力的结果。在开发的过程中,出现过项目分工不明确的问题,其原因源于我考虑到组员能力的不同,所以就把大部分的工作安排给能力高的人身上,其他能力低的只暂让他们自由学习希望能尽早跟上小组步伐,不过事实证明我错了。让部分组员自由学习而不参与项目的工作中本身就拖累了小组的整体速度,而且在短暂的时间里,他们也实在学不到任何实际的东西,所以后来我更改了战略。我先让能力低的组员尝试参照模板编写一些文档的简单部分,然后让能力稍高点的组员继续补充文档的核心部分,最后由我修改格式和内容,最后让老师审阅。这个方案实施过后,小组的效率整体上明显提高,每个人各司其职,全组团结一致,共同为项目的完成发挥自己的聪明才智。而之后,在项目编码阶段,我们小组的tL负责对项目整个框架的构建,即设计好主要的窗口原型,然后指导小组成员在自己所负责的模块上添加具体事件代码,最后再进行修改,这样做不仅将组员团结在一起提高组内效率,更直接提高了组员的编程能力。
需求分析阶段和设计阶段很快结束了,我们小组齐心协力按时完成了相关文档的编写,包括需求规约、实现规约、界面设计word图形文档、数据库设计说明书、详细设计说明书和概要说明书,在老师评审过后,发现问题还是有很多,作为项目经理的我本该对这些文档进行及时修改和更正,但由于时间仓促且我们是第一组需第一个评审,所以就马马虎虎的拿未精确修改的文档进行审评了,老师着重对系统模块图和模块功能描述那块提出了些许建议,并让演示了小组编写的代码程序,对其中错误问题提出了解决方案。之后进行一番修改过后,我小组正式进入了编码阶段,编码只有短暂的3天,后两天老师分小组评审并提出改进意见,小组修正和改进代码结构语句,完善项目要求,紧接着进入测试阶段,老师又着重介绍了一些测试工具方便小组测试,填写并修改好测试文档后,整个实习就将要进入尾声了。再回校进行最后评审项目PPt和提交作业后,暑期实习就正式结束。
短短半个月的实习中,我深深的感受到自己在实际应用中专业知识的匮乏和短时间学习掌握一门新知识和新技术的困难,这是我非常畏惧的两大难题。就自身来说,我喜欢有所准备,不喜欢临阵磨枪,尽管之前对实习要求的知识技能有些了解,但到真正实施时,还是不免有些不知所措,而之后能慢慢克服畏惧慌张并团结小组成员按时且高效的完成作业,这都得力于实习老师和组员对我的巨大帮助,在此,由衷感谢他们,也感谢我自己。
it工作个人心得篇4
在这个学期末,在学校和学院的帮助下,我们有幸参加为期一个月的IT企业认知实习,虽然时间短暂,但是我也学到了很多课本上没有的东西,大大丰富了我的时间创新与沟通能力,接触到更为前沿的科技技术。同时,用过此次的企业认知实习使我从理论上与实际上对自己的专业又有了新的认识。
每一天的实习都会有新的见解,学到新的知识,更让我体会到知识是无穷无尽的,体会到什么是“活到老,学到老”。
第一天的讲座,铱讯公司销售总监以十分实在的话语,简介的ppt为我们讲述他多年来积累的应聘技巧和销售经验。
铱讯公司全称铱讯信息技术公司,主打网络安全(在国内做得好),尤其是网站防护。是360旗下的一个公司,曾经多次为“国家漏洞库”提供漏洞以及补丁修复。谈及“国家漏洞库”,在我认知实习之前对“国家漏洞库”没有任何的概念,通过这次认知实习,我才知道“国家漏洞库是世界各国为了更好的进行信息安全漏洞的管理及控制工作而建立的一项国家安全数据库”。
总监作为一名销售专家,对我们讲座时并没有像其他推销员推销时一样夸大其辞,口若悬河,反而都是朴实直白的话语,他的沟通风采使我们深为敬佩!
首先,当他讲起他们公司是在江苏从一个小小的公司成立到做大做强的历程时,我才体会到作为一个公司的崛起是需要诸多因素,天时地利人和,还有坚持不懈的努力,这是多么的不容易!与此同时也让我学到了一点创业的技巧。
其次,总监为我们讲述了我们大学生的应聘技巧与法则(例如“二八”法则),学会真诚的赞美别人,推销自己。应聘之前,必须做好充足的准备,对于一个不是“985”、“211”学校的学生,在没有这些名牌大学的应聘“敲门砖”的情况下,应聘技巧弥足珍贵! 应聘前,应该做到:
1、充足准备,了解公司背景;
2、自己的硬件条件一定要符合公司;
3、以自己最快的方式了解对方的需求和主考官的心理;
4、应聘一定要有一颗永不气馁、机智选得的心才能找到适合自己的好工作! 最后,总监讲述了我们以后若从事销售的建议:
1、注意的内在与外在的细节,与客户讲话应该注意的基本礼仪;
2、明白客户与顾客的一些本质的区别。
第二天的讲座,长春联通公司的技术总监陈磊老师简要的为我们讲述的当前信息世界的发展与科技的前沿,开拓了我们的视野。
通过陈老师的讲解,我们了解到我过北方以联通为主,南方以电信为主,最近还有一个新的isp,广电也加入互联网的大家庭。这种形式的形成与国家的政策有关。
在未来我们的应聘方面,陈老师建议我们去大型的运营商和设备宣传厂家,这两种公司会对自己的发展有很好的发展。
此外,陈老师还为我们讲述了很多网络知识,使我受益匪浅!
1.网络设备公司有:思科、华为、H3C、中兴等等。其中,cisco的CRS目前是世界上最好的承载路由交换设备,华为与之相对的是NE5000。GSR为通用交换,cisco的26、35系列都是企业级路由、交换。在核心设备的选择上,cisco的稳定性最好,华为的也可以,多用在小的地级市如松原、白城;
2.在采购网络设备时,安全性尤为重要!尤其是在公司之中!
3.为保障网络的扁平化,我国现在已经将市的出口直接连接在国家骨干网络上,有助于网络传输的提速;
4..互联网只是数据网的一种,包括:互联网(IP),ATM(一种协议,一种局域网构建形式,一般指异步转移模式),DDN(Digital Data Network,数字数据网,即平时所说的专线上网方式),FR(帧中继(Frame Relay),是在分组交换技术的基础上,简化分组交换的传输协议后,产生了帧中继技术),软交换,IMS(IP Multimedia Subsystem,IP多媒体子系统)。其中,ATM现用于2G网络,IMS为目前的4G,软件换即为固话,都采用IP技术;
5.目前,ATM协议都用于移动电话的2G,也就是GSM,同时还可用于构建,在MPLS中用的最;
6.对于光纤,分为单模光纤和多模光纤;
7.网络安全十分重要,我们许许多多的网上行为都是被监控的。自从斯诺登事件以来,网络安全的地位被提到了一个前所未有的新高度,得到了国家领导和网络巨头们的紧密关注!目前,我过的监控已经大到可以将人们上网的所有痕迹复原的地步,因此我们一定要规范我们的上网行为,十分注意保护自己的隐私,防止泄漏!
在我们进入职场以后,我认为首先最重要的是多听少说,其次在我们接下来的几年我们要有有一个信念,那就是要有责任感和信任感,要多听少说,做事认真卖力,对于菜鸟前期肯定会很累,要坚持。
it工作个人心得篇5
一、实习目的
认识实习是本科教学计划中非常重要的实践性教学环节,其目的是使学生了解和掌握电力生产知识、印证、巩固和丰富已学过的计算机专业课程内容,培养学生理论联系实际,提高其在生产实践中调查研究、观察问题、分析问题以及解决问题的能力和方法,为后续专业课程的学习打下基础。通过认识实习,还应使学生了解现电力生产方式,培养热爱软件工程专业思想。
二、实习内容
为了达到上述实习目的,实习主要内容应包括:
1. 参观浦东软件园
2. 上海市高新技术产业展
3. 四场高水平的技术讲座
三、实习过程
1. 参观浦东软件园
进入主体大楼后,上海浦东软件园和它的图标赫然放置在最显眼的门口处,我们跟随着老师的步伐,一路向内层走去。在路上我们注意到了墙上贴出来的优秀学员的照片,以及关于软件园的人才和研制软件对于国家信息技术的贡献,可以称之为一条“荣誉回廊”。迈过这条回廊,我们走到了一个广阔的教室,里面整整齐齐摆放了数十台计算机,看其规模,我猜想这应该是一个大型的计算机学习教室,供里面的学员进行专业方面的开发和探索。之后我们便各自找好座位,等待浦东软件园的老师给我们做一下关于软件园的介绍并阐述对我们未来工作的需求。
我们坐好后,一场对未来的探索之旅马上就开始了,浦软的老师非常厚道的给我们观看了两场激动人心的宣传视频,详细的介绍了浦软的来由,发展和辉煌以及对整个软件业的展望。首先,上海浦东软件园做为第一批国家软件产业基地和第一批国家软件出口基地是与北京中关村,大连和西安这四个软件园是齐名的,并且是全国第一家软件园区,这三个“一”,奠定了浦东软件园在全国软件开发中无论是人才量还是创作量都处于不可动摇的位置。之后她给我们介绍了浦东软件园是由“满庭芳”的郭守敬园和“浣溪沙”的祖冲之园联合组成的。而的浦软大厦就坐落于祖冲之园。重点马上就要到了,老师在介绍完浦东软件园后开始向我们展示了成为一个炙手可热的软件工程师的必须条件。老师一再强调了拥有丰富的实践经验以及必备的英语知识是你获得实习机会的必备功课。并鼓励我们在校时期就积极的去寻找实习的机会。非常让人温暖的是,老师还主动抛出橄榄枝,把电子邮件地址给了我们,如果有想要参加浦软的暑期夏令营以及与微软联合办学的实践班的同学都可以发邮件到着个地址询问她具体的事宜。十分有心的浦软老师还给我们总结几个全球并有分部坐落于浦软的软件公司,比如SAP,InfoSYS等等,并介绍了一些入门要求和面试注意事项,让我们收益匪浅,并对未来充满信心。
2. 上海市超算中心
上海超级计算中心是国内第一个面向社会开放,资源共享、设施一流、功能齐全的高性能计算公共服务平台,目前拥有曙光4000A(20x年世界 排名第十)和“魔方”(曙光5000A,20x年世界排名第十、亚洲第一)等3台超级计算机,同时配备丰富的科学和工程计算软件,致力于为国家科技进步和企业创新提供高端计算服务。
多年来,上海超级计算中心立足上海,面向全国,为来自工程科研院所和多所知名大学的超过350家用户,提供了随需应变的高性能计算资源、技术支持以及高级技术咨询服务,支持了一大批国家和地方政府的重大科学研究、工程和企业新产品研发,在汽车、航空、钢铁、核能、市政工程、新材料、生物制药、天文、物理、化学等多个领域取得了大批重大成果。
未来,面向自主创新的国家战略需求和上海建设金融和航运两个中心的目标,以及发展商用大飞机、新材料、生物医药、重大装备、新能源、电动车等高科技产业方向的区域战略需求,上海超级计算中心将持续保持资源优势,进一步提升技术能力和服务水平,协助更多的用户将先进计算能力转化为科研创新能力,打造国际一流的超级计算中心。
3.四场技术讲座
第一场讲座:虚拟化技术
在讲师的讲解下我们对虚拟化技术有了个初步的认识和了解。
虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
虚拟化技术也与目前VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。
第二场讲座:GE数字能源
数字能源的产品和服务已得到中国众多专业用户的认可,GE UPS系统大量安全运行在中国的国防、通信、电力、金融、证券、石化、交通、水利、医疗等行业。GE数字能源(GE Digital Energy)隶属于GE工业系统,是全球电源保护领域的技术者。 数字能源致力于为全球客户提供高性能不间断电源系统(UPS)和相关软件产品及服务。 高可靠性能UPS产品功率从500VA—4MVA,GE数字能源亦为客户提供先进的电源管理和数据保护软件。
第三场讲座:职业规划
通过这次职业规划讲座,也让我知道了,我自己的职业性格。通过讲师的讲解让我知道,我们首先要规划我们的时间,以前的学习生活中,时间管理不强,想做什么做什么,这是我们第一个需要改进的地方,也是我们必须改进的地方,在没有一个正确的时间观念下,很多事情都是做不好的,所以,我们必须先把自己的学习生活时间安排好,再有就是自己必须要有明确的目标,规范好自己的目标,有助于自己的学习,制定好自己的短期,中期,长期目标,把自己武装起来,让自己的生活充实起来?
第四场讲座:网络资源管理
在最后一场讲座中,我们听到了以前很少接触到的词“网络资源管理”, 在讲师的精心讲解之下我们终于弄清它是什么。
在市场逐步放开、竞争加剧的大环境下,国内电信运营企业的战略重点由原先的投资建网扩大规模,逐步转向提高用户满意度、网络管理水平和网络应用效率,进而转向全面运营管理水平的较量。在这种背景下,网络资源管理系统(NRM)作为网络运营支撑系统的重要组成部分很快发展起来,在电信管理网(TMN)中迅速占据重要地位,成为电信运营商提高网络运营效率、快速开通业务、实现集约化经营的重要手段。资源管理系统的基础是资源数据库。资源数据库就是通过规范的符号体系和表达关系把现实的网络资源(包括物理和逻辑资源等)在计算机数据库中建立的一一对应的数字映像。所有针对资源的查询、统计、调度方案设计、数据分析、决策支持等,都是通过资源管理应用软件对数据库中的资源映像数据进行运算来实现的。如果虚拟映像与现实网络对应的准确率足够高(通常要求95%以上),那么基于计算机虚拟网络做出的调度方案和其它决策在现实网络中就是可执行的,从而达到有效使用网络资源和快速开通电信业务的目的。
基于以上资源管理系统的运行模型,我们不难理解资源管理系统中“网络资源”的三大基本属性,即资源的存在性、使用性和动态性。
四、 实习总结
这一次的实习经历是如此独特而又感触深刻,我相信这是在我专业生涯上迈出实实在在的第一步,虽然微小,但是决不微弱。这三天的实习我接触到了无数的科技前沿知识,从生化科技到电气自动化,有环保也有节能,有实用也有理想,两场讲座透析了专业中数据挖掘利用以及配电网的未来方向,收获了太多太多,现在我就我觉得最重要以及我最感兴趣的知识点进行详细的总结与归纳升华。
首先,虚拟化技术今后的发展,服务器虚拟化技术是指通过运用虚拟化的技术充分发挥服务器的硬件性能,能够在确保企业投入成本的同时,提高运营效率,节约经济成本和空间浪费,对于发展迅速,成长规模大的用户来说,可以通过服务器虚拟化技术带来更多的经济效益。我们可以着手这方面的发展和学习。其次,我们应该学会在对个人职业生涯的主客观条件进行测定、分析、总结研究的基础上,对自己的兴趣、爱好、能力、特长、经历及不足等各方面进行综合分析与权衡,结合时代特点,根据自己的职业倾向,确定其的职业奋斗目标,并为实现这一目标做出行之有效的安排。这才是以后我们发展就业必不可少的前提条件。
it工作个人心得篇6
看到了很多同学问到各银行的待遇以及IT部门的发展之类的话题,想到了自己银行的情况。
1、加班非常多。机房是24小时开放的,每天都有人值夜班。我所在的地区我们分行只有800人不到,IT部门就只有6、7个人。他们每天除了正常的工作之外还要应对各种培训、学习。银行因为白天要对外营业,所以每次培训之类都是在晚上和周末,而且不是800人一起培训,而是今天这个培训,明天那个培训。这个工作量是非常大的。而且银行加班基本是没有加班工资的。因为国家不允许这种量的加班。
2、薪水问题。大家都说银行薪水好。那是因为大家看到的只是薪水好的部门。我现在在银行做贷款,属于一线营销岗位,薪水自然还不错。但如果你不是做营销而是后台部门比如IT,那你只能拿到基本工资和平均奖金,这个数字看起来就没那么有吸引力了。除非你能当老总。可这个部门不像营业网点,一个地区可以几十个网点,这个IT部门基本上一个地区就一个,也就是说一个地区就一个老总,这个老总又不像别的岗位可以横向调动,在银行里做IT你就只能做IT,不可能调你去做什么公司业务,所以我个人认为升迁的机会也比较小。但如果你是去总行的信息技术部搞些个产品研发之类也就不说了,那肯定是非常好的,但这样的部门基本也不可能要一个刚毕业的学生。
3、银行的各项任务是很重的,而且可能看起来都非常不人性。不要以为你在IT部门就不可能有任务。我们讲究的是全民皆兵。
以上只是我个人的一些看法,给一些纯粹是为了拿高薪找安逸的同学一个提醒。
当然银行也有银行的好。比如:
1、如果你做的很好,这里指的是营销,比如你能带来大量存款,你有很广的客户资源,那你的薪水会非常高而且不受职务限制。
2、福利待遇非常好。我们银行给我们解决了所有的后顾之忧,你只要好好工作,其他什么都不用你操心,我们有非常低的行员贷款利率,你买房子就不需要担心。我们是按照最高比例来购买各种保险、公积金之类。即使你生病了,你住院了,不但医药费都能报销,算下来你每天还能赚几百块钱,可能比上班都高。
总之吧,银行就是个数字说话的地方。想在这做IT可能你永远都做不到最顶端。但也有他的好。大家各自考虑吧,只是就个人的感受给大家的建议。相比较之下我认为我所在的招商银行是最有潜力的银行,发展非常快,企业文化非常好。工、农、中、建四大行规模非常大,但因为是老行也有很多弊端,国企思想比较严重,论资排辈。交行的特色在于他是股份制银行中最大的,个人理财比较突出。民生是最变态的,只要你有业绩,第二天就是行长,只要你没有业绩,马上从行长变成行员。中信是业内口杯最差的,到处乱市场,很受同业鄙视。华夏的最大特点在于他的公司业务。一般越小的行可能待遇越好,机会也越多,因为他在发展。
其实就个人而言,我觉得银行里做IT就像是当年我们来北邮,大家都知道北邮非常好IT业的最高学府。可我们当时因为种.种原因到了北邮的语言学院学外语。并不是说语言学院不好,我们在这里也学到了很多东西。但这里的主流是IT,语言院再发展可能也比不了北京外国语。就是说你是到一个非常好的学校一个非主流的专业,还是到一个一般学校的主流专业,你可以自己考虑。
it工作个人心得篇7
工作是一件可以学到很多锻炼很多的事, 虽然充满焦虑和等待但也充满着刺激兴奋和足够的满足感。
从Melb回来以后,大概是二月初左右, 我开始正式寻找一份能带来稳定收入的全职工作。 我没有PR,成绩普通,只有大概半年在一家华人公司做网站的开发经验, 但我从来都没有觉得会找不到工作,因为我坚信在这个行业, 技能和学习能力思考能力是大于其他一切的。IT这个行业, 方向太多, 所以我的想法是, 在开始找以前, 应该先把自己的方向和未来的职业选择好, 不要顾及面, 而应该专心于点和深度(这和做某件事倒是有异曲同工之妙)。就是因为行业方向多, 专精和学习能力才是雇佣者真正考量一个junior雇员的事。
方向和具体职位定下来以后,就开始具体围绕这个职位的普通要求来修订简历。简历不应过长,一页即可。 能够不需要的内容,比如爱好兴趣人格之类的,都不要往上面放。从技能开始是比较好的方式,学历倒是一笔带过即可,因为只有很大的公司比如银行或者四大才会以分数来做第一轮筛选的标准,而我一方面是分数不行,另一方面对大公司向来有生理上的厌恶感,所以根本就不会考虑这个问题。
接下来就应该罗列做过的事,如果有portfolio就放链接和简单的描述,有工作经验就放工作经验,都没有就放学校的项目经验,如果都没有,就先去找了做了再回来这一步吧(需要注意的是,只放和所求职位相关的经验,比如是php的职位关于java的我就基本都不列)。罗列经验时,尽量不要有段落篇幅,而以短语bulletin为主。看简历的人是没时间来读小说的,所以在最短的时间内能提供给阅简历者最大的信息量是最值得考量的东西(这个倒是和SEO有点像)。另外,诚实真实是我自己的坚持,只写真正做过的事,只写真正懂并有经验的技能,任何不懂的都不要往上写,要确定你所写的技能,都是你能动手去做实际做过的。技能的罗列也要由最强到最弱的顺序来排,项目经验也是如此,就和客户用google搜东西不会看两页以后的网站是一个道理。
另外,强调自己的什么人格优势,团队性格之类的,我完全没有放进简历,因为这些可以通过cover letter来描述, 没有必要再这里占用宝贵的简历空间。而且这之类的事也不是你自己写了人家就信的,真正有面试时人家自然会来体会。简历的事, 大抵就是如此。
接下来我开始操作的是cover letter。为不同的职位公司来多次修改cover letter是我前一年找工作时经历的最痛苦的事之一。 所以这次,在确定了只投相同或相似的职位以后,cover letter变得轻松了许多。写好一个万用的cover letter是很辛苦但是益处无穷的事,属于典型的一次投入多次回报。cover letter大抵是四五段左右,用词用句都可以自己去搜一下,最好避免自己写太多的句子,毕竟大部分像咱们这样的,写作都不咋的。
因为属于比较正式的信件,还是多用点稳妥的书面表达比较好。第一段大概就是讲自己在哪里看到职位然后自己是什么样的一个情况于是有意愿来求职。第二段就开始要针对职业描述上的每一条来列举自己能够符合靠上去的技能,自信点大胆点就好。
第三段就可以谈谈自己性格上的优势,人格上的魅力,多么多么的团队之类的屁话,这是必须的。最后就总结下,自己觉得自己能够胜任这个职位,能给公司或者团队带来如何的益处,希望能有面试的机会,并附上自己的联系方式电话邮件等等。在我投过的所有机会里,九成九的我只修改了日期和职位名称,当然这和我所投的web developer这个名称比较宽泛有关。cover letter的重要性,我觉得还是必须重视的,毕竟大部分人都是先看邮件正文里的cover letter, 再点开附件看简历, 和简历的重要性相比可以说有过之而无不及,可以说是敲门砖的敲门砖, 如果这块就掉了, 就连砸一块金砖过去敲门的机会都没有了。
搞定上面两件利器以后,有些细节要注意一下。不要用自己平时的联系邮箱,而应单独注册一个求职专用,能直接从邮件地址上看出人名的邮箱(这点由江江同学贡献)。我个人的建议当然是gmail,速度快容量大无广告,功能多和google产品结合较好,IMAP的访问方式在iphone上堪称完美。在注册这个求职专用邮箱以后,直接在设置里全部转发到自己的常用邮箱(是gmail当然最好),这样就避免了每天需要查几个邮箱的麻烦。在自己的常用邮箱里,建立关键字过滤器。有工作相关的关键字时,全部打上专门的工作标签来分文件夹。全部用gmail的好处还在于,在自己的常用邮箱里回复邮件时,可以直接选择自己的发件地址为求职专用邮箱而不是自己的常用邮箱,方便且专业。说到这里,有件小事让我对gmail的喜爱又上一个台阶。在我们的cover letter里, 通常会有I have attached my resume below之类的文字,有那么一次,我在贴完cover letter至邮件正文后,忘记了上传附件而直接点了发送。此时令人惊讶的事发生了,一个popup对话框显示,“您的正文中有attach字样而附件为空, 您确定要发送邮件而不附上任何附件么?”,我当时就震惊感动佩服的五体投地。如此细小的地方都做了用户体验方面的设计, 让人如何不爱google。
其实我觉得,在做好了以上的事以后,找工作接下来就是一个机械重复的体力活,如何把规律的体力活做好, 其实也是有一定的技术含量的。澳洲最大的找工作网站是seek,其他还有mycareer,不过我只专注在seek上,因为seek大概占了全澳百分之八十的招聘信息,已经足够任何人去投了。
注册seek以后,先根据自己的情况来完善profile。接下来,最重要的事就是,邮件订阅。seek提供了根据关键字和其他特别字段要求来发送每天更新的新招聘信息至用户的邮箱。根据每个自己想要的职位,来设定特别的关键字,级别和薪资要求以后,对应的每天新增的信息就会以列表的形式在夜里三点左右发至你的邮箱。于是以后的事,就是每天查查邮件,然后选择自己觉得合适的去投。一个重要的事是, 有很多招聘信息是猎头中介发的 类似这种我是一概不投的,因为大都石沉大海,而且不直接与公司的人接触面试什么的 也对公司无法了解,这种浪费时间还不讨好的事不如不做。
另外一件值得做的事是,记录下你投过的公司和职位。因为一般的流程是,对方会先short-list一部分,然后电话, 觉得合适,才会发邮件和你约接下来的面试或者测试。往往这时候,当你投过几十份上百份以后,任何人打电话过来告诉你公司名,你是不可能回想起来的,因为保存一份doc包含公司职位,地点,公司信息,seek上对应的职位描述页面,公司的页面等等信息,是很有必要的。
一方面你能掌握投过哪些,可以避免重复投递失败的职位,另一方面能够对自己投过的数量有个统计,如果长久没有回信和回音,就应该及时对简历和cover letter做出调整。对此我是使用google docs,方便在于云在任何地方都能访问, 这和邮箱是一样的道理。另外我对不同的地区也分了文档,分别是sydney, melb和其他。根据我的统计, ydney的机会是最多的,大概占了全澳的三分之二,当然人口和竞争也是最多的。melb的话,大概数目是sydney的三分之一至一半,而其他地区加起来,也就和melb的机会一样多。
我的情况是,sydney的回音是最多的,其次则是昆州等地区,melb则一个正面回复都没有,唯一一个email联系过一次的,也在二十天后拒了我。大概是因为我人在sydney,而昆州缺人缺的太厉害的原因吧。在技术分布方面, 网站或者web application方面开发是最多的,不论前段还是后端。然后后端技术php最多,net和j2ee差不多, python, RoR甚至perl也曾见过,不过非常稀少。除了做web,数据库是相对来说多点的,不论是做分析开发挖掘还是管理,都不少,是个可选的方向(虽然个人感觉枯燥)。再就是iOS等移动开发看得出来有越来越火的趋势,值得一追。底层系统开发或者网络之类的,大概是最少(但貌似钱是最多的,因为稀少)。薪资方面,悉尼算是全澳消费数一数二,薪资方面确实是如此,45k+super是行业基准线(当然是对junior/entry而言)。其他地方也能拿到40k左右的, 但和房价一比, 这40k就比悉尼的值钱太多了。
其实对我来说,如果拿到了面试机会,能拿到offer的机会大概就是一半以上。最焦躁的,其实正是等待回音这个阶段。在我正式开始投简历的两个礼拜以内,只有少数的email和电话,一个正经的面试机会也没有,不过在接下来的两个礼拜里,面试开始爆发了(上周三个,这周四个,下周四个)。
我想这是和澳洲人生活工作都比较慵懒有很大的关系, 所以各位完全不用担心和过于焦躁(我今天还接到20天前投的一个职位的电话约定面试)只要有电话和email回信, 就说明你的cover letter和简历是有用的能入眼的,但如果电话和email回信在两三个礼拜里基本没有,就应该及时的做出调整了。至于面试方面, 我实在无法给出什么实际有用的意见。大概的把常见面试问题看看心里有个谱不要到时候突然发慌,技术问题自己慢慢准备积累, 穿着方面自己觉得看的过去(像我这种从来不喜穿正装的人还是去买了件半正式半休闲的衬衣来做面试圣衣),面试前不要太饱和太饿否则都会影响大脑运作,开始前喝点咖啡能量饮料都是可以的(不过要注意这两个都是利尿的,对于长时间的面试就不要喝太多水之前),面试中应该不卑不亢, 该笑的时候笑不该笑的时候不笑,能够自己来控制面试过程中的气氛走向是最好的,切忌过于紧张或过于兴奋,另外最重要的一点是诚实,因为假话自己是没有记忆的,反复问的话会出问题,不如不说。
关于英语,语速不要过快, 平时自己怎么说话就怎么说,也不用特意去准备什么商务英语。脏话的话,能避则避,不过兴奋的瞬间脱口而出也倒不是什么大不了的事,毕竟澳洲人这方面都非常的不古板和不保守,所以不用特别在意。我面试的感觉是, 其实我们这个行业, 技能方面都差的不多,毕竟学习能力才是更重要的,所以个人人格魅力起的作用比想象的要大很多, 鬼佬大都喜欢开放有趣有自己生活的人,有话谈得来, 公司团队气氛融洽才是他们看重的, 当然这些都是建立在技能能达到最低基本要求的基础上。在国外工作的好处就在这里能得到体现, 毕竟任何价值都是人创造的, 人才是工作里的一切, 把人当人才会有更好的效率和效果。
如果面试顺利, 接下来的就是接受offer与否了。当你的面试太多,可以选择的公司太多的时候,受offer与否就是个纠结的命题。是选你爱的, 还是选爱你的, 是个从未消停的问题(在各个领域)。而由于我从来都是只在乎自己爱的, 所以拒掉一两个offer去等待自己爱的公司在我看来是天经地义。但这并不适用于所有人,毕竟个体追求不同, 另外如果机会和offer对你来说非常稀少和难得, 抓住转瞬即逝的机会也并不是不可取的, 毕竟有了温饱才会有更多的精力去追求自己爱的人和事。
关于求职,在我们这个地方和这个行业, 我的经验不多,大抵就是以上这些,希望能对正在袋鼠国挣扎的朋友有些许的帮助。有任何疑问可以尽管放马过来,我会尽我所能的回答并补充到下面,谢谢。
it工作个人心得篇8
IT认知实习是软件工程专业教学计划中规定的一个重要实践环节,是增强学生了解软件开发流程和软件项目规范化管理流程的一项重要措施。通过IT认知实习让学生初步了解IT企业的软件生产流程,对软件开发有更加感性的认知,为培养学生规范的软件开发技能和意识提供帮助;同时通过对IT企业文化的认知和了解,增强学生严于律己的思想意识,激发并提高学生在以后学习中的兴趣,同时也能给学生后面的学习提供方向和参考。
实习指导教师介绍相关企业的人文环境、企业的规章制度、企业对IT人才的需求标准;以及实际项目、围绕软件开发生命周期讲解软件开发过程中各阶段任务、实施步骤、常见问题,介绍目前流行的软件开发工具和主流技术;同时介绍软件项目管理中的常见问题;了解企业在项目开发过程中的分工协作。最终学生结合软件项目开发的步骤,拟定一份“触控电子平台”软件需求说明书。
了解并熟悉规范化软件文档的书写规范,具备一定的文档撰写能力;能进一步熟悉某个应用领域的主流技术和开发平台,具备应用相关技术和平台独立开发某个应用软件的基本能力;通过实习逐步具有良好的团队合作意识、工程职业素养、忠诚度和社会责任感;通过实习培养发现问题、认识问题、分析问题及解决问题的能力,逐步提高自学能力和动手能力;为成为应用型软件工程师打下良好的基础。
通过一周的IT认知实习,我了解到了软件开发的一般流程和软件项目规范化管理流程的一项重要措施。同时也对整个软件项目开发和软件生产流程的逻辑思路有了一定的了解;并且对软件开发有了更加感性的认知。这些都激发了我对软件项目开发的兴趣,更加让我清晰了整个软件项目开发下来的整体工作,内心有种跃跃欲试的感觉。
通过实习,我不仅熟悉了软件项目开发的整个流程,并且对软件分析、设计和等环节规范化的生产流程有了一定的认识;了解并熟悉了规范化软件文档的书写规范,尝试了相关需求文档的撰写;进一步熟悉了这个应用领域的主流技术和开发平台,也具备了应用相关技术和平台独立开发某个应用软件的基本能力;通过本次一周实习,我与同学逐步形成了团队合作的意识和指导老师给我们培养工程职业素养、忠诚度和社会责任感;通过实习培养,我意识到了自学能力和动手能力的重要性,认识到了要想成为应用型软件工程师这两大能力必要强大。
it工作个人心得篇9
一、 实习目的
通过实习,培养综合运用Java语言的面向对象编程能力;培养动手能力;培养良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。通过理论与实际的结合、学校与社会的沟通,进一步提高自己的思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便培养自己成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习单位基本情况介绍
神丰信息技术(延边)有限公司(简称“神丰信息”),是一家由日方注资,专注于面向中国丰田汽车的软件开发设计、受托日本神丰信息系统株式会社开展系统开发,系统维护、面向中国的日资企业开展系统开发,以及面向中国国内的软件开发设计的IT企业。公司成立于2005年 8月 12日,注册资金RMB 2,000,000元 (神丰信息系统株式会社100%投资), 2006年04月04日成为延边朝鲜族自治州信息产业协会会员;2006年05月25日成为吉林省软件输出联盟会员;2006年05月30日被认定为吉林省科技企业;2007年09月25日通过双软认定(软件企业认定、软件产品认定)。神丰信息一直秉承软件提高效率、与社会共创信息化新时代的理念,致力于为用户提供具有自主知识产权的系统软件、安全软件、平台软件、各类应用软件以及全方位的解决方案和相关服务。
三、实习内容
1. 日语培训
由于公司为日资企业,日常工作要求职员使用日语,因此,公司特从日本请来中原先生为我们做培训。大家零基础开始,每天有两到三个小时的学习时间,每周一参加语言阶段性测试。过程虽然比较艰难,但是效果显著,目前基本工作语言可用日语交流。
2. Java实训
通过本次实习,我对Java语言的各种特性有了更进一步的体会:
① Java语言的语法与C语言和C++语言很接近,使得大多数程序员很
容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
② Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
③ Java语言支持Internet应用的开发,在基本的Java应用编程接口中有
一个网络应用编程接口(java.net)它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
④ Java语言是体系结构中立的Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
⑤ Java语言是可移植的,这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
⑥ 在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
⑦ Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
3. 数据库实训——SQL Server2008
在此次实习中,与Web服务器相连的数据库采用的是大型关系数据库管理系统——SQL Server 2008。它是基于客户机/浏览机模式的数据库管理系统;它支持ODBC、ADO等技术的应用,可无缝的与Windows 2008 Server 和 IIS 集成,提供高效安全的数据访问服务;有利于整个系统管理规范化,使数据的完整性、安全性得到保证。
数据库设计实际上主要是所要处理的数据的表示方法和存储结构的设计。在采用数据库技术之前,这些工作分散在应用程序中进行;在采用数据库技术之后,这些工作可以通过数据库设计集中起来系统地进行。
进行数据库设计的首要任务是考虑信息需求,也就是数据库要存入什么样的数据。创建数据库并不是仅仅为了存储数据,更主要的目的是从中提取有用的信息。除了考虑数据存储什么数据外,还应考虑存取方式,也就是处理需求。即要根据用户提出的存取要求来设计数据模式和应用程序。
4. 社会人教育 社会人教育也可以称为职业道德教育,是指从事一定职业的人们在职业活动中所应遵循的道德规范以及该职业所要求的道德准则、道德情操和道德品质的总和。成功的大学生职业道德教育可以为大学生以后从事本职工作打下良好的职业道德基础,为他们从业后具备良好职业道德修养提供理论、知识、情感前提。因此公司对新职员开展了职业道德教育课程,主要课程包括职前职业道德教育,即通过教育使大学生自觉认识到自己将来所从事职业的社会价值,使他们深刻感受到自己肩负的社会责任和使命,确立正确的就业意识和择业取向;表现在将来的从业行为上,通过教育使他们热爱本职工作,尽职尽责地履行职业义务,有较强的敬业和奉献精神。
四、实习收获
通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。其次,实习期间,我对项目的开发有了一个较完整的了解和熟悉。在实习过程中,我学到了许多在学校学不到的知识和技巧,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。再次,个人日语水平有了长足进步,对日后生活工作颇有裨益。
此次毕业实习,我学会了运用所学知识进行软件开发,学会了如何跟同事进行合作沟通。积累了处理有关人际关系问题的经验方法。同时我体验到了社会工作的艰苦性,通过实习,让我在社会中磨练了自己,也锻炼了意志力,训练了自己的动手操作能力,提升了自己的实践技能。积累了软件开发的经验,为以后工作也打下了很好的基础。实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我都会因涉事而成长。
it工作个人心得篇10
我在一家叫做 Coverity 的公司工作,我住在三藩市(San Francisco)。Coverity 是一个奇怪的公司,三藩市是一个奇怪的城市。
Coverity 制造一种叫做“静态分析”(static analysis)的软件。这种软件可以在不运行程序的情况下,经过对代码的分析,自动的找到程序里面可能出现的问题。这有点像我之前给 Google 做的那个 Python 分析器,只不过针对另外的语言(C,C++ 和 Java 等),分析的侧重点不同,能处理代码的规模也貌似大一些。还有就是这么多年了,久经沙场考验了。
Coverity 具有世界上最先进的一些技术,所以麻雀虽小,却让很多人离不开它。恐怕很少有人知道,这小小的公司的忠实客户,包括了一系列的大拿:美国宇航局, 波音, 洛克希德马丁,雷神(Raytheon),BAE Systems,丰田,欧洲原子能中心(CERN)…… 貌似几乎所有对代码质量不敢有丝毫差错,又不得不用像 C++ 这样毛病众多的语言的公司,都购买了 Coverity 的产品。比如最近的火星好奇者号上的所有 200 多万行代码,都经过了 Coverity 的静态分析。当然,如此精密的设备不可能光靠 Coverity 查一下错就能确保万无一失,它必须依靠很多其它的技术,但 Coverity 确实是这些东西的开发过程里面比较重要的部分。
我必须承认,Coverity 给了我足够的启发,甚至间接的让我发现了自己之前做的 Python 静态分析里面存在的一些问题。Coverity 的产品在大规模的代码上面的成功,也让我意识到了自己在 Python 分析器里的一些突发奇想的设计的正确性和价值。如果我现在做一个新的 Python 分析器,它将比原来的精确和高效(也可以推广到其它语言比如 JavaScript)。我也清楚的看到,Coverity 自发研制的一些“不大严谨”的做法,其实比程序语言领域里面一些看似高深的“逻辑”还要“正确”。这些微妙的“提示信息”,让我把多个领域的知识串通了起来。所以我觉得跟这公司还有点臭味相投,加入 Coverity 也是不枉此行的。
然而我也发现,Coverity 缺少我拥有的程序语言理论知识。绝大部分的 Coverity 工程师没有系统的学习过 lambda calculus 和函数式编程。在我的 Python 分析器中,其实包含了 Coverity 还没有的技术。Python 的静态分析本来就比 C++ 和 Java 之类的难,然而我的实现却异常的简单。这些微妙的技术,貌似很多人都可以说他“会做”,但是他们却很难把它做对。这就像“CPS 转换”一样,很多人都说他会做,可是真正做对的只有极少数人(我是其中之一)。这些技术源自于我对程序语言本质的理解,源自于 Dan Friedman, Kent Dybvig 和 Amr Sabry 等老师的教诲,也源自于我自己辛勤的实验,实验,再实验…… 在我简短而优雅的代码中,包含了许多人需要花费好几倍的代码长度才能达到的目标。所以虽然 Coverity 的工程师们技术实力很强,但在代码的简单程度和对程序语言语义的理解上,真的很难达到我的程度。
这就是为什么我经常能够一眼就看出 Coverity 产品里存在的问题,并且很快的修正错误。举一个简单的例子,有一天我修改了一行代码,使得产品在某些 benchmark 上的内存使用量减少了一半。我为什么可以做到这一点呢?因为在我的 Python 分析器里,这个问题是从一开头就不存在的。它源自于一种幼稚的解释器写法,有点像 GoF 的《Design Patterns》里的那种。Coverity 的代码里面有好些类似的问题,都是我自己根本不可能犯的错误,我都没有机会给他们改进。我不是想贬低同事们的水平,他们都是 Stanford, Berkeley 等学校毕业的高手,可是我也很清楚自己的技术地位。
所以我就经常发现这样的麻烦事:我顺手改掉了一个自认为很显然的问题,或者一个我根本不会犯的错误,然后就发现有大批的测试需要被修改,我也会被要求写出“regression test”,用以防止同样的错误再次发生。某些同事对于测试的战战兢兢的态度,其实跟我当年在 Google 实习的时候没有什么两样。看到这里的问题了吗?这些我“根本”不会犯的错误,几分钟时间顺手就改掉了,但是我却要花成天的工夫去修改和创建测试,防止它“再次”发生。我不得不说,在这些测试上所花费的工夫,占用了比我修改代码多好几倍,甚至几十倍的工夫!
想想这六个月以来我干了些什么,再比较一下在 Google 实习的那六个月独自从头做出来的东西,我发现自己简直什么也没有干。这就是我不喜欢“测试驱动开发”(TDD)的原因。在 Google 的六个月里,我无视同事对于测试的要求,从无到有的做出了如此精密的系统,一个测试都没有写照样做得好,为什么呢?因为我的代码非常的简单清晰,我随时都可以把它们完整的呈现在头脑里面,从而让“心灵之眼”可以看到可能出现的错误。也许这就是所谓的“逻辑思维”。
对测试过分依赖的人,往往不具有这样的思维能力。他们不能够看到代码最简单的本质,所以需要做很多试探,以求达到“近似解”。为了不至于偏差很多,就写很多测试,用以捕捉和防止每一次的错误。这就像一个初学画画的人,一点一点的描,用橡皮反复的擦,可总也抓不住事物的精髓。这些人对“错误”的记忆能力特别强,往往深入的追究一块代码是“如何”错的,“为什么”是错的,下次如何才能不犯同样的错误。
然而我却没法记住之前的代码是如何错的,我也不想知道为什么它是错的,我只记得“正确”的代码是什么样子。错误的方式有千万种,可是正确的却往往只有一个。把脑力浪费在记忆错误的东西,这就是为什么很多人不能写出真正优美而正确的代码。我受到的训练让我可以直接得到正确的结果,所以测试对于我来说分量没有那么重。当我的代码需要大量的测试才能确保正确的时候,那就是它该被推翻重写的时候。所以我的代码往往没有任何补丁和变通,可以说是无懈可击。这就像是一个真正会画画的人,他闭目沉思,然后一气呵成。当然,优美的代码并不是一蹴而就的,有的代码被我推翻重来几十次才最后成功,但我最后的代码不留下丝毫错误的痕迹。所以我觉得,看一个程序员的水平,不要看他留下来多少行代码,而要看他删掉了多少行。
我觉得做 Coverity 的工程师真累。这种累不止在于以上的技术层面的繁琐,而且在于管理层对工程师的缺乏尊重以及不必要的压力。这让我在受到了足够的“启发”之后,开始怀疑是否还有继续为它工作的价值。对于公司管理,以及对于 IT 行业总体的看法,我还是以后再讲吧。