一个好的技术团队应该怎么选择自己的开发语言

在过去的三年时间了,作为曾经的研发部经理,我和我的技术总监始终在为一件事而努力着,那就是选择一门合适我们团队的技术语言。

我们研发团队一共有9个人,分为三个小组:移动手机组、后端接口组、web前端组,如果按照大公司的做法,我们完全不必为每组应该选择什么技术语言而担心,我们可以在每组中选择一个组长,由他全权负责即可,公司层面只要最终的结果即可,可事情并没有那么简单。

现实总是残酷的,其中的原因有这么几个:第一:岗位经费不高,想要低成本找一个技术合格的人非常难;第二:知名度有限,一般的技术人才都有更好选择的条件,好的人才当然更倾向于知名度高和前景好的公司,而对于没有知名度且前景一般的公司来说,想要吸引他们加入也是一件极其不易的事;第三:公司的地理位置,即不属于技术人员聚集的地区,有在离市中心比较远的郊区,想要让他们来面试都是一件极其不易的事情。所以凡事还得亲力亲为,加上公司刚开始发展所有的一切都是空白的,选择一门合适的语言就迫在眉睫了。

在这三年的时间里,我们每个组都经历了很多语言和框架的更换,也一直在找寻适合我们的框架,现在回想起来好的语言框架要符合这几个要素:

1、技术语言发展成熟;

2、技术语言统一;

3、技术门槛低;

4、使用人数多;

5、技术匹配目前业务需求;

技术发展成熟:代表了出现问题之后的技术解决方案很多,那么团队处理问题的速度就会很快,相应的成本也就最低,这个是选择语言与框架非常重要的一个指标。

技术语言统一:有这么几个好处,第一:团队之间交流和互动会更紧密,产生问题的处理成本就会很低,同时能够增加成员之间交流的话题,增加彼此的友谊;第二:出现特殊情况,能够很好的使用现有人员替补代替;第三:利于管理,比如接口开发如果使用nodejs,其本质还是js,前端开发使用vuejs,也有很多js的语法,这样对于同时管理两个组的领导技能要求就会降低很多,只需要有很好的js功底即可,而如果接口开发使用的golang、c#、java,那么你就得即会这些后端语言,又要会js才能搞定问题。

技术门槛低:别觉得技术门槛低是什么坏事,技术门槛低并不代表对技术人员的要求低,而是如果是其他语言的人想要中途转学,会容易很多,还有就是技术门槛低,相应的从业人员就会多很多,这样招聘的压力就会小很多,相应的劳务报酬也相对会低一些。

使用人数多:这个比较好理解,让你在紧急的时候能够很轻易的招聘到你需要的人,而不是凑合的用,或者重新培养相应的人才,这样会耽误你开发的进度。

技术匹配目前业务需求:我们在技术开发的时候容易陷入一个误区,就是开发过于庞杂复杂的系统,我们都听过一句话,罗马城不是一天建成的,一口气吃不成一个大胖子等等诸如此类的话,多的数不胜数,而然我们还是容易陷入思维的误区。我们之前花了很长的一段时间按照阿里的框架设计了一个很复杂的系统,把一个交易系统分为4、5个中间系统,前后端分离还不够,中间加了分部署的中间任务调度系统,把所有的系统平行分割注册,以提供给不同的子系统进行调用,为此我们花费了很多的经历,并且不得不为一些新的问题付出很多的努力,比如分部署机器的服务自动注册,怎么维系不同的机器健康心跳检测,怎么分发任务等等,花费具体时间和经历的结果是,前后端开发调试极其困难,调试很繁琐和复杂,要使用排除法,分开测试每个系统之后才能确认问题所在,最主要的是我们把系统花费很大经历初见雏形之后,发现根本用不上,以后的三五年都用不上这么庞大和笨重的系统,而我们却为此花费了太多的经历,这些是很不可取的,我们应该把技术资源用在更多可以创建价值的事情上,完美主义并不适合所有公司,小公司的模式更适合从下往上的快速试错和快速迭代的形式。

掌握了以上“心法”,相信会让你的团队事半功倍。而我总结一下,我们总结一下我们技术衍生的具体方案吧。

我们首先把我们可以用到的主流技术穷举一下:

前端组:vuejs、ag、react

后端组:java、c#、nodejs、go

移动开发(混合开发):react native、dcloud、xamarin、apicloud、deviceone、weex

前端框架,从使用人数和学习门槛的角度来分析,最理想的框架vuejs、react次之,非要排出一个的话应该是ag;

从技术统一的角度来看,那么nodejs是我们最好的选择,go次之,java、c#的学习门槛算是在这几个里面比较高的,如果不是要求千万级的负载,那么nodejs完全可以胜任;

移动开发,如果从性能和技术统一的程度,以为前端我们使用vuejs或react那么最理想的就是react native(以下简称rn),rn的性能是无可非议的,它有一个好爸爸facebook使用了虚拟dom重构了它的执行基础,性能是仅此于原生的,同时有主要用的了js的技术,这样就能和接口和前端都统一了,并且rn的技术解决方案非常成熟,各种组件都能很轻易的找到,技术解决成本也更低,使用起来更得心应手。

所以综合以上所述,最理想的框架:

前端:react、vuejs

后端:nodejs、go

移动开发:react native

以上框架都是经过3年的尝试,总结得出了符合中小公司整体框架的最优方案,鄙人拙见,愿抛砖引玉,大家一起讨论。

原文地址:https://www.cnblogs.com/vipstone/p/8505410.html

时间: 2024-11-08 12:06:23

