一个 developer 的进化
作为一名开发者已十年,回顾过往大概经历了这么几个阶段,如下图所示:
Develop Code
作为刚走出学校的学生进入公司,在最初的 1~2 年内就处于该阶段。 不停的开发代码,为系统的大厦添砖加瓦,系统需要什么语言就学习什么,从 C 到 Java,从 Html到 javascript。 一会儿为 xx 银行的内控系统绘制界面,一会儿为校园一卡通的交易程序 fix bug,一会儿又去为结售汇系统编写报表,最后终结于信用卡的电子账单,终于结束了在该银行各个 “工地” 间的疲于奔波。 像块海绵一样,把自己吸的满满,朝 9 晚 24 的工作与学习,并时时自嘲为码农。
Develop System
从银行应用开发出来后,又转入了电信行业开发,恰逢中国电信合并联通 CDMA 2000,推出 3G 网络。 无数老的系统需要整合,新的系统需要开发,作为一名核心开发者赶上了大部分系统重新设计实施过程。 经历了多少个通宵的夜晚,踩过无数的坑,犯过大大小小不少的错,经历着成长的阵痛,在学校时追求成为一名架构师的梦想似乎越来越近。
三年的时间,设计、开发、实现了一个能卖的出去的系统,部署实施在了南方电信十个省,服务于上亿的 3G 用户。 当然普通用户一般不会知道这个系统的存在,直到有一天他们缴了费却打不通电话时。 某天晚上该死的上游计费系统错误的停机了几十万用户的手机,计费系统发出命令,我们的系统负责执行。 当然最后的责任和擦屁股总是可怜的码农,又一个通宵擦完这几十万用户的屁股,看着初升的太阳,不禁问自己这条路走下去的方向与意义,略感迷茫。 一个月后,离开了这个公司,离开了这个行业,也离开了工作 5 年的那座城市。
Develop Product & Develop People
在一个新的城市,在新的互联网行业,一个新的平台一个新的起点,重新起步。 依然开发着代码,依然开发着系统,却已不是码农的心态。 十年前学校里成为一名架构师的梦想如今已然实现,只是梦想这个东西会随着岁月成长变得更高更远。 梦想其实就是你此时此刻永远无法可及目的地,当未来某天你走到了昨日的梦想目的地,这一刻你的梦想依然在远方。 我们不断努力就是为了想站的更高看的更远,去体验一个更大的世界。
这个阶段作为开发者,开发的不仅仅是代码、系统了。 引领你的是梦想,而让梦想落地的也许是你伟大的产品构想,当再伟大的产品构想没有何时的人和团队,也仅仅是构想。
Develop Dream
最后,到达这里时你已无法停止,直至终结。
一个 developer 的进化的更多相关文章
- 蒙特卡洛树搜索算法(UCT): 一个程序猿进化的故事
前言: 本文是根据的文章Introduction to Monte Carlo Tree Search by Jeff Bradberry所写. Jeff Bradberry还提供了一整套的例子,用p ...
- 不变(Invariant), 协变(Covarinat), 逆变(Contravariant) : 一个程序猿进化的故事
阿袁工作的第1天: 不变(Invariant), 协变(Covarinat), 逆变(Contravariant)的初次约 阿袁,早!开始工作吧. 阿袁在笔记上写下今天工作清单: 实现一个scala类 ...
- 安装PL/SQL Developer 遇到的问题及解决方法
在用PL/SQL Developer安装Oracle客户端时,报错误,初始化失败,一直找不到原因,换Oracle版本也解决不了问题,之后才发现,是Oracle的环境变量配置错了,之前用户配了Oracl ...
- 从零开始用 Flask 搭建一个网站(二)
从零开始用 Flask 搭建一个网站(一) 介绍了如何搭建 Python 环境,以及 Flask 应用基本项目结构.我们要搭建的网站是管理第三方集成的控制台,类似于 Slack. 本篇主要讲解数据如何 ...
- JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)
3518. [NOIP2013模拟11.6A组]进化序列(evolve) (File IO): input:evolve.in output:evolve.out Time Limits: 1000 ...
- 一个非侵入的Go事务管理库——如何使用
在文章"清晰架构(Clean Architecture)的Go微服务: 事物管理"中,我谈到了如何在清晰架构中实现非侵入的事务管理. 它允许你把事务代码与业务逻辑代码分开,并且让你 ...
- [论文阅读]阿里DIEN深度兴趣进化网络之总体解读
[论文阅读]阿里DIEN深度兴趣进化网络之总体解读 目录 [论文阅读]阿里DIEN深度兴趣进化网络之总体解读 0x00 摘要 0x01论文概要 1.1 文章信息 1.2 基本观点 1.2.1 DIN的 ...
- “类型思维”之Typescript,你掌握了吗?
(一)背景 JavaScript是一门动态弱类型语言 对变量的类型非常宽容 而且不会在这些变量和它们的调用者之间建立结构化的契约. 试想有这么几个场景: 1: 你调用一个别人写的函数,但是这个人没有写 ...
- ExtJS 中类的继承
ExtJS 允许对现有的类进行扩展,其扩展可以通过继承来实现.接下来我们就对刚刚使用ExtJS定义的Person类进行继承,定义一个Developer类,它继承自Person,同时还拥有Coding方 ...
随机推荐
- Android的AIDL机制
Android 接口定义语言 (AIDL) AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似. 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的 ...
- Android的5层平台架构
Android 是一种基于 Linux 的开放源代码软件栈,为广泛的设备和机型而创建.下图所示为 Android 平台的主要组件. Android 软件栈 Linux 内核 Android 平台的基础 ...
- 自制Linux重命名命令
相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令.(虽然可以间接的使用mv来实现).下面我就来自己写一个简单的重命名命令. 准备工作 操作系统: Linux内核的系统都 ...
- tf.app.run()
在很多TensorFlow公布的Demo中,都有这样的代码存在,如下,这是干什么的呢? if __name__ == "__main__": tf.app.run() 我们来看一下 ...
- 【安卓中的缓存策略系列】安卓缓存之内存缓存LruCache
缓存策略在移动端设备上是非常重要的,尤其是在图片加载这个场景下,因为图片相对而言比较大会花费用户较多的流量,因此可用缓存方式来解决,即当程序第一次从网络上获取图片的时候,就将其缓存到存储设备上,这样在 ...
- Android开发学习之路--网络编程之xml、json
一般网络数据通过http来get,post,那么其中的数据不可能杂乱无章,比如我要post一段数据,肯定是要有一定的格式,协议的.常用的就是xml和json了.在此先要搭建个简单的服务器吧,首先呢下载 ...
- Android开发学习之路--UI之自定义布局和控件
新的一年已经开始了,今天已经是初二了,两天没有学习了,还是要来继续学习下.一般手机的title都是actionbar,就像iphone一样可以后退,可以编辑.这里自定义布局就来实现下这个功能,首先准备 ...
- 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...
- JDBC编程学习笔记之数据库连接池的实现
在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC ...
- 还在繁琐的敲MVP接口和实现类吗,教你一秒搞定。
只有程序员懒起来,才能提高开发效率 233333 在MVP的使用过程中,我们需要反复的去写各种MVP的接口和实现类, 实在是 太麻烦了!!所以抽时间撸了一款插件(只可用于Intellj IDEA 和 ...