原来,多年以来,我一直是个curl/CRUD程序员
curl,就是create,update,remove,list的首字母简写。说是CRUD似乎更流行些,不过无所谓,知道是一个意思就好。
curl程序员,就是增改删查程序员,中文说增删改查更加顺口。
curl程序员,做的是低技术含量的增删改查工作。
下面简单回顾一下我做增删改查的历史。
入行前,用vb做curl;
入行后,用C++做curl;
过一阵,又用Java做curl;
有时也用C#做curl;
Java框架发展很快,最初是JSP+Servlet的方式做curl;
Struts来了,于是用Struts做curl;
马上又是Spring和Hibernate做curl,这就是当时做curl鼎鼎有名的SSH;
简单的Struts和难用的HIbernate注定被淘汰后,Spring还欣欣向荣,于是用SpringMVC做curl;
前端发展起来,于是换用Prototype,Dojo,jQuery等做前端curl;
大浪淘沙,前端剩下jQuery,后端剩下Spring,本以为这样的组合要包打天下!可他们瞬间又过时了。
前后端分离,用restful接口合作,又掀起一波狂潮,技术新主题更如雨后春笋,不胜枚举。
只有永恒的curl没变。
其实很少有人想透过该如何在这样的技术大潮中获得自己能获得的最大利益。
有的人精力充沛,有新技术就学就跟就使,他们的思想误区是以为自己永葆青春;
有的人霸气侧漏,想通过管理往上爬并借此巩固自己的地位,他们的思想误区是把希望寄托在别人即项目和公司上。
我后知后觉的认为,学新技术,目的是等公司来派curl活,已经沦为了程序员的底层;
走管理,当做curl活那些苦力的那摩温,也只是走到了倒数第二层;
真正的成功的路,一直有人在走,那就是做出自己的产品。
程序员里一直有不少个人英雄,从开发Winzip的Philip Katz,WPS的求伯君,刻录音乐光盘的周奕,Foxmail的张小龙,WePhone的苏享茂...
也许他们不如比尔盖茨马云那么耀眼,但比起我这般的curl程序员,依然如日月之光。
对他们来说,无需用架构,项目,经历,语言,模式,框架,经验,规范自抬身价,一个产品就说明一切。
这才是程序员在无尽的技术狂潮面前以有限的时间有限的经验发达的明路。
无尽的技术狂潮一定会淘汰所有人,包括上面提到的所有人,但是,没关系,只要能在没被淘汰前就足够成功就好。
希望不在别人身上,道理说透了,方向明了,路还要一步步踏实走。
原来,多年以来,我一直是个curl/CRUD程序员的更多相关文章
- 你可以 CRUD,但你不是 CRUD 程序员!
什么是务实 务实程序员他们总是在面临问题时,透过问题看到本质,从具体的场景出发,从大局着想,了解整个问题的来龙去脉,他们会对自己的行为负责,在项目面临问题时,他们不会撒手不管或者任由风险一步步扩大直至 ...
- 程序员除了会CRUD之外,还应该知道什么叫CQRS!
今天主要跟大家分享一下什么是 CQRS,以及在项目中如何去使用. CRUD系统 我们平常最熟悉的就是三层架构,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体.然后通过业 ...
- 成不了天才,但为何也没成"人材"?(转)
长期以来,"软件业"一直被视为"智力密集"型的"朝阳"产业,大多数从业者都受过高等教育,其平均素质居于社会各行业的前列,这个产业的顶尖人物被 ...
- redis实现排行榜
1 前言 实现一个排版榜,我们通常想到的就是mysql的order by 简单粗暴就撸出来了.但是这样真的优雅吗? 数据库是系统的瓶颈,这是众所周知的.如果给你一张百万的表,让你排序做排行榜,花费的时 ...
- .NET手撸2048小游戏
.NET手撸2048小游戏 2048是一款益智小游戏,得益于其规则简单,又和2的倍数有关,因此广为人知,特别是广受程序员的喜爱. 本文将再次使用我自制的"准游戏引擎"FlysEng ...
- Java入门——初识Java
Java入门——初识Java 摘要:本文主要对Java这门编程语言进行简单的介绍. Java简介 说明 Java语言历时十多年,已发展成为人类计算机史上影响深远的编程语言,从某种程度上来看,它甚至超出 ...
- 炸裂!MySQL 82 张图带你飞
之前两篇文章带你了解了 MySQL 的基础语法和 MySQL 的进阶内容,那么这篇文章我们来了解一下 MySQL 中的高级内容. 其他文章: 138 张图带你 MySQL 入门 47 张图带你 MyS ...
- Fedora一键安装NVIDIA显卡驱动Fedora28+
这是一篇以前写的文章,写在CSDN的,现在不想使用CSDN了,就把笔记写在了博客源,后续考虑建立自己的博客,每一个CRUD程序员都想建立自己的博客吧,我猜是的 进入正题 rpm fusion源包含Nv ...
- 使用.NET 6开发TodoList应用(4)——引入数据存储
需求 作为后端CRUD程序员(bushi,数据存储是开发后端服务一个非常重要的组件.对我们的TodoList项目来说,自然也需要配置数据存储.目前的需求很简单: 需要能持久化TodoList对象并对其 ...
随机推荐
- php 字符串重要函数
1.chop() 从字符串右端移除字符 chop(string,charlist) $str="hello world~"; echo chop($str,"ld~&qu ...
- ABC103
Wow今天听同学说了这个网站,做了一次比赛的题目,只有四道题. A.三个数a,b,c,找两个最小的差相加,显然是中间数与另外两个数的差,也就是最大值减最小值了 B.两个字符串,判断能否通过对一个进行每 ...
- memcached 实现读锁
memcached锁,网上大多就介绍乐观锁(cas)[1.2.4以上版本,telnet连接上memcache使用status可以查看版本号].核心就是每次写入数据的时候使用 cas($cas_toke ...
- bind 简单配置dns
一. 安装apt-get install bind9 apt-get install bind9-host dnsutils apt-get install bind9-doc 二.修改本机配置我们要 ...
- Python数据结构——栈
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶.栈被称为一种后入先出(LIFO,last-in-first-out)的数据结构. 由于栈具有后入先出的特点,所以任何不在栈顶的元素 ...
- UML笔记(3):顺序图、Sequence Diagram
http://www.cnblogs.com/xueyuangudiao/archive/2011/09/22/2185364.html 目录 含义 要素: 1 活动者 2 对象 3 生命线 4 控制 ...
- UVALIVE 2955 Vivian's Problem
参考: http://blog.csdn.net/acm_cxlove/article/details/7860735 感觉这里需要记录一下 #include <map> #include ...
- Scala学习随笔——控制语句
Scala只内置了为数不多的几种程序控制语句:if.while.for.try catch以及函数调用,这是因为从Scala诞生开始就包含了函数字面量,Scala内核没有定义过多的控制结构,而是可以通 ...
- 多线程之:ThreadLocal
Java中ThreadLocal类可以使创建的变量只被同一个线程进行读和写操作,即使有多个线程同时执行同一段代码,并且这段代码中又有一个指向同一个ThreadLocal变量的引用,这些线程依然不能看到 ...
- ws2s函数
std::string ws2s(const std::wstring& str) { char* pElementText; int iTextLen; // wide char to mu ...