每晚10点,捕获技术思考和创业资源洞察
一名合格的程序员应该是什么样子?
文
洪生鹏
表妹之前报的是数学专业,想转专业学软件开发,想听听我的看法,原因是我在IT行业里混了有一些时间了,这些年来,每天如同勤劳的蚂蚁搬默默地搬砖。回想起自己刚开始从事编程的情形,感慨万千。我只是一名普普通通的码农,和优秀的程序员相比,真的是自惭形秽。
该不该支持她?先谈谈我对成为一名合格程序员的一点看法。
一、定位问题、解决问题
bug对程序员来说并不陌生,开发中我们遇到的bug,有的其他人也遇到过了,并且修复了分享出来了,这时候我们通过Stackoverflow论坛,或是Google等搜索引擎找到答案。
但是我们在工作中也可能会遇到一些疑难bug,这些bug我们在搜素引擎上找不到解决方案,特别是一些bug无法重现,可能好几天都不得其解。
做移动开发时,有次我就遇到了一个客户反馈的bug,因bug重现不了,定位不到问题,迟迟没有解决而搞得人焦头烂额。
简单描述这个bug:
同一款类型手机,系统版本高点的手机正常,其他机型没有问题。单独客户的那款类型的手机出现问题
刚开始怀疑是该类型手机的自身的应用锁功能导致的,后来客户反馈,他的手机只有我们这个应用会出现这样的问题,其他的应用程序正常。
最后重现问题的方法。因为之前给过客户两个不同安装包,虽然是两个不同安装包,但两个包改动并不大。
于是乎,试着卸载手头的手机的最新应用程序,先安装旧的安装包,再安装新的安装包,bug重现了。
通过解决这个bug,让我明白了,对于用户反馈的bug,我们开发者要尽量从自身找问题,冷静分析问题。
实在不知如何下手,请求队友们帮忙,别人的一句无意的话,可能能帮助你解决问题,尽可能少的否认问题的存在。
解决问题是我们的义务。公司请我们来目的只有一个,解决问题。工作中要是遇到困难,这很正常,我们需要做的是主动寻找答案和办法,哪怕办法不妥,也要想法设法去尝试解决,别轻易跟领导说,我不会。
有次听见市场部的领导安排一位同事定一个大会议室,客户下午要来讨论需求。虽然是大公司,但要定个大的会议室是很难订到的,弄不好还需托关系。这个同事问了楼层前台,前台说没有大会议时,被其他部门定了,于是他跟领导说“前台说没有大会议室了,我订不到了”,领导当时就急了,“那怎么办?让我来定吗?还是叫客户不要开会了?”
这位同事在发现自己订不到会议室后,应该做的是自己想办法解决问题,向前台说明此处会议的重要性,看看能否和其他部门协商一下。解决问题的能力是员工最关键的能力。在工作中遇到困难特别正常,在这时,我们有一项义务,就是找到解决问题的办法,而不是制造问题,让领导来抉择。
二、心理承受能力强,承受起压力,承受得起委屈
现在招聘平台对于招聘程序员岗位一般都会附上这么一项:
抗压能力强,承受能力好一项。
刚毕业的时候,到一家软件创业公司上班,公司规模不大,加上领导只有6个人。
由于自身基础不扎实,几乎每次挨训的都是我,在团队中我是属于打杂的角色。
一会用PS切图,一会儿用css写样式,一会儿用jQuery写个简单的Tab切换效果,那时候jQuery还是正火,这些活倒是没话说。只是遇到问题时,压力接踵而至,感到一阵阵的无助。
最让我印象最深的是做会员模块时,要实现在线支付功能,得与支付宝、财付通第三方支付sdk对接,在此之前,我对这些一点都不了解。
不怕你笑话,当时心里那个怕啊,虽说专业是计算机软件的,可同学中从事专业对口的的,寥寥无几啊,指望同学指点几乎不太可能。
找同事帮忙也就更不太可能了,他们都很忙,负责的模块也多,当时心里就慌了,要是没能完成任务,岂不是得丢了饭碗。好不容易应聘到的岗位,如果因此就没有了,心不甘啊。
在做程序员前,早就听老师说过,程序员最关键的是解决问题,甭管你之前学没学过,只要在你职责范围内有需求,你都得想法设法把问题处理。
想到这,心静了下来,逐个访问