需要学习新技术来解决工作中的问题
- 这里提到的新技术,是对你来说,是新技术。
- 当预计到需要花很长时间时,就需要先跳过这个问题,如果不能跳过,请求团队成员帮助,或者换一种方式实现,否则,需要请示上级,或者说告之上级,让上级来决定下一步该如何做,一般来说,上级会根据项目进度和整个项目的计划,适当调整你的工作、或者让别的成员给予你帮助、或者做出别的安排–比如干脆让熟悉的人来做这个功能,给你安排别的任务等。
- 如果暂时跳过,则应该利用好业余时间来攻克技术难题或者学习新技术。
- 否则,你没有及时与上级沟通,时间花了,进度又落后了,那么,到了提交工作成果时,你无货可交,上级对你的初步印象只能是工作能力不足。
- 如果在你没有请示上级的情况下,花了时间去学习新技术导致进度落后,事后上级对进度落后原因进行跟踪了解,对你的印象可能会变成:沟通能力欠佳。
- 如果在这个过程中,进度落后了,你又没有加班加点的努力工作,那么上级对你的印象可能还会增加一条:工作不够努力、责任心欠佳。
- 如果这个过程中,你加班加点了,但是你一下班就把这事儿忘到了九霄云外,虽然加班但进度依然落后很多,上级也看到了你加班了,他(她)对你的印象可能是:学习能力不足。
- 所以,如果需要学习新技术,那么,一定要尽可能快的解决实际问题,先解决问题,然后等有时间了再去做进一步的扩展学习。
工作建议
- 利用好上班的工作时间(一般为 8 小时),在上班时间,不要做与工作无关的事情。
- 在理解相关代码与业务、完成工作任务之间需要掌握好度,不要因为学习相关代码和理解业务需求花太长时间而影响任务的进度,但是基本的了解是必须的。同时,还需要深入的了解,这个很重要,不过,时间上的安排需要自己掌握,初到一个公司,额外的付出肯定是需要的,只有肯多花时间才能更快的融入团队、才能更快的进入工作状态。
- 任务的进度,一定要保持在一个合理的范围,否则需要恰当的理由。
- 原则上,给出需求,你来实现,除非确实有特殊原因,否则上级一般是不关注过程的,除非上级比较闲。比较忙的上级,通常都只关注结果。
- 拿到需求,在动手之前,先要分析理解透彻,根据任务的不同,可能还需要做适当的设计、写文档、写测试用例、写单元测试,把疑问都搞清楚了,准备工作才算完成,然后再开始写代码,实现过程中如果遇到障碍,需要尽早沟通,如果不确定用哪种方案好,向上级反馈,指出供参考的方案(至少两种)的优劣,好让上级做出正确的决策。
- 进入一个新的环境,一定要先了解团队对于编码格式的要求,可能还会有别的要求,比如 sql 语句不允许写 like、不允许多表 inner join 之类。
- 一定要抽时间了解整个团队现有的工作成果,比如公共模块,很多通用功能在公共模块里可能都已经有了,不能自己造轮子。如果在公共模块里找不到你需要的功能,你又认为这应该是一个公共功能时,需要请示上级把该功能添加进去,如果上级忙,那么我认为直接添加进去也是可以的,这要根据团队的具体要求,有的团队的公共模块有专人维护,其它成员没有源代码修改权限。如果你因为上级忙而直接添加到公共模块了,至少要以恰当的方式让上级知道这事儿,可能是项目管理工具里的任务完成描述,可能是工作周报,也有可能是例会,还有可能是饭间时间。
- 请注意,上面一点,是“抽时间”而不是利用上班时间专门去做这件事,除非上级是这么安排的,即便有安排工作时间让你了解现有的工作成果,但我认为,一般来说这个时间是远远不够的。
- 工作上,不能仅仅满足完成任务,在完成任务之余,对技术也好、业务也好,如果能做到知其然且知其所以然,那么,我相信,你的成长将会很快,领导也会注意到这一点的,下次加薪、提拔,可能就有你的份儿了,一旦领导愿意对你委以重任,恭喜你,你已经获得领导认可了。
- 你承担团队的工作职责、业务职责越多,说明你对团队、对公司而言,越有价值,那么,通常,公司也愿意分享更多价值给你,最直接的,就是项目奖金、年底奖金、加薪,如果成为技术骨干、成为技术部带头人,还有可能获得公司期权、股份,等等。
- 所以,骚年,努力工作,利用好可利用的时间。付出才有收获,回报往往与努力程度成正比。
短期成长目标
之所以说短期,是指,这个过程不能太长,要尽量缩短,如果你需要的工作时间(指工作日)太长,也许试用期都过不了就被 pass 掉了。
在充分了解了公司业务和公司现有软件代码的基本上,至少可以达成以下目标:
- 需求分析的时候能更加准确,能够在需求阶段就识别风险、影响、难点。
- 因为相关的业务和代码都熟悉,能够快速的判断问题可能的原因并进行排查和处理。
- 由于有对全局业务的理解,方案设计的时候能够考虑周全,从而设计出合理的方案。
最后,请允许我引用一段毛主席的经典语录
世界是你们的,也是我们的,但是归根结底是你们的。你们青年人朝气蓬勃,正在兴旺时期,好像早晨八九点钟的太阳。希望寄托在你们身上。