离开公司
时间过得很快,我从2019年5月22日加入xx,转眼都已经过去了大半年了,作为一个前端开发,本来我的工作内容仅仅只有web端而已,加入xx之后,开始进行小程序端的开发,并且做出了一点成绩,另外在app端也做出了一款产品,在分析了移动端原生开发技术,react-native,flutter,uni-app等跨平台开发框架之后,还是选择了较为简单的一种,app开发的水很深,打造一款性能高效,近乎完美的app首选肯定是原生开发技术,即Android端/iOS端原生开发技术,代码写两套,分别学习不同的编程语言跟类库,这样的开发成本是最高的,很遗憾我还未掌握这两台平台的开发技术,这也是我未来研究的方向,但不知道啥时候才能把坑踩完。
另外一个产品的诞生是有一套完整的软件工程流程需要跑的,从统计分析需求,整理归纳需求,原型设计,系统分析架构,开发测试最后上线每一环节都是很重要的,而我们公司实际上是缺乏一个懂需求懂设计懂架构的人,虽说我的兴趣广泛,但作为一个刚进入社会的码农来说,提高自身开发水平来说是比较有核心竞争力的,也是我目前正在研究的方向,举些例子:前端单页应用架构,通用性组件开发,性能优化,浏览器兼容,包括现在虽然没有大规模使用,但属于未来的技术如GraphQL,typescript等,这些技术有的可以提高开发效率,有的可以提高系统健壮性。所以花时间去提高水平完善一个产品是有价值的,做一个令别人信任,项目可以放心交给的人,而不是做一个侃侃而谈,谈吐各大理论,构建乌托邦,最后项目却胎死腹中的万金油或者持续很久交不出产品的混子要好得多。
另外将复杂的业务逻辑抽离组织的能力我现在很欠缺,代码往往写得一团糟,复用性,简单程度都不尽人意,目前提供服务的软件的开发模式往往都是敏捷开发,小版本迭代,所以代码质量差,高耦合,会导致项目的更新浪费大量时间在阅读自己的代码上,造成效率低下,所以模仿开源项目,阅读优秀的项目源码也是提高自身水平的途径之一。
目前我们公司没有一个标准的开发流程,代码的版本管理,审查review,持续集成,自动化测试,服务器运维等等方法都几乎没有成就,这些技术不掌握,在软件开发行业都不属于中等水平,所以后期将这些技术提升,做不到行业最好,要做到行业的标准水平,效率才会高,遇到问题才不会慌张。
我们公司的开发流程目前是我来将需求整理出来规划功能,不画原型图设计稿,在页面上写死,制定接口需求让后端写接口,然后需求变动时再自己重新开发页面,这一看就是野路子开发,没有开发规范跟项目管理,另外我也缺乏产品经理的基本水平,做不到高质量的设计,所以这点需要提高。
不监控后端开发接口的效率和进度,缺乏项目经理的一般管理做法,这点是需要我未来提高的,具体做法是熟练使用一款项目管理软件,严格按照标准开发流程来做事,虽然死板,但做事有章法有依据,开发流程的每一步骤都能监控到,问题都能定位到,而不是靠人为催促记录。