入坑IT十年(二)技术以外
上一篇博客里提到:技术越来越简单,发布后不久,就看到《技术并不是越来越简单》,这显然是打擂台来了。
技术究竟是不是越来越简单?其实这个问题,要看你究竟是以什么角度来思考这个问题。我们可以举很多例子,比如:
生火,是不是越来越简单?
- 你可以说:是的,以前得钻木取火,太特么难了(贝爷除外)!现在打火机“啪”的一声,瞬间搞定,好简单。
- 但你也可以说:哪里哟!打火机要复杂得多,好不好?塑料外壳、液化气、喷嘴、打火石……任何一个零部件的制作都是现代工艺智慧的结晶,更别说要丝丝入扣,燃气一喷出来就瞬间打燃,而且火焰既不能太大也不能太小……任何一个技术细节,都不能小觑!
你觉得那种说法更有道理?
我希望大家能多思考一下这个问题。至少,能带着这个问题读完这篇博客。
看园子里的一些博客,尤其是我博客下面的一些评论,我常常有一种“鸡同鸭讲”的感觉。有时候我就会想:和他们相比,我确实不是一个“纯粹的”程序员。用一句话来概括我和他们的区别:我把技术当做一种工具,他们把技术当做一种信仰。
所以,有时候,我还是有些犹豫:把我这些庸俗的、功利的、赤果果的言论,当街扔出来,究竟好还是不好?毕竟,信仰这东西,是闪着光的。
终于有这么一个机会,我也不评价别人,就说说自个儿,入坑IT这十年,技术之外的一些想法。
去年夏天,我35岁,被HP裁员给裁了,摆在我面前的就三条路。
一、转行。回头做律师,搞装修,呵呵,这些我肯定不考虑了。我多说几句,是为了有一些正想着“贴膜”“开面馆”的同学:慎重,三思而行!如果确实是做程序员,一天到晚对着电脑,需求bug之类的脑壳痛,认准了自己确实不是做程序员的料,那没有什么问题;但如果仅仅是为了收入为了钱,我只能以过来人的身份,说几句话:
隔行如隔山,转行穷三年。不是说不能动,但要做好思想准备。
另外,门槛越低的行业,收入越是可怜。不要看到别人做淘宝一年几十万,那是做得好的,做得不好的你看不见。相比较而已,“程序员”的门槛,虽然越来越低,但还算将就。虽然号称“培训三个月,月薪8K”,但你懂的,(^_-)
我做装修,亏了两年。除去我不懂管理这一块,最主要的原因还是我不懂家装这个行业。硬生生的缴了两年的学费,所以说“做熟不做生”,外行看热闹,里面的水深水浅,你不自己扎进去,你是摸不清楚的。我的感觉,随便哪个行业,水都深得很啊!/(ㄒoㄒ)/~~
二、打工。只有在确实没有办法的情况下,我才会继续找工作打工。
基本上,到我这个年龄,还到处投简历的话,就太掉价了。而且市面上也不会有太多十年以上工作经验的职位,这些职位一般要靠“人脉”内推,或者猎头洽谈。公司选你,你选公司,大家都很谨慎,方方面面都要考虑。
我这十年,一门心思都扎到技术上了,人脉上非常单薄。人际关系,是要经营的;而经营,是要花时间花精力的;而每个人的时间都是有限的,花在了技术上,就不可能花在钻营上。这也是个挺无奈的事情,但总体来说:职业生涯前期,花时间在技术上,更划算一些;中后期,投资人脉,收益应该更高一些。
此外,我一直在大公司,而且是一个比一个大的巨无霸企业。以前我写过《毁人不倦 - 大公司小公司》,大公司里面,始终是螺丝钉,做不出业绩,或者做出来的业绩别人看不到。比如我去面试,你在HP干嘛呀?我负责维护XXX系统中,通过windows平台,使用Biztalk,进行“消息分发”的那一部分的紧急事件处理……首先,人家压根不知道XXX系统是个什么鬼;其次,用到的技术非常单一,限死了Biztalk;最后,你还只是做“紧急事件处理”。要是想靠工作上这点技术,另外谋个差事,非常困难。当然,你可能说我层级太低,要死“架构师”的话……我们那个系统啊,我就没见过架构师,稀里糊涂的干了5年,系统究竟是怎么一回事,其实还是晕乎乎——里面的问题一堆一堆的,大家都是在“拖”,老牛拖破车一样一步一步的“捱”。能够统揽全局的架构师,估计早就没在公司了。
所以,你很难和人家讲你在公司有什么什么业绩的。
说道这里,我特别想和大家讲一个故事:
我转行IT后待的第4的一家公司,在上海,是一个外包公司。发包方美国那边,所有业务都往中国迁,整个部门整个部门的裁,一层楼一层楼的空,但有一个家伙,谁都不敢动他,他闹辞职好久了,闹一次加一次薪。他技术牛逼吗?很一般。我们做的企业管理系统,无非就是增删改查而已,本身就没什么技术含量——然而,然而,业务逻辑超级复杂!我以前讲过,我整一个bug差不多干了一个月,就是在那迷宫一样的代码里转来转去转来转去。整整,不是,超过十年的代码啊,从c到C#,包含c++,VB,Java,数不清的if...else...,你技术再牛逼不熟悉业务都没辙。
这家伙,是公司仅存的一个从项目一开始就参与,一直跟着项目干了十年的老程序员。所以,这个文档残缺bug不断、业务超级复杂的系统,唯一的依靠就是这家伙了。当他在一些谁都不知道的旮旮旯旯,把兴风作浪的bug给拎出来的时候,所有人都只有一个大写的服。
三、创业。这是我最想最想说的,但这个问题太大太大了,篇幅所限,我还是以我自己为例子,简单的说一点。
因为“一起帮”(链接已含邀请码)的开发做了直播,我有两个QQ群,群里我让大家帮我想点法子做点推广搞点流量,然后大家给我的建议大概就是:搞个手机APP,加一个推送功能,时间币要能兑换人民币啊……
大家发现了问题没有?我让大家帮我想法子“做推广”,但大家的建议都是“加功能”。
开始我以为是沟通的问题,但反复几次之后,我发现,这是思维模式的问题。有一句话叫做“手里有了锤子,看什么都像钉子”。因为QQ群里都是程序员或者准程序员,他们能做的就是写代码,所以他们解决问题的办法就是“加功能”——这简直就成了一种本能,他们理所当然的认为:只要功能够好,一定可以吸引用户……
但真的是这样吗?肯定不是啊!“一起帮”要活起来,最根本的是什么?是“人气”。基本的功能实现之后,人气才是“一起帮”成败的关键:有人气,求助才能快速的得到解决;没人气,你做再多再好的功能也没用。博客园有什么独一无二的功能,csdn新增了这么多功能有什么卵用?(多说一句,很多本来很不错的网站/软件/APP,不断的堆砌新功能,最后让人迷茫烦燥,你们有没有这种感觉?)
程序员创业,“懂技术”是最大的优势,再也不用可怜兮兮的“我只差一个程序员了”;但“懂技术”,也可能是我们创业中最大的陷阱。因为我们相信“技术可以解决一切问题”,或者经意不经意的轻视创业过程中的其他因素。
其实我弄技术一直弄了十年,就已经犯了这个错误。回头想来,五年前(甚至更早),我就应该拉起人马自己先干起来。没干起来的原因很多,但觉得自己技术还不够强也是一方面。但技术嘛,够用就行,何必一直拖到现在?我网上看一些网站站长,请人帮忙搭个Discuz之类的论坛,技术勉勉强强能做点维护,还不是一样把钱赚了?盆满钵满。
说到推广,我又得提一遍《毁人不倦 - 大公司小公司》,这些年一直待在大公司,没去小(创业)公司见识见识,说不上后悔,但至少有些遗憾。现在很多东西都一头雾水,连怎么下手都不知道。所以,大公司好还是不好,要具体到个人,要具体到你的职业目标——这和我在《架构之路》里首先要定义“架构好不好”里面的“好”一样的道理。如果什么事都可以“一刀切”的话,那这世界就没有什么“多元化”了。
我的建议:如果以后有创业的打算,最好还是去创业公司待上一两年。多听多想多看多干,少抱怨。我年轻的时候打工,总觉得老板这也不行那也不行,其实呢,发现问题没什么了不起,只要眼睛不瞎都看得见。牢骚显摆不聪明,聪明的人,会琢磨为什么公司这么多问题还能经营,会琢磨要是我是老板能不能解决这些问题,会琢磨我怎么因势利导最大化我的利益……想想这些其实是废话,这种聪明是天生的,懂的人不教都会,不懂的人怎么教都教不会。
至于大公司里怎么学东西,呵呵,我真没什么可说的。任何机构,只要大到一定程度,必然官僚臃肿拖沓各种毛病,给我这种人偷奸耍滑混日子的机会,呵呵。我也从来没指望在里面往上爬(话说,那些使劲往上爬的,也没几个爬上去了的),要想升职加薪,还不如想办法跳槽。
也差不多了,回头看看,写得好像有点乱。但总体来说,主旨就一个:技术不是全部。这观点确实有点庸俗,但我们大多数人也都是俗人,所以我厚着脸皮把这话说出来。
有些同学肯定要问:那么,除了提高技术以外,还应该做些什么?
我知道大家都喜欢“一二三”之类的列举,园子里也有这样的文章。但实际上,这些东西,都因人而宜。彼之蜜糖,此之砒霜,邯郸学步,止增笑耳。最关键的,是思路的转变。思路的转变,是很难的,你会下意识的抗拒,因为技术是你的“舒适区”,要走出舒适区,那日子不好过啊……
好了好了,不说了,我也要走出“舒适区”,去做特么的无聊的推广了,/(ㄒoㄒ)/~~
入坑IT十年(二)技术以外的更多相关文章
- webpack入坑之旅(二)loader入门
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack 在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- webpack入坑之旅(六)配合vue-router实现SPA
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- webpack入坑之旅(五)加载vue单文件组件
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- webpack入坑之旅(四)扬帆起航
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- webpack入坑之旅(三)webpack.config入门
这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...
- webpack入坑之旅(一)不是开始的开始
最近学习框架,选择了vue,然后接触到了vue中的单文件组件,官方推荐使用 Webpack + vue-loader构建这些单文件 Vue 组件,于是就开始了webpack的入坑之旅.因为原来没有用过 ...
- h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片
得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...
- oracle入坑日记<二>认识oracle(含sqlplus基础使用)
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...
- Vue入坑教程(二)——项目结构详情介绍
之前已经介绍了关于Vue的脚手架vue-cli的安装,以及一些文件目录介绍.具体可以查看<vue 入坑教程(一)--搭建vue-cli脚手架> 下面简单说一下具体的文件介绍 (一) pac ...
随机推荐
- spring事务详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt122 Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式 ...
- Python终端输出打印彩色字体的方法
一 实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是0 ...
- POJ 3463 最(次)短路条数
Sightseeing Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9497 Accepted: 3340 Descr ...
- angularjs自定义指令实现分页插件
由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能.现在单独做了个简易的小demo,主要是为了分享自己写的分页功能.注:本实例调用的 ...
- 微信小程序wx.navigateTo层叠5次限制,特殊情况的建议
小程序页面的实例使用栈的数据结构存储,栈内元素最多5个(换一种方式说,就是用户最多能点击5次返回),微信小程序能在栈中相对高层某个页面调用其他相对低层的页面实例的方法. 小程序三种页面跳转API 的区 ...
- 201521123090 《Java程序设计》 第8周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1) 1.1 ...
- 201521123061 《Java程序设计》第三周学习总结
1. 本章学习总结 2. 书面作业 **Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2 ...
- Java中Collections的min和max方法
方法一 public static <T extends Object & Comparable<? super T>> T min(Collection<? e ...
- 201521123004 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 协议.IP.域名.端口号 协议:网络中为了进行数据交换(通信)而建立的规则.标准或约定(=语义+语法+规则 ...
- Eclipse rap 富客户端开发总结(1) :rap简单介绍和开发环境搭建
一.rap简单介绍 1 基本概念 RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将 ...