开发者有话说|程序猿工作多年之后的感悟
引言
时间过得真快,转眼间研究生毕业都 6 年了,在这六年的时间里面待过小厂、待过中厂,也待过像阿里巴巴这样的大厂。今天笔者就结合自身的实际经历和大家好好聊聊这些年做技术的一点感悟,希望对想要从事这个行业以及在这个行业但是正处在迷茫期同学们一点点启示。
立身之本
作为互联网技术从业人员,技术能力是我们在这个行业的立身之本。因此我们需要不断学习技术、不断锤炼自己的各项技术硬技能力。首先最重要的一件事情就是我们需要写好代码,这好像是一句废话,但是我相信有一定工作经验的同学应该可以明白这句话的意思。在实际的工作场景中,或许是由于项目排期非常紧张,或许是因为某个项目需要进行定制,我们经常需要妥协于现实的一些情况,编写一些扩展性不强、缺乏设计思考的一些代码。但是我想说的是,代码实际就是我们在互联网技术生涯中的名片,我们到底需要给别人一张什么样的名片实际还是取决于我们自己。因此无论是什么情况,我们都要好好编写我们的代码,多考虑一些异常情况的处理、多考虑一点未来可能存在的需求变化、多思考一些代码可扩展性的问题。只有写的一手好代码才能有比较好的技术发展的基础,否则代码写不好的话,就不要谈其他的系统深度优化、架构设计等高阶的技术了。
要有产品思维
虽然对于程序猿来说最重要的工作是开发实现产品需求,但是实际上技术本身是服务于产品的,因此即便是需求实现的再好但是对应的产品没人用或者没有办法为使用方带来价值也是徒劳的。因此为了避免研发资源的浪费,程序猿需要具备一定的产品思维,这样在和 PD battle 产品需求的时候不是以技术思维对待产品思维,而是以产品思维对待产品思维,以魔法打败魔法。当然我们的目的不是为了 battle 赢 PD,而是从技术角度出发,以产品思维为主体帮助 PD 能够更加理清楚核心需求以及非核心需求,这样才能将研发资源投入到具有更大业务价值的产品需求中。
关于程序猿为什么需要具备产品思维能力,下面这篇文章进行了详细的解释和说明,感兴趣的同学可以看看。
软技能
如果说技术能力是程序猿的硬技能,那么诸如沟通能力、协作能力等就是传说中的软技能。无论你是否承认,在技术类职场中,那些技术 leader 不一定是技术能力最好的,而是硬技能以及软技能综合起来相对来说比较优秀的人。因此仅仅靠技术好不一定可以在职场中有很长足的发展,还是必须要关注软技能在日常工作学习中的培养以及锻炼。因为对于一个软件产品来说,它不是某一个人单打独奏就能完成的,他需要 PD、技术、测试、项目经理等等各个角色的同学共同参与,也就是说需要不同团队的通力合作。因此如何能够和别人更好的进行沟通、如何能够更好的进行协作是每个程序猿都必须面对的问题,也是个人综合能力的真实表现。
关于技术人员的软技能,大家可以参考下笔者之前的文章,里面有对软技能的详细描述。
除了工作
从今年开始,相信大家感受到了互联网行业的寒意,那个吵吵闹闹的互联网行业好像不再那么风生水起了,各个大厂裁员的新闻总是不绝于耳。笔者突然明白一个道理,即便是你再努力认真的对待工作,但是假如你所处的业务不是公司的核心业务,或者说不是那么赚钱的业务,一旦公司遇到经营问题,那么最先被裁撤的就是这些边缘业务或者说不怎么赚钱的业务,不管你努不努力,不管你优不优秀,这是个非常残酷的现实问题。因此对于身处变革洪流的我们需要对自己自身能力、目前所处的行业业务以及未来的可能发展都要进行一个全面的分析,找到自己未来真正需要发力的方向,这才是非常重要的。另外我们需要努力改变自己的收入结构,不能只靠着工资养活生活,否则公司这边有一点的变化,都会严重影响当前的生活以及家庭。
版权声明: 本文为 InfoQ 作者【慕枫技术笔记】的原创文章。
原文链接:【http://xie.infoq.cn/article/b168404110104ee969ae8877a】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论