在交流中感悟
最近与[技术鸟]的一个初入软件开发行业的小伙伴交流了一下关于软件开发流程和程序模板的问题,结合自己这几年的编程之路,便与之探讨了一番。随后想来,这应该是一个比较有代表性的问题,根据自己当初从零开始到如今独立开发一路走来的路和踏过的坑,应该能写点什么,对于很多徘徊在门口的同行能有点意义,遂执笔成之。
这位小伙伴正值大学之际,也刚刚进入软件开发行业不久,先来看一下他的问题,这里我选择性地整理了几个极具代表性的问题:
你说大二学完就出去好吗?培训了解公司流程,能简单说说公司开发流程吗?开发手机应用一般不会一点点完全自己敲代码吧,可以套网上找的模板吗?加了那么多群,一直听人说框架,还是没怎么明白什么是框架啊?我也是因为最近做考试设计的时候经常套模板,直接修改就用上了,心里有点负罪感,也不踏实!就说登录注册,我自己写的前面,后来下载了一个模板,我的瞬间被轰成渣!
这些问题其实我也经历过,我想对于大多数从业者来说,当初走入这条“不归之路”时也或多或少历经同感,有所迷茫。归纳一下这些问题,其实就是两点:软件开发流程和程序框架模板。下面谈一下自己的感受吧。
软件开发流程
软件开发流程,或者说是公司软件开发流程,对于尚未踏入职场,甚至刚刚踏入行业并正在入门学习软件开发而言的同学来说,个人不太建议大家过于纠结这个流程问题。就我自身来说,大学期间,对于编程这个词都没能理解透彻,甚至不能说出程序这个词的内在含义,又如何能理解软件开发流程呢?只有掌握了这个流程中最重要的技能——软件开发,才能谈整个的流程。
任何行业的学习都是一个阶段性的过程, 在每一个阶段都有当前阶段重要的事情要做。所以,在入门阶段,也就是学习阶段,最重要的就是一心掌握编程知识,专心打好编程基础,稳扎稳打,尽快步入初级软件工程师阶段。当你能够真正做到独立开发软件的时候,再来谈软件开发流程。至于公司软件开发流程,进入职场的实习阶段自然而然的就会接触到,并在实践中理解。
所以,培养编程能力才是最重要的。初入职场的实习生也根本无法控制软件开发流程,因为一开始你只是这个流水线上的一部分,还是被动安排的。跟着老司机一起做事,并在工作中真真正正地接触并了解一个公司的软件开发每一个流程,你会发现,一切都是那么自然。
开发框架模板
在国内,很多行业中的初学者,包括有几年经验的从业者,都被一句很经典的话给骗了:不要重复造轮子!并附之堂而皇之的言论:我们要敏捷开发,快速迭代。但是,说这句话之前,我们扪心自问一下,我们会造轮子吗?如果不会,那就真的只是IT界的搬运工了。
首先,不得不承认地是,软件开发过程是一个枯燥无味的过程,特别是在互联网产品迭代更新的阶段,公司业务需求变更频繁,编码与搬砖无异。很多人喜欢开源框架,GitHub、开源中国等网站应有具有。于是,在一个项目中,集成各种知名不知名的库、Jar包等。最后一出现问题,两眼一抹黑,无从下手。甚至狗急跳墙,各种换框架,慢慢地脱离了解决问题的本身方法。
其次,一些优秀的框架确实能够事半功倍,提高工作效率。但是,在使用之前,我们得保证的是,自己真正地理解了它的工作原理,实现过程。对于这个,一个很好的解释就是,虽然我做的没它好,但是我做得出它实现的功能,只是路走得远了一些,效率低了一些而已。然后可以通过阅读优秀开源框架的源码,查看WIKI,熟练地使用到项目中去。这样,就算出了问题,也能够保证很快定位到错误出处,迅速解决问题。
最后,对于初学者,或者说是初级工程师,我还是建议多尝试着自己编码,虽然网上的例子很多,还是尽量少用框架。记住,自己走过的路,才踏实;自己填过的坑,才结实。还记得读书时代,一个很好的例子就是,答案仅供参考!编程也是一样,参考是为了更好地学习和进阶,而一味的“拿来主义”只会让你我停留在原地,甚至退步。
给未来一点时间
文中并没有具体介绍软件开发流程和框架模板的使用,以后抽时间在做总结,结合自己的经验,细数公司软件开发的每一个流程中应当注意的事项和框架模板的正确选择和合理应用,欢迎大家关注交流,一起做得更好,飞得更高。