从工作中认识自己

  看了下时间戳,原来距离上次写已经过了3个礼拜了。不过说来也无奈,公司对版本更新要求高,以及客户一直关注版本的质量和效率,所以大部分人的周末都是在加班中度过,也没办法啦,谁让咱是苦逼的IT一族呢。

  再说说自己,尽管工作足足两年了,虽然毕业之后的半年在一个工作室里浪费了美好的青春,好在自己及时醒悟,跑来杭州让自己清醒清醒,到现在也已经一年半了,确实收获很多。在现在这个大家庭里,很好的让自己认识到与别人的差距,很好的让自己有一个更好的方向。以前幼稚的认为,写程序的,不需要拥有更好的学历,一个本科毕业足够了,但是来公司之后发现这个确实是自己幼稚的想法,接触了那么多研究生,不管是刚毕业的还是工作多年的,我这个本科生一比较,简直了,哎,各种自卑(不过这也是我个人单纯的想法,其实很多本科生也是很赞的,同样公司部门里不不占少数这类人才)。举个简单的例子,我导师是大连理工的研究生,到现在工作4年左右,写代码确实很不错 ,而且他有一个很好的习惯,每天早上早早到公司先看书,充实自己。他桌上的那本书已经翻的不能再翻了,但还是觉得不够,还是看到他在一遍一遍反反复复的学习中。我呢,每天早上到公司吃早饭,逛博客,做一些有的没的事情。尽管我也会看书,但是相比于他来说,根本不值一提。从这个简单的细节也能看出一个人的自律能力吧应该,我确实还很欠缺。不过我也向自己申冤下,我每天在家7点起床,看45分钟的书再去上班,只是这45分钟的效率或许真的低了点,以后还有待改进。

  工作中认识到差距的,还有很实在的东西,那就是写代码的能力。拿最近的事情来说,确实让我很过意不去。上周主管让我做一个需求,在我眼里,就是一个需求,尽管导师不止一次的提醒我需要考虑的是功能之外的东西,我也确实按照这个步骤去做了,但是还是没能让自己满意。我考虑了,考虑到的是代码的重构,怎么把重复的代码汇聚在一起,但是有一个缺点, 我在循环里做了很多if else判断 ,这样实现了功能,却降低了性能,要知道在手机应用里,一个程序的好坏不仅仅是在功能上,还在于内部处理的效率,性能优化上。这也是为什么业界优秀的程序能得到大家的认可,而一些应用仅仅是昙花一现。还有一方面,我写程序的时候对线程的处理没有进行很好的处理,而最近的这个功能恰恰需要考虑多个线程交叉得到返回值的处理,这是个大坑,我做好了一部分功能 ,却将另外一部分抛到九霄云外了,结果呢,就是把这个屁股给我导师擦了。让他花了将近1天的时间,如果当初我做的好一点,根本就不需要这额外的一天时间,我们的版本或许就能早一天给客户,时间对于敏捷开发的我们来说显得异常重要,但我却搞砸了。同时这也是欠缺的另外一部分,就是写程序之前先做好规划,做好设计,而不是一上来就埋头写。说到程序的性能,我也不得不说, Android程序确实考虑的要更多一些。我和我导师的差距更多的是体现在这部分上。同样两个人去考虑一个问题, 他考虑的永远比我考虑的多,这就是差距。这也是我认识到的很明显的差距,虽然这个可以用我工作年限补上,但是或许研究生的经历也是我所欠缺的(就是不知道这是不是一个围城,是我对研究生特殊的情怀)。

  当然,除了写代码的能力,管理方面的差距也是不言而喻的。因为小组人多了,我成了衔接领导和开发的一个桥梁。以前是导师带着我们开早会,现在是我带着大家开早会,每天5分钟时间,却让我每天感觉亚历山大,生怕自己安排不好,其实我确实也做的不够好。之前导师带队,我每次都有认真听,认真记,结果每次到我自己带队,我发现欠缺的太多了点。任务分配不够好,任务安排不够好,任务优先级评估不够等等,以至于很多次开完早会,导师都会反问每位开发是否已经明确每天的计划,每当他问这句话的时候,我就知道又是我安排的不够明确,不够好,不然怎么能被他抓住破绽呢。面对任务,面对轻重缓急,这也是需要在今后的工作中更多的去锻炼才能得到的吧,暂且我就这么安慰自己吧,哈哈。

  工作两年,确实有很多的感悟,这仅仅是我最近感受最明显的几个,也是我觉得最欠缺的几个,其实在工作中,和导师对比起来怎么可能只有这两个呢。他的刻苦大家有目共睹,每天几乎最晚一个下班, 当我们都走完的时候他还在研究还在看书;还有等等很多,在此不列举了不然显得我很低能有木有。工作中,受他的影响也很多,每当看到我做的不够好的地方,他都会把我拉过去好好教育一番 ,让我受益匪浅,也让我更明白做一名优秀的程序员需要的特质;主管也是位不错的人,也会经常拿自己的经历来鼓励我,尤其是刚带队的时候,他给予的许多建议还是让我有一个很好的适应的过程。这就是程序员吧,自己琢磨的过程中,永远都需要有别人的指引,自己琢磨确实帮助很大,但是适时的接受别人的帮助,适时的去请教别人是不是也是一种进步呢,尤其是当你身边有很多很好的资源的时候,你不去利用,是不是显得很幼稚呢。

  两年了,自认为已经有中高级别的水平了,只是最近的经历又让我觉得是不是过于高估了自己,还是别人过于严格的要求了自己。不过这些都不重要,重要的就是认识到自己的不足,要想成为一名优秀的程序员,仅过了两年而已,还很不够很不够,需要更加痴迷, 更加喜爱这工作吧。在迈向优秀程序员的路上,永远奔跑中!

