一个 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方 ...
随机推荐
- how to output quotes in bash prompt
introduction In certain situations, quotes are required to be output in the command prompt. To do th ...
- JAVA面向对象-----构造方法
我们人出生的时候,有些人一出生之后再起名字的,但是有些人一旦出生就已经起好名字的.那么我们在java里面怎么在对象一旦创建就赋值呢? 构造方法作用 构造方法作用:对对象进行初始化. 构造函数与普通的函 ...
- ArrayList、HashMap、HashSet源码总结
ArrayList: 1. ArrayList是List接口的大小可变数组的实现,此实现是不同步的. 2. ArrayList内部使用类型为Object[]的数组存储元素. 3. ArrayList默 ...
- Struts 2 之类型转换器
Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用d ...
- (一一九)通过CALayer实现阴影、圆角、边框和3D变换
在每个View上都有一个CALayer作为父图层,View的内容作为子层显示,通过layer的contents属性决定了要显示的内容,通过修改过layer的一些属性可以实现一些华丽的效果. [阴影和圆 ...
- mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息
1.1. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息 有时候我们想要获取到数据库的基本信息,当前程序连接的那个数据库,数据库的版本信息,数据库中有哪些表,表中都有什么字段 ...
- 查全率(召回率)、精度(准确率)和F值
文献中的recall rate(查全率或召回率) and precision(精度)是很重要的概念.可惜很多中文网站讲的我都稀里糊涂,只好用google查了个英文的,草翻如下:召回率和精度定义: 从一 ...
- (NO.00004)iOS实现打砖块游戏(十五):导弹发射道具的实现(上)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇中我们实现了3球道具,但是好像还是不过瘾,如果能让反弹棒更 ...
- [mysql]一次主从数据不一致的问题解决过程
之前一篇: 主从更换ip之后重新建立同步 情况时这样的 昨天晚上主动2个机器都迁移了,然后今天才把主动重新连接上,但是从库的偏移量是从今天当前时刻开始的,也就是说虽然现在主动看似正常,其实是少了昨天的 ...
- JAVA之旅(三十)——打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码
JAVA之旅(三十)--打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码 三十篇了,又是一个 ...