一,社区的小圈子

今年3月的一次技术交流活动上,那是我们.NET技术社区第一次组织线下活动,由于没什么经验,所以活动组织得比较仓促,内容也比较一般,效果还是有点欠缺。当然,活动本身是必要的,这次活动上有幸认识了许多长沙的优秀开发者,这让我非常的高兴。

事实上搞技术活动,与其说是交流技术,倒不如说是扩大圈子,交流感情,认识更多的朋友。毕竟每个职场人往往圈子都是固定的,哪怕是在大公司,真正经常来往的朋友其实也不过三两人而已。但是在北上广深的大城市,往往有时候刚刚认识几个朋友,对方可能就离开了,这也是一种遗憾。相对而言,在小城市或许也相对容易形成更加稳定的精准小圈子,这也是我认为一个社区存在的最大价值。

小城市的职业发展方向大概都是一样的,从入门级小程序员出发,然后到高级程序员,再到项目经理,然后逐渐脱离技术的主航道,直到被技术抛弃。有朋友戏谑道,长沙的程序员大概率都是一样的,靠经验的简单复制、依靠人际关系技巧或者靠资历,而真正钻研技术的非常少。

哪怕有许多开发者得以突破转到了项目管理或其他方向,也很难能够在专业领域能够进一步的发展。毕竟首先企业大环境决定了个人的职业选择,其次就是很少有开发者能够明白的看清自己的职业发展规划,为了钱而生存无可厚非,然后整个职业生涯都迷迷茫茫,只能导致最终到了一定的年纪,就开始原地踏步了。

二、周杰的成长历程

而公众号DotNet骚操作的作者周杰是参加了我们第一次活动的三十位开发者中的一位,也是小城市中少有的对技术始终保持热心的优秀开发者。

事实上很多年前(三年前)我就对他的名字有所耳闻,我的好几个朋友都说他的生活除了工作,家庭,剩下的就都是技术,是一个不折不扣的.NET技术狂。

不过由于当时我主要是沉浸于小行业应用的泥坑之中,还不能体会.NET技术作为基础技术的巨大价值,自然而然相对来说比较无感。直到从泥坑中出来才能深深体会到技术的无穷魅力,也才真正理解在长沙这座城市,能够踏踏实实的以.NET技术作为自己的核心竞争力的开发者是何其的珍贵。

