寻找自己的道路——与技术同胞共勉

每个人的幸福都是不一样的。我喜欢田园式的生活,在人多的地方总是不舒服。

对我来说,最幸福莫过于在工作中做着自己喜欢的事情。闲暇时,在能够眺望江边的地方,端着一杯红酒,一个人细细的喝。

为了这种生活方式,离开了北京,来到家乡所在的这个三线城市,寻找自己的道路。经过一年的探索,颇有心得。

大体上,我对自己走过的路和即将走的路划分为七个阶段:自信=>意志=>布局=>切入点=>团队=>渠道=>产品

第一关:自信

先说说我这个城市。这是一个什么样的城市呢?依山傍水,适合生活。几乎没有IT,也没几个真正的程序员。一周上班六天,平均工资1000元上下。程序员的工资在1000-3000左右。要在这个城市探出自己的道路,首要的一点就是自信。没有自信,活不下去。这个城市的年轻人大多非常迷茫,对自己的前途缺乏信心,有冲劲的都往大城市里跑了。回来之初,我也迷茫了很久,迷茫的时候,就在WOW里泡着,观察那个世界。在WOW里,作为一个萨满,傻乎乎的扛着个盾晃晃荡荡的升级。当时赚钱,也就是打打元素之火每天赚个几十G。后来,不断的观察不断的总结,成长为日入近万G的大奸商。哦,俺要走的也正是这一条路子。生活总是要继续的,在WOW上也学不到更多的东西了,就离开了WOW,开始了一个人的征途。

支持这条路子的核心力量就是自信。在小城市里不缺乏聪明的人,这些聪明的人大部分却并不优秀,因为他们缺乏自信,缺乏自己走路的勇气,从而甘于平庸。没有自信,走不出这第一步。

第二关:意志

在小城市做IT,相当锻炼人意志。这里就像一片沙漠。市场,没有。程序员,没有。找人说话也找不到。曾经组织过次聚会,包括我在内到了2个人。想要向下走,没有相当强的意志是走不下去的。彷徨,彷徨,最终还是坚持走了下来。

第三关:布局

所谓布局就是决定做什么事和不做什么事。经过相当久的考虑,我决定远离Web开发,远离本地市场,甚至远离数据库。做Web开发和数据库开发的太多了,你呆在偏僻小地,做这些完全没有优势,做本地市场呢,又没客户资源,关系又比不上已经在本地深耕数年的小IT公司。于是宁可荒芜这些技能,也不趟这个混水。最后决定,人做我不做,人不做我做,在偏僻的地方,做外面的市场,做深入的开发,做点做线不做面。为什么呢?

(1)本地的工资摆在那里,做本地的就算做起来了,利润也不丰厚,还累死累活,要赚外面的钱,在本地花
(2)要赚外面的钱,如果做Web开发和数据库开发,根本无法和当地公司竞争
(3)所以只能做别人不做的,或者别人做不了的,做技术要求高的。而我恰恰有相当多的研发性项目开发和管理经验,正适合做这些。
(4)所要做的东西,必须通过网络可以展示,可以远程技术支持。

第四关:切入点

切入点是个很关键的东西,综合上面第三关所讨论的内容,结合自己的技术能力和技术经验,然后结合需求情况,最终我从协议分析这一块切入进去了。哦,不是外挂那种分析。从QQ协议,到MSN协议,到YMSG协议,当然,还有Http这个最简单的,从有参考资料的分析,到无参考资料的完全黑箱分析,到现在在某方面的协议分析已经达到世界领先水平了。从协议分析,切入到验证码识别,从验证码识别,切入到车牌识别,从车牌识别,切入到模式识别、图像处理和机器视觉,而模式识别结合前面的协议方面的工作又可切入进NLP,客服机器人,有这些为基础,我又想切入淘宝店铺工具(哦,还没时间做,并且目前也没找到一个好的切入点)。因为对图像处理的了解,我现在又成功切入进Flex开发了。以上各点貌似很散,也是也挺集中,就是:协议分析与设计、机器智能和图像处理,这三者是相辅相承的。

在技术的选择上,是敏捷敏捷再敏捷!数据库尽量db4o,前台尽量sl/flex(面向最终客户的就不能选择sl)。工具软件尽量用C#开发。尽量只做自己擅长的,不做别人擅长的。