一个好的技术团队应该怎么选择自己的开发语言的相关文章

结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制

结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制 一.引言 要想制定绩效考核机制首先要先知道绩效考核的定义是什么,绩效考核指企业在既定的战略目标下,运用特定的标准和指标,对员工的工作行为及取得的工作业绩进行评估,并运用评估的结果对员工将来的工作行为和工作业绩产生正面引导的过程和方法. 绩效考核(performance evaluation),是企业绩效管理中的一个环节,常见绩效考核方法包括bsc.kpi及360度考核等.绩效考核是一项系统工程.绩效考核是绩效管理过程中的一种

阳宇宸:Web开发语言的策略性选择

对于一些复杂型和功能型网站建设来说,可能开发语言的选择是非常重要的一步.这一步的好与坏直接影响到以后网站程序的升级以及功能的扩展.目前,在国内主流的开发语言主要有ASP/ASP.NET,PHP,JSP.那么对于对网络技术不懂的客户来说,到底该选择哪种语言,可能会是一片茫然,听别人说,更是一头雾水.下面我们来分别分析这些语言的优缺点. PHP:钱字当头,PHP是免费,而ASP是付费的.APACHE+PHP+MYSQL+LIUNX完全免费.PHP升级快有目共睹,而ASP基本都不升级.PHP代码简练,

Lyft高管的技术团队管理实战

Lyft 的技术总监沈思维分享了他对于管理技术团队和打造工程文化的经验,也欢迎添加他的微信公众号"人家的屋顶"了解更多(微信公众号ID: othersroof).沈思维毕业于密歇根大学和卡内基梅隆大学.他早年在 Google 任软件开发工程师 (2005 - 2011),2011年加入 Twitter,后任产品安全部高级研发经理,负责反垃圾及帐号安全方面的工作.2015年底至今在 Lyft 担任研发总监,负责包括支付平台,风控平台.开放平台在内的多个团队.工作之外,沈思维关注并致力于提

我要如何组建部门的技术团队

前言 2014年10月份入职A公司的新组建的部门,主要做基于Windows平台的C/S架构的开发.我是2011年本科毕业的,所以当时大概说3年左右的工作经验.入职的职位是AP(Analyst Programmer)分析程序员,我把它理解为中高级程序员类似的职位.我入职时的部门包括一个部门领导 (Department Director),一个项目经理(Manager),2个BA(Business Analyst),以及三个技术人员(包括我). 其他两位技术人员A和B,A的职位是SA(System

技术团队的激励体系

激励可以很大限度的激发员工实现自我价值的热情 企业有企业的文化,作为一个优秀的技术团队,也应该有一个良好的技术团队文化,这是激励的基础 一 行为文化 做为技术驱动导向的团队,首先,在称呼上,所有人的称呼统称为某某工,也可以用昵称或者外号(不准有侮辱性),要不就是直呼其名,这样不易对人产生压抑感,而且领导也较容易亲近手下,团队亲和力较高,潜在会形成扁而不平的管理氛围.对于个别人在公事上,以"玩笑"的口吻称呼非领导级别的同事为"某某总",这样的习气要严厉禁止,并且给与警

HwLib(慧兰博)技术团队

HwLib(慧兰博)专注于高端工业自动化技术的开发应用与技术普及,是业内首屈一指的技术团队.自成立以来陆续开发了基于SIEMENS平台的WinCC消息套件(微信.钉钉.电邮.短信).报表控件.语音报警控件等产品.首次提出了基于设备-单元控制模型的自动化编程理念,为实现项目标准化提供了理论支撑,并基于该理念开发了通用组件库与行业库,极大的提升了项目质量与项目效率!我们在技术普及方面始终不遗余力,组织编写了<TIA Portal高级编程>.<C#与工业自动化>.<TIA STEP

微管理——给你一个技术团队,你该怎么管

微管理--给你一个技术团队,你该怎么管(最简洁.最高效的团队管理落地实践方法,IT/互联网行业15年管理实践 + 中欧商学院EMBA经历,杨老师手把手教你如何用"微管理"打造高效团队/京东:最简洁高效的IT/互联网团队管理实践方法) 杨立东 著   ISBN 978-7-121-22886-5 2014年5月出版 定价:59.00元 236页 16开 编辑推荐 1.最简洁.最高效的团队管理落地实践方法,IT/互联网团队管理的宝典,用互联网思维打造的技术管理NO.1实战手册. 2.IT/

一个可供中小团队参考的微服务架构技术栈

一个可供中小团队参考的微服务架构技术栈 聊聊架构 2018-05-07 作者 杨波 作者 |  杨波编辑 |  张浩 近年,Spring Cloud 俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆.我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对 Spring Cloud 的调研,我认为 Spring Cloud 技术栈中的有些组件离生产级开发尚有一定距离.比方说 Spring Cloud Config 和 Spring Cloud

面对技术海洋,如何选择一个属于自己的技术方向?

最近很纠结一个问题:是要暂且放下越写越喜欢的JAVA去学习IOS还是不学IOS只是专注于JAVA. JAVA学了一年多了,也越学越上手了,可是买了MACBOOK不学IOS还真有点不舍得. 几天无意间看到了这个帖子终于发下了自己的问题的答案: 面对技术海洋,如何选择一个属于自己的技术方向? 相信很多工作一两年的人都有一个困惑,自己写了不长时间的代码做了一些东西但是都不精通,面对各种层出不穷的技术方向不知道如何选择.我就是其中的一员困惑者.希望发起一场讨论看看大家的看法和意见以抛砖引玉. 我的观点有