上一篇博客里提到:技术越来越简单,发布后不久,就看到《技术并不是越来越简单》,这显然是打擂台来了。

技术究竟是不是越来越简单?其实这个问题,要看你究竟是以什么角度来思考这个问题。我们可以举很多例子,比如:

生火,是不是越来越简单?

  • 你可以说:是的,以前得钻木取火,太特么难了(贝爷除外)!现在打火机“啪”的一声,瞬间搞定,好简单。
  • 但你也可以说:哪里哟!打火机要复杂得多,好不好?塑料外壳、液化气、喷嘴、打火石……任何一个零部件的制作都是现代工艺智慧的结晶,更别说要丝丝入扣,燃气一喷出来就瞬间打燃,而且火焰既不能太大也不能太小……任何一个技术细节,都不能小觑!

你觉得那种说法更有道理?

我希望大家能多思考一下这个问题。至少,能带着这个问题读完这篇博客。

看园子里的一些博客,尤其是我博客下面的一些评论,我常常有一种“鸡同鸭讲”的感觉。有时候我就会想:和他们相比,我确实不是一个“纯粹的”程序员。用一句话来概括我和他们的区别:我把技术当做一种工具,他们把技术当做一种信仰

所以,有时候,我还是有些犹豫:把我这些庸俗的、功利的、赤果果的言论,当街扔出来,究竟好还是不好?毕竟,信仰这东西,是闪着光的。

终于有这么一个机会,我也不评价别人,就说说自个儿,入坑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十年(二)技术以外的更多相关文章

  1. webpack入坑之旅(二)loader入门

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack 在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  2. webpack入坑之旅(六)配合vue-router实现SPA

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  3. webpack入坑之旅(五)加载vue单文件组件

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  4. webpack入坑之旅(四)扬帆起航

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  5. webpack入坑之旅(三)webpack.config入门

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  6. webpack入坑之旅(一)不是开始的开始

    最近学习框架,选择了vue,然后接触到了vue中的单文件组件,官方推荐使用 Webpack + vue-loader构建这些单文件 Vue 组件,于是就开始了webpack的入坑之旅.因为原来没有用过 ...

  7. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  8. oracle入坑日记<二>认识oracle(含sqlplus基础使用)

    1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...

  9. Vue入坑教程(二)——项目结构详情介绍

    之前已经介绍了关于Vue的脚手架vue-cli的安装,以及一些文件目录介绍.具体可以查看<vue 入坑教程(一)--搭建vue-cli脚手架> 下面简单说一下具体的文件介绍 (一) pac ...

随机推荐

  1. eclipse创建的maven项目无法部署到tomcat

    今天在eclipse中创建了个maven项目,想运行起来看看,发现代码开发完成后无法发布到tomcat. 解决办法如下: 第一种: 选中项目-右键属性-Project Facets 勾选上面三项并选择 ...

  2. 设置SQL Server 2005数据库使之可以远程连接

    1. 开启sql2005远程连接功能,开启办法如下: 配置工具->SQL Server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Databas ...

  3. 从网络获取json数据,使用imageloader获取网络图片资源并显示在ListView上

    http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0 这是一个接口,通过这个接口来获取数据并解析 大体上就是把解析的数据还有图片u ...

  4. 如何在C++中产生随机数

    C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand().不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随 ...

  5. 集美大学网络1413第七次作业成绩(团队三) --需求改进&系统设计

    题目 团队作业3--需求改进&系统设计 团队作业3成绩  团队/分值 TD BZ GJ CJ SI WBS GS JG DB SS SJ CS DC 总分  1 0.25 0.75 1 0.5 ...

  6. GUI线程 :打字母游戏

    代码: /** * */ package com.niit.syntronized; import java.awt.Color; import java.awt.FlowLayout; import ...

  7. 团队作业8——Beta 阶段冲刺7th day

    一.当天站立式会议 二.每个人的工作 (1)昨天已完成的工作(具体在表格中) 完善支付功能 (2)今天计划完成的工作(具体如下) 测试与正式发布 (3) 工作中遇到的困难(在表格中) 成员 昨天已完成 ...

  8. SNS团队Beta阶段第五次站立会议(2017.5.26)

    1.立会照片 2.每个人的工作 成员 今天已完成的工作 明天计划完成的工作 罗于婕 生词本功能测试,bug修复 发音图标的改进 龚晓婷 辅助完善历史纪录的功能 对于历史记录功能的测试 林仕庄 继续完善 ...

  9. 静态include与动态include的区别

    jsp中的include有两种形式,分别是:<%@ include file=""%><jsp:include page="" flush=& ...

  10. 201521123098 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 1. Input Stream -- 数据提供者可从其中读数据输出流:Output Stream -- 数据接 ...