我有一个特点,就是会一大票语言,能用来干活的就有C,C++,C#,Java,Python,matlab,actionscript,javascript,tcl。去上班的话,这是缺点——泛而不精。自己干的话,这反而成了优点了。因为我接的项目,很多属于偏门项目,这些项目往往都有开源的实现,但这种实现,要么只有C版本,要么只有Matlab的,要么只有Java的,会这些语言可以最大范围的参考,降低技术风险。缺点在不同环境下可以成为优点。

第五关:团队

通过前面的不断切入,形成了一系列案例,也积累了良好的信用,业务量是翻番的在长,最后自己的时间成了瓶颈。前两天小试了一把,谈了5个项目(2个flex,2个图像处理,那2个flex项目的核心也是图像处理),4个有合作意向,自己干不完,没办法,只能选择1个。

这就到了第五关了——一个人干不过来,得团队了。

但我前面说过,本地是人才沙漠。我的观点是宁缺勿滥,仔细挑选,从头培养。俺的挑选标准是:有激情、品德要好、数学基础要好、有自学能力。目前在带徒弟,看成长情况怎么样。

不着急,用不着太多的人,培养团队的同时开始摸索渠道。那个也得时间。

第六关:渠道

我最终想做的是产品。而在偏远地区做产品,想做成功,渠道和推广非常重要,不然的话,就算做出来了,也只能拿小头。在国内,还要考虑盗版因素。我现在只是有大致的产品方向,做也是玩票性质的,目的是摸索渠道和商业模式,想摸摸国内的和国外的两种市场。国外的只有试探性的探索。国内的,嘿嘿,前面的开发已经形成了一系列的推广工具了。

第七关:产品

做了这么多年项目,累死了。最终的目的还是产品和平台。我的征途是星辰大海(搞技术的,也得有技术的浪漫)。。。。。。目标是5-10年后,互联网3D化之后的虚拟现实(切入点?俺已有一个初步考虑的切入点)。短期(5年内)是开发一些工具类型的产品和推广平台。

我是学材料的,在纳米材料界有一个名言——Build The World Atom By Atom。那么,在可见的未来,虚拟世界就是——Build The World Bit By Bit. 协议、图像、机器视觉、3D、语音,正是构成虚拟世界的因素,前面的种种,都是为这个做铺垫。未来的制造业将是分子制造,于是Atom和Bit将会碰撞——Build The World Atom By Atom, Bit By Bit!

但还是那句话,只做小,不做大,做点做线不做面。

什么程序员30岁之后转行之类的鬼话。俺到今年,才开始感觉进入了程序开发的大门,写程序时开始有一种美感,有那种几十人骑着战马冲击奥山大桥的壮烈。做一辈子的技术又何妨。

上述路径相当保守,指导思想不是胜利,而是避免失败。“无恃其不来,恃吾有以待之,无恃其不攻,恃吾有所不可攻也。”

