前言:软件开发工程师、程序员、码农。其实说的就是我们。但是,我更喜欢软件开发工程师,而不是码农。
说到这个就会提到工程师文化,工程师是有创新冲动的,是自我驱动的、是讲团队合作的、是热衷技术的…是乐于分享的、等等等太多了。 码农虽然是自嘲、但是,我个人是不喜欢的,因为 不想做代码生成器。哈哈哈,更喜欢软件开发工程师这个称谓。
对于刚入行的我们,需要注意哪些问题呢?很久以前,就想写这样一篇文章,但是笔力有限、精力有限。拖到今天才开始动笔。
就以下面这些方面简单说一下。
沟通问题
沟通交流是开发者最重要的,你不仅要能听懂别人说的,你还要让别人听懂你说的。沟通交流,目的是让大家达成一致,这样才能更好的协作。
1.听不懂别人在说什么。
会不会有时候在需求分析、安排工作、同事交流的时候。感觉别人说的东西听不懂,或者根本就没听说过这个名词? 有的话,其实是正常的。我刚工作的时候也是这么过来的。如果你遇到一个比较好的前辈,愿意带你的话,那你就太幸运了。好好跟着学,不懂的多问问。如果没有,那也不要抱怨。人家没义务给你解答问题。这已不是在课堂了。
2.为什么会出现这种情况以及如何解决呢?
很明显,认知差异,在别人看来,这个术语大家都知道,也都是这样交流的,属于常识。但是对于你来说,它是个陌生的东西。认知差异,让你们之前交流比较累,你听不懂,人家又懒得解释(常识),知道原因后,就好解决了。
作为软件工程的从业者,利用搜索引擎检索你肯定会的,那就去搜一下“软件工程名词解释” 类似这样的关键词,有很多前辈记总结的比较好,我相信对你有帮助的。消除(降低)认知差异,会让沟通畅快很多。明白别人表达的东西,再让你去做的话,也就不难了。至少你可以面向网络编程。
做事问题
可能在工作中,自己写的文档、代码都会被怼,这个也是正常的。新鸟嘛。哪有不被怼的,不过,被怼了别生气,这样你才知道自己在哪些地方有问题,方便自己调整。这也是提升自己的一个方法。
那怎么做事儿呢? 我觉得下面这些可以参考。
1.做一个有洁癖的开发者
我工作了几年,共事过的开发者也很多,但,如果说遇到的有洁癖的程序员的话,寥寥无几。一只手可以数过来。为什么要做一个有洁癖的程序员? 举个栗子:你写了一个函数,也不整理格式,就乱蓬蓬的放在那儿。有洁癖的人看着就会不舒服,肯定要整理格式,排列整齐。该重构的重构,该封装的封装,该注释的注释。要做到,干净、简洁、明了。一眼就能看清楚你做了哪些操作,你的思路是怎样的。如果你没有代码洁癖,就放任一坨乱糟糟的东西在那儿,反正自己也无所谓,那之后的一切都白搭。
2.做一个诚实谦逊的开发者
我们是做技术的,讲究的就是求知欲、探索欲。知其然,知其所以然。最忌讳的就是不懂装懂,不仅影响自己的成长、有可能还会影响项目、影响团队。不懂就提出来,求知,不丢人。现在不知道没关系,问了查了就知道了。
既然是软件工程、那同事间协作、团队间协作是必然的。不到最坏的情况下,不要咋咋呼呼的。万事都可以沟通商量。有争议是很正常的,沟通就是为了达成一致,不要觉得别人不同意你的方案就是针对你。有争议就PK嘛。你的方案好,那你就有底气PK赢对方,实在不行,就让其他同事或者领导旁听。大家拉出来练练,达成一致就可以了。
个人成长
开始工作之后,跳槽这个话题是免不了的。特别是目前大环境不好的情况下。那我们需要的就是有随时跳槽的能力。
说到这个就不得不说效率问题,一般工作中都会排期的,看着自己的时间节点。效率高,做完了,剩下的时间都是自己的。用来学习新的技术,带薪学习,难道不香吗?天天写代码也会很烦。
大部分的开发者都是写业务代码。可能觉得写烦了。或者说有的人不喜欢写文档,需求分析文档,详细设计文档,调研文档。
其实我觉得这些文档对我们的成长更大,代码写不来,可以Google,但是分析问题的思路,对需求的理解,怎么去设计。这些才是最重要的。详细设计出来,那编码也就是体力活了。
未完…