一个 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方 ...
随机推荐
- 项目部署、配置、查错常用到的Linux命令
一.常用命令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) ll 会列出该文件下的所有文件信息,包括隐藏的文件的文件详细信息, ...
- 微信小程序基础之表单Form的使用
表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用 form表单,将组件内输入的"switch","i ...
- JAVA通过继承Thread来创建线程
创建一个线程的第二种方法是创建一个新的类,该类继承Thread类,然后创建一个该类的实例. 继承类必须重写run()方法,该方法是新线程的入口点.它也必须调用start()方法才能执行. 实例 // ...
- 安卓Toast自定义及防止重复显示
Toast是安卓系统中,用户误操作时或某功能执行完毕时,对用户的一种提示,它没有焦点,并在一定时间内会消失,但用户连续误操作(如登录时,密码错误)多次时,则会有多个Toast被创建,系统会把这些toa ...
- Hadoop MapReduce工作原理
在学习Hadoop,慢慢的从使用到原理,逐层的深入吧 第一部分:MapReduce工作原理 MapReduce 角色 •Client :作业提交发起者. •JobTracker: 初始化作业,分配 ...
- Spark-1.6.0中的Sort Based Shuffle源码解读
从Spark-1.2.0开始,Spark的Shuffle由Hash Based Shuffle升级成了Sort Based Shuffle.即Spark.shuffle.manager从Hash换成了 ...
- Sky(dart)语言介绍-android学习之旅(十)
认识dart语言 google于2011年10月10日发布了"dart"语言的"早起预览版",google希望利用这款语言,帮助开发者克服javaScript的 ...
- Java之恋
初次见面那是一个河北的夏天风随沙散落天涯蝴蝶依旧恋着花回首走过的日子手指和键盘之间的梦想之光已恍如昨日 那年我还是一个刚踏进这个曾经只在地理课本上狂念南稻北麦,南油北花的土地那年你只是我必须要学的编程 ...
- javascript 下拉列表 自动取值 无需value
<select id="applyType" name="$!{status.expression}" class="inp" onc ...
- Java-IO之CharArrayWriter(字符数组输出流)
CharArrayWriter用于写数据,数据单位是字符. (1) 通过CharArrayWriter()创建的CharArrayWriter对应的字符数组大小是32. (2) 通过CharArray ...