先说几个感觉是误区要列出来的地方(移动互联网开发):
- 软件开发是做工程,有多方面的资源限制(工程思维处理问题)。
- 软件开发,算作是脑力劳动,不是体力上的搬砖,但也不是像科学家那样在做科学研究。
- 软件开发,其实不是整天对着电脑敲键盘,与人打交道的时间仍多于跟电脑打交道的时间,只是相对其他工作用电脑多点。
好的程序猿,与个人性格相关。
首要的是养成好的习惯,能注重这点,可以减少很多性格弱点造成的不良影响。最常见的是遵守代码规范,代码规范看似是些条条框框,但很多都可以有效降低错误,即使粗心也能避免或者快速定位小问题,记性不好,也可以很快读懂自己的代码😂。
谦虚,承认个人的局限性,能发现自己的不足,虚心学习别人的经验,才能进步快,借助已有的轮子和模式,可以少烧脑。
相信逻辑(not leader),相信自己的判断,也乐于承认错误,项目上提供准确的评估以及进度(功能完成度/完善程度)。犯错并不可怕。进度delay也是易出现的情况,软件开发受多个方面影响,项目也有时间、人力多方面的考量,真实的进度才能利于项目及时调整。有个很老的说法,程序猿说能做完的时间是1天,那么能做完善的时间是doule day。还有个说法是开发说快做完了,其实相当于完成了一半。
好奇心,求知欲,略过。
懒惰、聪明是双刃剑,为了长远的一劳永逸可取。
沟通与合作,多数工作都需要这点。软件开发,跟人打交道的时间比机器多(app开发)。开始写之前,跟产品等要确认清需求。写的时候,首要考虑的是代码自己/别人能否看懂,其次是计算机能看懂。修bug时,还是要不停的跟各岗位交流。
软件开发是做工程,而不是做科学,不是与问题死磕的,遇到问题,有直接解法固然好,没有的话 可以换个思路,用plan B,plan C来绕过去(这句有点熟悉)。
(也许对于天才不适用,其聪明细心程度、记忆力等非常人可比)