当时的他的公众号【DotNet骚操作】还没开,以前他经常做开源项目。与许多内地城市的开源项目参与者热衷于刷开源项目,以fork了哪些项目贡献了多少文档的形式相比,他更倾向于自己造轮子。在他的github仓库(https://github.com/sdcb)中还有许多各种各样的开源项目,这些都是他一点一滴的积累,几乎每个方法都会认真考虑代码背后的实现逻辑和性能优化,这些小巧玲珑、性能完美、代码整洁的小轮子,既让他在技能方面得到了积累,更是让其他人能从中获益。

当时他还很少写博客,我就撺掇他写博客,他也说干就干,很快就写完一篇,那篇文章的具体内容我不太记得了,我只记得他对于技术问题的专注和专业,令我非常钦佩。

这个时候就体现了他过去那么多年积累的价值,一旦开始写博客,就产量特别高。到现在短短五个月时间已经写了二十篇,而且素材越写越多,质量也越来越好,几乎每一篇都会成为博客园的推荐文章。他立下了一个flag,要写五十篇精品博客,让大家看到DotNet技术的美妙与精彩。

我们偶尔会讨论.NET开发者的焦虑,许多.NET开发者都以自己选择了.NET为耻,总觉得是这个技术让自己的路越走越窄,经常在各种技术群里吐槽,说自己人生最大的错误就是选择了.Net。

我们都对这种人觉得惋惜。他说,程序员只有因为自己没能努力学习而感到焦虑,真正掌握了一种开发技术,一定也能适应其他语言和技术。优秀开发者根本没时间焦虑,毕竟要学习的技能点随着年龄的增长越来越多,恨不能每天有48个小时来学习技术,哪里还有其他闲心去思考工作,家庭,技术之外的其他事情?只要自己技术过硬,哪里还需要担心什么未来前途不保?

我们也经常讨论招人难的问题。尤其是对于基于.NET技术栈的企业来说,都遇到了这样的问题。一方面,确实越来越少的开发者使用.NET技术栈,一方面许多使用.NET技术栈的开发者都在从事边缘业务的开发者,很难触及底层技术或核心的技术。这并非企业行为,而是兴趣爱好驱动的。

也必须承认,过去十年借助于互联网取得财富自由的.NET开发者几乎非常罕见,许多以前致力于研究.NET技术的开发者的出路都只能选择出国。这样的前提让功利的中国社会,越来越少人选择.NET技术。但是这也是.NET开发者最大的机会,好好学习技术、努力跳出自己的圈子,看看世界,选择将让你成长。

我深以为然。程序员,不仅仅是.NET程序员或java程序员,能够用心学好技术,努力提高自己的技能,并时刻保持学习的精神,才是程序员的最大的价值。

周杰正是按照这样的节奏在坚持自己的方向,他深刻的明白贪多嚼不烂的道理、没有追求一蹴而就,而是一步一个脚印,每一步都踏得严严实实。这种严于律己的优秀开发者的自我进取,也正是开发者所应该具备的自我刷新的精神。

他使我明白,无论是什么岗位,在什么环境下,都应该清楚自己的职业发展方向,并努力提高自己的硬技能和软实力,这是开发者得以利足于时代永不淘汰的光辉色彩。

(ps,大概需要减肥了。。)

三、环境造人才

在互联网技术飞速发展的今天,越是优秀的企业也往往最能凝聚最优秀的人才,正是这种人才间相互吸引的魅力,让企业更加优秀,也让人才得以借助企业提供的平台取得了更好的发展。

而优秀人才并非偶然天成、往往也得益于兴趣和团队氛围的培养,关注于结果,同样也要关注于过程,既关注于人才的保健因素(例如工作条件,上下级关系,同事关系,工资,职位,安全),也同样关注于人才的激励因素(工作中的成就感,得到的认可与奖励,本身的挑战与兴趣,职务的责任感,工作的发展前途,个人成长的晋升的机会等),才更能实现人才的价值提升。

人才、人才、人才,这正是在互联网大时代最宝贵的财富。

结语

欢迎大家关注他的公众号,【DotNet骚操作】。也请大家记住他,一位年轻而充满激情的开发者。

让我们一起跟随他的步伐,看看DotNet的一系列骚操作将如何给我们的生活带来更多精彩。

一位年轻而优秀的.NET开发者的成长点滴的更多相关文章

  1. 那些优秀的.NET开发者----汪宇杰:从重视细节,到成就技术专家

    初识汪宇杰 在长沙.NET技术社区筹建过程中,溪源有幸认识来自上海的MVP汪宇杰Edi Wang.在中国众多的微软MVP中,Edi Wang作为一名九零后,也是一位年轻而充满才气的开发者,或许他或许外 ...

  2. 我们身边那些优秀的.NET开发者-

    我们身边那些优秀的.NET开发者----邹琼俊 初识大佬 非常有幸通过博客园认识了邹琼俊邹老师,他也是<ASP.NET企业级开发实战>这本书的作者,这本书的销量达到了将近九千本,在这个实体 ...

  3. 一个优秀的Unity3d开发者必备的几种设计模式

    Unity脚本编程 众所周知,unity的编程属于脚本化,脚本没有一个具体的概念跟架构, 导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本, 结果,就造成了一片混乱,不好管理. 更有甚者 ...

  4. QQ中未读气泡拖拽消失的实现(参照一位年轻牛B的博主的思路自己实现了一下)

    原文链接:http://kittenyang.com/drawablebubble/,博主年轻却很有思想.相仿的年纪,很佩服他! 首先分析拖拽时的图,大圆.不规则的图(实际上时有规律的不然也画不出来, ...

  5. 优秀的PHP开发者是怎样炼成的?

    4.在数据库中避免使用联合操作 比起其它的Web编程语言来说,PHP的数据库功能十分强大.但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作 ...

  6. 来看看这位年轻的 eBay 小伙是如何成为 Committer

    介绍一下我自己 目前就职于eBay中国,专注于微服务中间件,分布式架构等领域,同时也是狂热的开源爱好者. 如何成为一个commiter 过去几个月,我一直持续在为 Apache DolphinSche ...

  7. 长沙4月21日开发者大会暨.NET社区成立大会活动纪实

    活动总结 2019年4月21日是一个斜风细雨.微风和煦的美好日子,由长沙.NET技术社区.腾讯云云加社区.微软Azure云技术社区.中国.NET技术社区.长沙柳枝行动.长沙互联网活动基地(唐胡子俱乐部 ...

  8. 推荐给开发者的20个优秀PHP框架

    推荐给开发者的20个优秀PHP框架 来源:developerslane   时间:2015-01-13 19:48:06   阅读数:111916 分享到:14 [导读] PHP是非常受欢迎并且很有影 ...

  9. 想要成为一名优秀的Java程序员,你需要这8个锦囊

    私底下,隔三差五就有读者问我:"二哥,怎么样才能像你一样,成为一名优秀的 Java 开发者呢?"假如把"怎么才能像你一样"去掉的话,这个问题就是一个好问题,否则 ...

随机推荐

  1. hadoop之yarn详解(基础架构篇)

    本文主要从yarn的基础架构和yarn的作业执行流程进行阐述 一.yarn的概述 Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管 ...

  2. Python 正则re匹配中文、英式数字

    #coding:utf-8 import re s = u''' 或多或少的好好读书电锯惊魂20202 和水电费后是否会时候1212没收到风10.12海大富的是粉红色的和办法的1244525.000 ...

  3. 服务网关Spring Cloud Zuul

    Spring Cloud Zuul 开发环境 idea 2019.1.2 jdk1.8.0_201 Spring Boot 2.1.9.RELEASE Spring Cloud Greenwich S ...

  4. 两台CentOS6.5 在不同机器上互联

    准备工作 1.安装vmware及虚拟机centos6.5: 2.将安装好的centos6.5复制一份,在另一台机器上拷贝. 要进行不同机器上虚拟机的互相通信,需要用桥接模式进行互联.如下图,对vmwa ...

  5. 视频作品《springboot基础篇》上线了

    1.场景描述 第一个视频作品出炉了,<springboot基础篇>上线了,有需要的朋友可以直接点击链接观看.(如需购买,请通过本文链接购买) 2. 课程内容 课程地址:https://ed ...

  6. python编程基础之三十三

    构造方法: 目的:构造方法用于初始化对象,可以在构造方法中添加成员属性 触发时机:实例化对象的时候自动调用 参数:第一个参数必须是self,其它参数根据需要自己定义 返回值:不返回值,或者说返回Non ...

  7. Java中NIO及基础实现

    NIO:同步非阻塞IO 来源:BIO是同步阻塞IO操作,当线程在处理任务时,另一方会阻塞着等待该线程的执行完毕,为了提高效率,,JDK1.4后,引入NIO来提升数据的通讯性能 NIO中采用Reacto ...

  8. e课表项目第二次冲刺周期第四天

    昨天干了什么? 昨天,我在网上搜集了相关的资料,即连接安卓自带的数据库,查询了连接的方法,然后在电脑上,做了简单的练习,发现可以用,所以对我们的软件进行数据库的连接,设置了完成按钮的活动,即先保存到数 ...

  9. 货物运输 51Nod - 1671

    公元2222年,l国发生了一场战争. 小Y负责领导工人运输物资. 其中有m种物资的运输方案,每种运输方案形如li,ri.表示存在一种货物从li运到ri. 这里有n个城市,第i个城市与第i+1个城市相连 ...

  10. Coins POJ - 1742

    给出硬币面额及每种硬币的个数,求从1到m能凑出面额的个数. Input 多组数据,每组数据前两个数字为n,m.n表示硬币种类数,m为最大面额,之后前n个数为每种硬币的面额,后n个数为相应每种硬币的个数 ...