技术leader如何技术选型
技术选型是保证项目的进度、效率、产出,每一个技术leader必备一生的作业。
是否要采用新技术?
很多技术人员听到新技术,就想使用最新的技术,比如react.js、mvvm、mvp等等。
这其中不乏是听了一些大牛的会议呀,看了微博,国外google、facebook推荐啦。
不学习感觉就要落后了,还有的纯粹就是树立自己也是牛人的形象。
要不要采用新技术,有几点可以参考:
1、自己首先实践,比如搭建demo,学习新语言等
2、深度理解技术上的作用,带来不同的技术思路,对比以前的技术习惯,思考为什么
3、有没有聪明的人一起和你在团队实施,这关系到项目的开发速度,质量等,带动整体技术的成长等。
4、最重要的是,是否给业务带来价值,这个是最难理解的,很多开发人员只关心开发阶段,业务流程不熟悉,业务数据也不关心,这是最致命的。
技术选型上面踩过的坑。
1、过新,react刚出来的,我们就打算在app中进行开发,刚开始的时候是很快,不过后面发现的bug解决时间大大增加,版本一直在更新,新的插件也不完善,最后基于现有开发力量,果断抛弃。
2、过旧,看似发展不错的开源项目会因为新的方案出来而代替,停止维护也有,特别是淘宝开源出来的东西,开源后就不更新了。
3、后端开发大部分是PHP,部分项目实施了golang,虽然golang运行的不错,但后续维护人员严重缺乏,当然,并不是我们不要使用golang,而是要整体考虑研发人员的协作,人员匹配问题,特别是业务发展比较快的企业,需要补充新成员进来。
目前项目中用到的比较好的开源软件:
1、weui,微信开源的前段ui,不管在ui上面,还是体验上面,5星推荐
2、bootstrap,后台管理平台的必备,开发可以自己搭界面,省掉产品原型,前段代码
3、vue.js 目前最火的,轻量高效的MVVM框架,微信小程序也是MVVM模式
4、Yii2 PHP最好用的mvc框架,自动生成代码,特别适用后台做管理后台,几分钟做一个增删改查
5、Beego golang,几年的发展改进,赶超其他golang的框架
6、Elasticsearch,当数据库到一定量后,用来改善数据库性能和搜索性能
7、Ubuntu,相比centos、suse等Linux系统,我更喜欢新的软件
8、nginx,相比apache,不相上下,都是好软件
当然,不要保守,现如今,没有靠一个开发语言能一统江湖了,前段,后端,服务器,大数据,机器学习等等,尝试你喜欢的。
总结:说要用,说不用,只有自己用了才是技术选型。