zoukankan      html  css  js  c++  java
  • 一而再,再而三

    系统开发和维护的情景,就像一张纸落到水面上,吸饱水后,纸慢慢沉下去;而牛掰的程序员要做的事情,就是想办法不让这张纸沉到底、腐朽。

    先讲点题外话,

    我的职业经历:

    第一个阶段,06年到08年,因为各种原因,换了两三个不同的方向,有的甚至不是做纯粹的程序开发,但总逃不了回归到用程序开发解决问题的路线;

    第二个阶段,09年到11年年底,在比较屌丝的创业公司挣扎,负责技术团队,并且是主程;

    第三个阶段,12年到14年年中,终于进了一家规模不大但有点“资源”的公司,复杂Web系统开发;终于有机会开始和比自己优秀的人共事;期间企图用世界上最好的编程语言PHP去碾压Java程序员,失败,而且跟我混的@dragon 后面还转去做Java了;

    第四个阶段:14年下至今,坐标魔都,与更多优秀的人物合作;经历了母婴行业的一个风口,泡沫过后,正在纠结中

    10年的职场生涯,技术上有些积累,但总体看是失败的,从忽悠价钱的能力、参与公司整体定位和战略制定的能力、人脉资源的积累等等方面,都不够!结局就是,屌丝!!!

    搞技术习惯了,总是在纠结这个方法要放到哪个类里,那个常量要定义在哪个类里,好像没有多余的经历去思考产品、战略、职业发展;总是习惯用技术解决问题,就算想赚更多的钱,也只想用技术去赚。

    搞技术的还需要去思考公司发展战略,扯淡?公司发展的好坏关我Niao事!只要发得出工资的公司就是好公司!

    你有这样想过吗?我没有。即便偶尔有,但从没这么做过!

    题外话讲完了,其实,重点是我前面讲的四个阶段,我把它对应成自己

    技术发展的四个阶段:

    第一个阶段:学会做出东西;

    第二个阶段:拼命补充各种知识,尤其是Big高的开发模式MVC(在PHP世界里,当时MVC确实是Big很高的)、Big高的操作系统*nix、Big高的编程语言Python、Big高的数据库PostgreSQL、Big高的开发框架Yii;

    第三个阶段:造轮子,各种框架改写、拼装;

    第四个阶段:手中无轮、心中有轮;团队力量才是最大的

    那么,我现在的认知中,

    对于牛掰程序员的定义是:

    能够提出最有效的方案,重构现有的系统代码。

    重构从来不是目的,目的要要解决什么问题;那些以重构为目的的工作,基本上都会失败的。

    前面写过一篇文字:http://www.cnblogs.com/x3d/p/php-reflection-based-on-namespace.html

    里面记录了在PHP语言环境,老的系统与新的语言特性下的框架如何共存的一些实践心得。

    基于那些工作,利用业余时间,我又继续做了一些实践,见前一篇文章:http://www.cnblogs.com/x3d/p/5791645.html

    标题是《面向对象编程乱弹》,这标题......请原谅一个屌丝内心无处不在的Big情节。

    之所以不厌其烦的做一些这样的基础的、看似没有意思的工作,出发点,其实是希望团队的小伙伴在看我的博客时,能有些触动和反思,对大家的编程之路有点引导作用。

    一而再、再而三的意思

    是想表达我在几次重构的过程中的一种感觉。技术上的一个想法,要想落实到现有系统中,必须一而再的两次实验和总结的过程,再而三就是到了灵感迸发,一次性搞定的状态。

    所以,在无数这样的中小创业团队中,日常开发都是遵循以交付功能为目的的生存法则下,别说再而三了,连一而再的可能性几乎都没有。我也是没有直接拿团队内部的系统代码做尝试,这样出问题的后果是严重的。

    我如何能给团队小伙伴创造这样一而再、再而三的环境呢?

  • 相关阅读:
    [ZJOI 2012]数列
    [JSOI 2011]柠檬
    sonar错误及修改方案
    mysql 查询该字段不包含中文
    service 事务
    mysql 不等于和null
    java文件编译为class文件
    主,副时间排序
    MySQL 按首字母排序
    excle导入
  • 原文地址:https://www.cnblogs.com/x3d/p/5797606.html
Copyright © 2011-2022 走看看