寻找自己的道路——与技术同胞共勉 一种划分为七个阶段的道路:自信=意志=布局=切入点=团队=渠道=产品...相关推荐

  1. 100offer举办的「寻找实干和坚持的技术力量」开源项目投票排名分析程序

    由于100offer举办的「寻找实干和坚持的技术力量」开源项目投票活动没有按照票数排序的功能,所以本文写了个小程序来实现这个功能,代码如下: import org.jsoup.Jsoup; impor ...

  2. 道路工程竣工技术资料管理软件

    道路工程竣工技术资料管理软件 建筑工程资料涉及到的内容很多,包括项目.客户.供应商.原材料.合同.财务等众多版块,其中施工方.监理方和建设方等多方的资料也是围绕以上的版块展开的,此外,一般在项目竣工结 ...

  3. 国开电大 道路工程技术 形考任务

    题目1:棋盘式道路网指的是( ) 环形放射式道路网 混合式道路网 自由式道路网 方格网式道路网 题目2:道路起讫点间的实际交通距离与此两点的空间直线距离之比,称为( ) 非直线系数 干道网密度 道路占 ...

  4. 技术负责人的三种角色

    企业管理是一盘棋,而技术是支撑企业生存和发展的重要一环.因此,作为企业的技术负责人,无论企业处于发展中的哪个阶段,实施管理都无外乎是要做好几件事:定目标,在深入了解企业的资源状况和整体目标的基础上,做 ...

  5. 从HEVC到VVC:帧内预测技术的演进(2) – 多划分及多参考行帧内预测

    当前主流的视频编码标准(如H.264/AVC,VP9,AVS1,HEVC等)均使用当前预测单元最邻近的已重构像素对当前预测单元进行帧内预测.因为当前预测单元与其临近的像素之间有很强的相关性,该帧内预测 ...

  6. Lora和Zigbee无线通讯技术的对比(哪种技术更适合物联网连接)

    Lora和Zigbee无线通讯技术的对比(哪种技术更适合物联网连接) ZigBee是基于IEEE802.15.4标准的低功耗局域网协议,LoRa是LPWAN通信技术中的一种,那么lora技术和ZigB ...

  7. 无线传感网络技术实验-实现一种传播协议

    无线传感网络技术实验-实现一种传播协议 题目要求 设计与分析 模拟传播代码 实验结果图 题目要求 在无线多跳自组织网络下,高效地将关键数据从网络一段扩散至全网,广泛用于网络控制.公共数据广播.时间同步 ...

  8. 越区切换技术从层次网络上可以划分为水平切换和垂直切换,其中水平切换又可以分为硬切换、软切换、接力切换。

    一.越区切换阐述 当移动台从一个小区(指基站或者基站的覆盖范围)移动到另一个小区时,为了保持移动用户的不中断通信需要进行的信道切换称为越区切换. 越区切换技术从层次网络上可以划分为水平切换和垂直切换, ...

  9. 详谈RDMA技术原理和三种实现方式

    ​导读:远程直接内存访问(即RDMA)是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入.RDMA最早在Infiniband传输网络上实现,后来业界厂家把 ...

  10. 示教编程技术,离线编程技术,自主编程技术,你精通哪种?

    一.概述 当前机器人广泛应用于焊接.装配.搬运.喷漆及打磨等领域,任务的复杂程度不断增加,而用户对产品的质量.效率的追求越来越高.在这种形式下,机器人的编程方式.编程效率和质量显得越来越重要.降低编程 ...

最新文章

  1. 为什么前后端分离了,你比从前更痛苦?
  2. MYSQL_使用外键约束(constraint)或触发器(trigger)来进行级联更新、删除
  3. JS进行性能测试(计时)
  4. Python PIL(图像处理库)使用方法
  5. 双代号网络图节点编号原则_难倒一片的双代号网络图你学会了吗?
  6. 洛谷 P1908 逆序对(树状数组+离散化)
  7. ActiveMQ实现负载均衡+高可用部署方案 -转载
  8. 莱斯康混响插件合集 – Lexicon Plugin Bundle macOS
  9. VOC2007数据集
  10. 测试之CR规范及错误列表
  11. 情人节程序员用HTML网页表白【新婚快乐】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  12. 中国医科大学计算机学院,中国医科大学是一个什么水平的大学?
  13. 去中心化 分布式 自组织 概念区分与理解
  14. uni-app 插入视频播放器
  15. 连续潜在变量---主成分分析
  16. 为啥将phpstudy打开,却访问不了rips
  17. 电气无级变速器(EVT)混合动力传动系半实物仿真平台ETest
  18. zblog mysql修改_ZBlog教程 之 修改ZBlog数据库前缀
  19. ARM体系架构—ARMv7-A指令集:内存操作指令
  20. 关于javascript的功能无法识别功能问题(引入jquery误操作和以及jquery对id的调取)

热门文章

  1. 顶点计划:辅导员与学生关系讨论
  2. L298N电机驱动模块《转》。
  3. 引用类型--Object类型、Array类型
  4. litepal更好的操作sqlite3,配置与基本操作
  5. javascript变量说明
  6. [转]Android ANR 分析解决方法
  7. [USACO 1.5.1]数字金字塔
  8. Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出了新花样
  9. 地震预警,生死十秒,我们能做些什么?
  10. 信息图表是如何炼成的(三):阶层结构与isometric