一.引言
写给还在校内coding的热爱编程的小伙伴们。可能你在学校上着好几门编程语言课,或许还是ACMER,又或许你是导师的得力助手,整天都在写着高大上的代码,做着好几个项目。我不会给你太多关于coding的建议,只是有些许经验分享给你。
二.理解在校内编程和工作中编程有什么不同
(1)在校内完成一个项目需要几万行,工作中只需要几千行。
当你在校内接到一个项目时,你可能有机会独自去完成一个完整的模块的开发。然后你按需求耗时写了几个月,写了上万行代码,终于实现了一个很牛逼的项目。但是在公司,只会给你一周或者半个月,你必须完成同样规模的开发任务,当然指的不是代码规模。你会发现,你必须使出浑身解数去学习新的东西。
学习设计模式,学习你看来老掉牙的框架,学习公司前N代程序员的代码。接下来你会发现,你大多数时间花在了学习上,少部分花在了改bug上,而用了极少的时间coding。然后你有一天突然发现,你以前一个简单的功能,你冥思苦想写了几千行的代码,现在只是调用了几个API,用了几个框架,自己写了一个不到十行代码的方法。你会觉得框架什么的,设计模式啥的很重要,所以你赶紧买书学了个遍。但有一天你很熟练的敲了几行代码,调用了API,然后恐怖的事情发生了,你的代码并没有实现你想要的功能,并且你完全不知道错误发生在哪里。最后你会发现,工作中的代码量远没有在校的多,但更严谨。
所以,不要用代码量来衡量自己的编程能力。代码少了并不是学习的内容少了,而是你需要花更多的时间去理解底层的实现,思考“什么时候学习框架,什么时候使用框架?”,我的建议是学不学视基础而定,用不用视业务而定。
(2)在校考虑的是代码和技术,在工作中你还要考虑,业务,测试,质量,生产效率,可持续性。
生产环境是环环相扣的,一个好的产品上线需要经过复杂的流程,而你应该保证的是,你的代码在生产环境中的稳定性,要保证你的代码在上线时已经做过充分的测试。
(3)在校你可能独自开发,在工作中你因该学会同其他同事沟通交流,协同合作。
在团队开发中,及时有效的和你的同事沟通可以帮助拓展你在思路,了解你不曾了解的知识。
(4)在校你可能会接触很多新的项目,在工作中可能需要你一直在维护一个项目。
生产中,一个产品会不断地优化并保持迭代的速度,而你可能会一直在优化你很久以前开发完成的项目
三.该作何准备
(1)端正态度。
你不可能什么都会,你不可能都不会。工作只是学习的开始,学会向他人学习,学会独自解决问题,学会利用你的技术帮助他人。
(2)做好身体和心理上的准备。
持续的开发痛苦的,即使你是狂热的编程爱好者。积极调整自己的身体和心态,脚踏实地的解决开发中的难题。
四.总结
作为一个刚踏入社会的菜鸟程序猿,毫无廉耻之心的写了这个系类的文章。我的心是比较忐忑的,担心有人看了这几篇文章而受到了我的观点影响。而我只是希望多几个称职的程序猿。
欢迎加入墨加学社-技术群
网友评论