最近(2018年10月7日至10月17日),为配合确定下一次社区线下活动主题,做了一次宁波dotnet社区(NBDNC)的本地dotnet技术栈调研,设计了一份问卷,在此做一次记录。
导出的问卷统计结果pdf文件:戳此下载
1.您的年龄?
年龄分布,看起来我们稍微缺少一些新鲜血液,都是老手。主要也是因为社区本身是从我的圈子当中组织起来的,年龄相近的较多。需要多招募些新人进来。
2.您的岗位?
岗位分布,偏向技术负责人多些。
3.您所处的行业?
行业分布,很奇怪,没有制造业的。互联网占主要部分,估计样本量有点少。
4.您所参与的项目,每日用户规模大概?
每日UV超10w,已经是不错规模的产品了。
5.您最常用的Web开发框架?
框架使用情况,看来大家对新技术的跟进还是不错的,一半一半。
6.您的项目结构?
架构方面,超越简单三层的朋友们,多层的情况是不是已经在开始接触DDD了?
项目层次分的多,说明设计和实施的时候会具备更多的灵活性,也会更多的和业务概念挂钩。
追加群里分享:
有同学已经在使用Ocelot + Orleans
实践微服务了,以高负载作为设计目标,选型Ocelot + Orleans
,非常不错,可以说是技术走得相当前沿了。有机会让他们分享下。
无状态微服务无法克服加载数据的瓶颈以及线程安全的成本问题,有状态确实更直接了当一些,不过具体落地时应该有一些开发思维及习惯上的转换成本。
7.是否使用过ABP来开发项目(不论规模大小)?
ABP开发框架希望大家有机会可以尝试一下,目前作者在开发完全重写的新版完全基于 Asp.Net Core 的ABP,旧版也比较稳定了,目前v3.9,在 Asp.Net Core MVC下也完全可用。
新版ABP框架官网
旧版ABP框架官网
8.您最常用的数据库?
数据库还是SqlServer占多数,这里提一句,SqlServer Express 版其实中小项目用用完全足够了,功能完备,也没授权问题。
9.您最常用的数据访问组件?
数据库访问组件,EF占多数(包含EF Core),EF除了数据访问功能,其实更重要的是数据库结构的迭代式开发(我就不说是维护数据库结构了,这个看起来像DBA的工作),基本用过Code First就不想回到先设计数据库再实现的老路子了。
而且静态检查比Sql语句那种字符串更好维护。
10.您最常用的日志组件?
日志组件给大家安利下NLog,挺好用的。
可以参考下,我经常用的错误日志邮件通知。
11.您最常用的依赖注入组件?
DI方面,老牌的容器组件应该功能完备性都差不多,不过多点评,用熟了就好,有时候玩玩拦截器神马的。
12.您最常用的分布式缓存组件?
分布式缓存基本就是redis一枝独秀了。
13.您最常用的消息中间件?
这里的消息中间件,这个中间件是传统(至少8年前)中间件概念(单独部署,跨语言的基础服务设施,典型的像RedisRabbitMQElasticSearch),不是OWIN中间件(Open Web Interface for .Net)。
消息中间件是一个惊喜,大家用RabbitMQ还是挺多的。
其实很多时候,这类服务选型就不用拘泥于编程语言,反正大多数时候不需要定制开发,成熟的直接拿来集成dotnet客户端库,就可以用了。
再比如最近上市的Elastic Search,java开发的,都是REST接口,直接用基本都没问题。
14.您最常用的持续集成环境(CI)?
CI,团队流程自动化这方面,还欠缺一些,以后可以给大家安利一些。
15.您团队的开发流程是否划分了多个环境(开发环境、测试环境、Staging环境、生产环境)?
自动化流程的缺乏就会导致可用环境和流程上的缺失,这一定程度会导致生产环境不稳定。
又想起以前刚工作那会发布生产环境,或者直接在生产环境上修改bug或者数据时候的提心吊胆和惊心动魄了。
16.您最常用代码版本管理工具?
还在用Svn的朋友可以试试Git了,起码连不上源代码服务器的时候不影响工作。
还有分支管理,Svn是比不过Git的,更别提有全球最大的程序员交友网站Github。
17.您最常用的IDE?
VS2013还存在,估计是比较老的系统需要维护。对于老系统,建议有机会还是多重构重构,升级升级,遗留系统一直没人理会,就会成为后期很大的包袱。
18.您最常用的搜索引擎中间件?
其实Elastic Search的底层也是Lucene,用Lucene.Net自己撸的可以试试ES。
19.工作中,您是否有重构代码的习惯?
看大家都喜欢重构。
其实写代码不难,难得是持续维护优化代码。很多时候一时情急临时堆上去的代码,后来想想,是可以变得更好的。团队中最厉害的那个人永远是敢于减少代码行数的那个。
20.工作中,您是否与其他职能岗位同事偶有冲突?
这个吐槽项估计很多人共鸣了,不过我要提醒大家,要维护好部门关系,跨职能合作有时候比写更多代码更重要。
21.工作中,关于代码您最头疼的问题是?
这个多选项,估计也很多人共鸣。代码越写越多,过了几个月,回头发现都理不清执行顺序了。代码规范和可维护性对于长期项目特别重要。
其实大多数有三五年以上码代码经验的人,都会对可维护性可扩展性有自己的理解,欢迎分享。
22.您希望宁波dotnet社区线下交流活动多久举办一次?
关于活动频率,之后我会努力保证每月一次,大家要多多捧场哟。
23.您希望宁波dotnet社区多组织什么主题方向的线下交流活动?
最后一个开发型问题给大家参考下。
招募令,You Are WANTED!
借此文,顺便发布一个招募。招募文案借用隔壁“AlaPM阿拉产品社”(公众号)同学的。
宁波dotnet社区(NBDNC)志愿者招募
为什么要做宁波dotnet社区(NBDNC)的志愿者?
- 希望推动宁波的互联网及IT整体氛围
- 擅长或者想学习dotnet平台各种技术
- 喜欢认识行业内的新朋友,扩大交际圈
- 对写文/摄影/设计/策划感兴趣,又想磨练磨练
- 不愿在大好年华虚度光阴
作为志愿者,你能获得什么?
- 一段难忘的活动组织全栈体验
- 一次近距离接触大牛的机会
- 一次免费参加活动的机会
- 一秒钟优雅地撩到你想要认识的人
啊,上面是借用了产品社同学的文案,宁波dotnet社区除了获取活动组织方面的经验外,根据编程能力和学习意愿,会有一定的编程实践方面的指导,或者组织参与部分dotnet开源项目的贡献(除了实际编码,也可以是文档勘误或者文档翻译等力所能及的事)。
我们期待这样的你:
- 责任心爆棚,执行力超高,乐于沟通,喜欢分享
- 有隐藏技能,比如摄影、设计、写作、BIBI
- 空余时间愿意花在各类活动上
- 空余时间愿意支持开源项目
我们需要以下职能的志愿者:
社群管理员 | 文案编辑 | 活动执行 | 摄影摄像 | Developer | 主讲嘉宾
等等,主讲嘉宾?
对!你没有看错,我们就是要招募主讲嘉宾!
这是一个开放的世界,思维只有在碰撞的情况下才能产生火花!
我们相信加入社区的成员中一定藏龙卧虎!
大牛也是从小白开始的,只要你愿意分享,我们就帮你推到聚光灯下!
嗯,偷偷加了个Developer,以后可能要开发社区官网,组织一些开源项目等等。
志愿者具体职责与要求
【Developer】
职责:无
要求:爱学习
【社群管理员】
职责:
- 负责宁波dotnet社区微信群的日常维护,制造话题,保持群内一定的活跃度;
- 负责新用户的入群引导,提供良好的用户体验;
- 针对不同阶段,开展各种运营推广手段进行拉新;
- 维护群内良好秩序,避免出现敏感信息,宣扬正能量;
要求: - 了解社群运营维护的的技巧和方法;
- 掌握社群推广与传播的技巧和方法;
- 有社群管理经验的优先;
【文案编辑】
职责:
- 负责每次活动的预告文与回顾文的撰写;
- 负责宁波dotnet社区的官方公众号(暂无,计划中)的运营;
- 负责原创文章的邀约与维护
- 负责其他文案策划相关工作 ;
要求: - 具备扎实的文字功底及较好的文案撰写能力,创意新颖、思维敏捷,语言文字表达能力强;
- 具有较强的领悟力和学习力,高度的敬业和团队合作精神,有一定的审美能力;
- 会Markdown,这一条要提一下。
【活动执行】
职责:
- 负责每次活动的物料准备;
- 负责每次活动的签到与到场率统计;
- 负责活动现场的座位安排与人员引导;
- 负责每次活动的调查反馈表制作、发送与回收;
要求: - 有较强的观察力和应变能力,优秀的人际交往和协调能力;
- 注重细节,具备较强的执行力;
- 高度的工作热情,良好的团队合作精神;
【摄影摄像】
职责:
- 负责活动现场的拍摄;
- 配合文案编辑的需求进行不同角度和素材的拍摄;
- 负责后期修片、整理及分类留档;
要求: - 具备摄影和图片制作技能,熟练使用单反和ps软件;
- 责任心强,拥有较强的沟通协作能力和团队合作意识;
- 有活动摄影经验的优先;
【主讲嘉宾】
- 你没有看错,我们就是要招募主讲嘉宾!
- 这是一个开放的世界,思维只有在碰撞的情况下才能产生火花!
- 我们相信加入社区的成员中一定藏龙卧虎!
- 大牛也是从小白开始的,只要你愿意分享,我们就帮你推到聚光灯下!
待遇,这个还是要提一下
基本上,既然说是志愿者了,固定的薪资肯定是没有的,目前我也无法支持给予物质上的回报。
目前阶段,本社区依然只是一个理想主义者的情怀。希望能招募到志同道合者。
能借助本社区,促进宁波地区IT行业的交流和人才的培养,即是本社区最大的价值。
有意应征的,mailto:personball#163.com,邮件标题前缀【NBDNC志愿者】。