一个 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方 ...
随机推荐
- VirtualBox: Resize a Fedora, CentOS, or Windows Dynamic Guest Virtual Disk (VDI) in VirtualBox
Here's the scenario: you've set up Dynamically Allocated Storage for the hard drive on your Guest VM ...
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields ## 用于有特定分隔字符 [r ...
- Spring入门介绍-AOP(三)
AOP的概念 AOP是面向切面编程的缩写,它是一种编程的新思想.对我们经常提起的oop(面对对象编程)有一定的联系. AOP和OOP的关系 AOP可以说是oop的某一方便的补充,oop侧重于对静态的属 ...
- iOS7 CookBook精彩瞬间(一)property、selector细节、__unused
1.我们常常使用nonatomic,很多人只知道它的效率较高,却不知道其含义,其含义是非线程安全的,也就是说多线程修改时不加锁,可能出现多个线程先后修改而成为脏数据的情况. 2.unsafe_unre ...
- UI设计--->全心全意为人民服务的宗旨---->注重客户体验--->软件持久的生命力
UI即User Interface(用户界面)的简称.UI设计是指对软件的人机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适简单.自由,充分体现 ...
- Android ClassLoader详解
我们知道不管是插件化还是组件化,都是基于系统的ClassLoader来设计的.只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物,传统Class文件是一个Java源码 ...
- linux常用的内核镜像格式
linux常用的内核镜像格式 Linux内核有多种格式的镜像,包括vmlinux.Image.zImage等. 1. Linux内核镜像格式 1.1 vmlinux vmlinuz是可引导的. ...
- scala学习笔记4(apply方法)
class ApplyTest{ def apply() = "This apply is in class" def test{ println("test" ...
- Java-IO之总框架
在Java IO中我们会经常提到输入流和输出流,流是一种抽象的数据总称,本质是能够进行数据的传输.按照流的方向分为:输入流和输出流.按照流中处理数据的单位,可以将其区分为:字节流和字符流.在Java中 ...
- pig强制转换(字符到整数):首位0怎么处理,‘01’到1的转化,
pig支持的类型转换(cast) Pig Latin supports casts as shown in this table. from / to bag tuple map int long f ...