时间: 2024-08-28 19:34:17

从工作中认识自己的相关文章

[工作中的设计模式]享元模式模式FlyWeight

一.模式解析 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意.享元模式是对象的结构模式.享元模式以共享的方式高效地支持大量的细粒度对象. 享元模式:主要为了在创建对象时,对共有对象以缓存的方式进行保存,对外部对象进行单独创建 模式要点: 1.享元模式中的对象分为两部分:共性部分和个性化部分,共性部分就是每个对象都一致的或者多个对象可以共享的部分,个性化部分指差异比较大,每个类均不同的部分 2.共性部分的抽象就是此模

openstack运维手册(个人实际工作中整理)

openstack运维手册,是本人在实际工作中整理的,现分享!!!因水平有限,欢迎广大朋友指正.具体文档见附件.

软件测试工程师工作中常用的Linux命令

Linux系统有着众多的优点,比方开源.非商业版本免费.多任务多用户操作,因而Linux系统在非桌面范畴占有压倒性的市场份额.关于互联网技术工作者来说,控制常用的Linux命令也是一门必修课.下面罗列一些笔者在工作中常用的Linux命令. cd 切换目录 cd .. 返回上一层目录 cd . 进入当前目录 cd - 返回前一次的目录,即上一次的目录不是上一层目录 ls 查看文件与目录 用法: ls [参数][文件] 参数: ls –l 显示文件的权限和属性 ls –a 列出所有的文件,包含隐藏文

[工作中的设计模式]解释器模式模式Interpreter

一.模式解析 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 以上是解释器模式的类图,事实上我很少附上类图,但解释器模式确实比较抽象,为了便于理解还是放了上来,此模式的要点是: 1.客户端提供一个文本.表达式或者其他,约定解析格式 2.针对文本中可以分为终结符表达式和非终结符表达式, 3.终结符表达式无需进一步解析,但仍需要转化为抽象接口的实例 4.针对非终结表达式,没一种标示需要定义一种解

[工作中的设计模式]策略模式stategy

一.模式解析 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化. 策略模式的关键点为: 1.多种算法存在 2.算法继承同样的接口,执行同样的行为,为可以替代的 3.算法调用者唯一,算法调用者可以灵活改变自己需要调用的算法,从而实现计算. 二.模式代码 算法接口: /** * 算法统一接口,所有算法继承此接口 * @author zjl * @time 2016-1-24 * */ public interface IStra

工作中请注意的十点

第一:不要认为停留在心灵的舒适区域内是可以原谅的. 每 个人都有一个舒适区域,在这个区域内是很自我的,不愿意被打扰,不愿意被push,不愿意和陌生的面孔交谈,不愿意被人指责,不愿意按照规定的时限做事, 不愿意主动的去关心别人,不愿意去思考别人还有什么没有想到.这在学生时代是很容易被理解的,有时候这样的同学还跟“冷酷”“个性”这些字眼沾边,算作是褒义.然而相反,在工作之后,你要极力改变这一现状.否则,你会很快变成鸡尾酒会上唯一没有人理睬的对象,或是很快因为压力而内分泌失调.但是,如果你能 很快打破

工作中的感悟 (三)三个月碎碎念篇

感慨一下来这里工作已经有一个月了,从最初的不是很适应这里的节奏,到慢慢适应了这里的生活,中间的过程就像经过一场暴风雨的洗礼虽然说的有点夸张,但是也是差不多吧,同在学校比要累很多,不过坚信不管再累.也要坚持既然有人有干,那我们就可以干我们没有什么理由坚持不了.别人可以做到的我们一样可以做到. 刚来的时候以一种无所谓.既兴奋又有很多好奇的心态来到了北京,这里很多人梦想的地方,不禁感慨以后我也在北京这里开始了这里的生活,时间长了究竟会是怎样一种心境呢,据说这里压力大.这里消费高.这里租房忒别烦人,来到

注意编码工作中的小细节

人们常说"细节决定成败". 编码工作中,同样需要关注细节. 本文将给出3个小实例来说明编码中关注细节的重要性,同时给出作者对如何注意编码细节的一点见解(说的不对,请指正). 例1 这个问题如此地显而易见,竟然没有被发现. List<int> numList = new List<int>(); numList.Add(3); numList.Add(1); numList.Add(4); numList.Add(2); numList.Add(5); numLi

工作中一些经验

企业网站策划拙见: 1.用户进入网站的时候,要凸显出我们企业经营的重点,思考用户进来最想要看到什么,或者我们需要让访客第一眼看到什么. 2.做了百度推广.流量监控的企业,一定要经常观察访客经常访问什么内容页面:访问什内容页面的访客最多,停留时间较长.这样我们就能知道访客最关心我们产品的哪个环节,例如 介绍页面.价格页面.服务页面.案例页面等.这样我们就可以在访客关心的页面上花更多心思,从而留住访客. 3.要学会引导访客浏览网站内容.当访客访问内容页面后,一般都是从上往下浏览.此时页面内容一定要连

日常运维工作中如何确保你的linux操作系统安全

在现在这个世道中,Linux操作系统的安全是十分重要的.但是,你得知道怎么干.一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作.下面是日常运维工作中常用的几种Linux安全的策略方法. 1. 使用SELinux SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制.SELinux为访问控制添加了更细的颗粒度控制.与仅可以指定谁可以读.写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接.只能追加.移动一个文件之类的