我决定比较具体的来记录一下某一天的某个工作,因为某人总说我工作很简单,很不爽唉。
最近压力比较大. 首先就是本来只有一个人向我分配工作,现在变成3个人向我分配。往往A给我的工作我还没有做完,B又向我的Wait Queue中扔2个。
其次,现在大家好像已经不管我是Junior还是Senior,也就是给我的工作也不看是针对初级选手呢,还是高级选手,全部都直接说: Ethan,来帮我看一下这个Job,3小时后给我结果可以么。就向上次那个金发妹,一下给我5个不说,还说2天可以完成么,客户等着呢。然后她就可以坐在远程的家里面(她们经常就在家工作),等着我的结果。有的时候,其实幕后代码结构很复杂,从前边看好像很简单的样子。
再次就是,大家都只简短的给我一个描述,其实根本业务逻辑都不明确,也就是,我要不停的去问,有时候分配给我工作的人自己都搞不清他到底要干什么。有些工作很晦涩,我还要通过电话讨论。没有任何人给我Training,没有任何人给我文档,代码里面也没有注释,没有任何我说数据库怎么设计的,什么都没有。自己想,想不出来就走人,就像上个做我位子的金发男生,3个月试用期,做不出来,就byebye了。
现在用照片来记工作的笔记,比如今天上午的这个工作 25207。
上面的都是我的工作,我要一个一个做,永远都是别人一下就像我甩一个工作,有时候有人喜欢put deadline,要承受住压力。同时,我要做CTTT(澳洲消费者协会),TAS(塔斯马尼亚政府机构),DOCS(澳洲执照管理局)等的项目,也就是我不是工作在一个项目上,而是多个。
今天上午,一到公司就打开电脑,开始做25027。
打开25027,看Job Description.
通常他们只写2句话,看不懂的话,你必须打电话给客户或者分配你工作的人。注意,其他人都是外国人,你要是听不懂,无法讨论,就... 有些外国人语速很快,在中国的外国人说英文,何在国外的外国人说英文是2件事情,而且有些问题很晦涩,很逻辑,也很抽象,我用中文就已经很勉强能表达清楚了,别说是英文!如果遇到这种工作,自己看着办吧。
这个我勉强能看懂,差不多是这样。
这个问题是,我们的系统有很多用户,比如Anderson Pamels, Davinia Field,.... 然后点击一个用户,比如Kharmax,她有几个职责,比如MCMS Application Group, System Supervisor...等。这些都没有人告诉我,这是我第一次来看这个DOCS的权限系统,我猜每个Role有一个或者多个权限吧。也就是User 联系 Role 联系 权限 联系 权限配置。
这是我猜的,没有人告诉我,我要先说明。
然后问题是,比如Kharmax,你可以向她加roles,但是当你remove她的一个role,然后Save,的确在Page里面是没有了那个比如Sysadm的role,但是一刷新又出来了。
接着,不管你如何了,你自己去把这个问题解决。你要找到为什么Remove之后没有效果?没人告诉你,不懂就回家了哦。
你看到的只是页面而已,而我要看的是背后复杂的程序。
记住,没有人告诉你是怎么回事,没有人给你讲解数据库构造,没有人向你讲解类的构造,自己去摸索。时间是3小时。
后台,IELTS这个Project就是DOCS,左边你可以看到所有的代码包括JAVA, JAVASCRIPT, JSP,CSS, AJAX... 比如左边的一个package,org.cms.action,里面有100个JAVA文件,每个JAVA类有很多方法。几万行代码,你要明白哪里是你要找的地方。
然后登陆数据库,去推敲到底哪些表可能有关系。
比如对于数据库的一个表,你要明白怎么生成,生成哪些类来持久化数据,怎么封装JDBC,类怎么继承其他类,怎么更新,删除,插入,读取数据,怎么制作你自己功能的类....
一个项目有很多很多代码,你要在这么多代码里面找到可能出问题的先,再说,找不到?回家。
首先你要从问题的地方开始从JSP追踪问题。自己删除一个role,然后remove。自己设置断点,你要知道到底在哪些地方设置断点!没人告诉你问题在哪里,没人告诉你要在1000个文件中的哪个文件的哪行设置断点。
从JSP的代码来找逻辑到底去哪里了,比如这里的Remove按钮。
省略一些思考和寻找的步骤,我设置了断点,找到了逻辑的部分,这只是一个开始。
你开始从上面观察,内存里面的变量,每一步的变量有哪些,哪个集合里面的Size应该是2,这里确是3。Make sure你知不知道自己在干什么。
但是你怎么知道这些代码,一个调用一个,一个调用一个,到底怎么设计? 没人告诉你,自己去想,自己去画UML图,试图从没有注解的代码来学习到底这个Security模块怎么设计的。
这是我画的图。
现在总算有点点的头绪。那么开始不断的想,不断的追查。
以下是我设置的断点们,我爱breakpoint,不然我就死了。
然后不断地想,不断的追查。
时刻要记住内存的各个变量的哪个东西有问题,本来应该是什么,现在确是什么?
要紧紧跟着逻辑走,想,绞尽脑汁!
想!
想!
想!
想!
想!
找了很久,终于开始明白可能是哪2处有问题,逻辑问题。
只加了一行代码,以为对了,失望,没有对,还是老样子。
继续!!!!
想!
终于找到了,非常非常隐秘的逻辑错误!我已经不知道怎么解释,反正我知道是怎么回事,但是我解释不出来!!!! 也就是我中文很好,我表达能力很好,但是有时候我还是解释不出来这种问题!
不要以为IT英文就可以不好,相反,我觉得IT英文至少雅思7.5以上!不然别来澳洲。
我开始试图加代码。几番测试,终于成功。
于是开始重写代码。
确定完成工作后,开始更新公司代码系统,包括数据库,如果有问题的话。这里没有。
更新代码库。
终于结束,等待验收。
其中中间很多挣扎的步骤,思考的步骤,我都无法描述出来,因为都是动态的。我只能捕捉几个片断。
当你做完后,
你要明白:
这只是一个3小时的工作而已!
Jobs after Jobs,
我不是凭运气毕业后,还没有申请绿卡,就瞬间找到工作的,我也不是工作很轻松,尊重 尊重... 尊重其他技术人员的工作。商业的东西谁都看得懂,谁都会说;技术的东西,没多少人真的那么有信心。以后转入去做Business Logics去。><
























402



被折叠的 条评论
为什么被折叠?



