一个 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 MultiDex multidex原理下超出方法数的限制问题(三)
android MultiDex 原理下超出方法数的限制问题(三) 插件化?自动化?multiDex?是不是觉得已经懵逼了?请先看这篇文章的内容,在下篇文章中将会详解具体的过程- 随着应用不断迭 ...
- Android简易实战教程--第四十三话《上拉加载与下拉刷新》
ListView的下拉刷新很常见,很多开源的框架都能做到这个效果,当然也可以自己去实现.本篇案例是基于xlistview的. 布局: <RelativeLayout xmlns:android= ...
- java中八种基本数据类型以及它们的封装类,String类型的一些理解
在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:int.short.float.double.l ...
- Swift中if与switch语句使用一例
在Swift中相同的条件处理有if和switch两个语句,我们如何取舍呢? 一种情况下我们只在乎x是否在一个范围内,但并不关心x是否穷尽!换句话说不关心在满足范围条件的其他情况下,此时我们可以考虑用i ...
- [struts2学习笔记] 第三节 创建struts 2 HelloWorld所需的六个步骤
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40349201 官方文档:http://struts.apache.org/releas ...
- iOS下JS与OC互相调用(一)--UIWebView 拦截URL
最近准备把之前用UIWebView实现的JS与原生相互调用功能,用WKWebView来替换.顺便搜索整理了一下JS 与OC 交互的方式,非常之多啊.目前我已知的JS 与 OC 交互的处理方式: * 1 ...
- API创建员工联系人
DECLARE ln_contact_rel_id PER_CONTACT_RELATIONSHIPS.CONTACT_RELATIONSHIP_ID%TYPE; ln_ctr_object_ver_ ...
- UNIX网络编程——常用服务器模型总结
下面有9种服务器模型分别是: 迭代服务器. 并发服务器,为每个客户fork一个进程. 预先派生子进程,每个子进程都调用accept,accept无上锁保护. 预先派生子进程,以文件锁的方式保护acce ...
- 高性能nosql ledisdb设计与实现(1)
ledisdb是一个用go实现的基于leveldb的高性能nosql数据库,它提供多种数据结构的支持,网络交互协议参考redis,你可以很方便的将其作为redis的替代品,用来存储大于内存容量的数据( ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(八)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 回到Xcode中,新建一个EndLayer类,继承于CCNode ...