程序员难以逃避的几个坎儿及解决方法

俗话说人在江湖,身不由己,程序员的江湖更是如此。

转眼间,我已在程序江湖里混迹了10年有余,也于今天:农历年2014年10月10日迎来了我的第三十五个生日。可以说这是一部非常丰富多彩程序人生。物以类聚,人以群分,在程序员的江湖混迹的时间久了,身边几乎都是程序员,耳濡目染的也都是各种苦逼程序员的种种经历和段子,很多段子,看似可笑,但对程序员确是真实的写照。菜鸟、屌丝、油条、大虾大拿等等,这些社会流行语,无不是起源于程序江湖,然后被发展光大。这些写照的背后,其实映射着的更多是程序员进阶过程中的各种坎儿,这些坎儿也几乎是难以逃避的或者是向往的。

--菜鸟坎儿

这个是最先被程序员引入并发扬光大的牛B词汇,已经被收录进中华汉语词典中了。菜鸟,最初的意思为“计算机初学者”,后被发扬光大,新入一个行,新入一个团队,新学一门手艺等等,都统称菜鸟。这个是程序员难以逾越的第一道坎儿。每个人都有入行的一天,对于程序员来说,菜鸟这道坎意味着:选择什么样的语言?从事那种分类的程序工作?进入什么样的公司?等等。其中语言选择这个是菜鸟坎儿中最难的,你无论选择哪一种语言,都会引起另外一种语言跟随者的冷言讽语,你要是为选择那种语言而求助于程序员江湖的话,你肯定得不到满意的答案,抛出问题前迷茫,抛出问题后你依然迷茫。

那么,该如何过这道坎儿呢?以我个人经历和身边朋友来说,我以为应该遵循如下几步:

首先:你要明白,无论选择任何一种语言,只要是面向对象的,其核心编程思想都是一样的, 都是对现实事物的抽象,都离不开封装、继承和多态的概念。

其次:任何一门语言,最终都离不开算法,要想真正能混好饭吃,设计模式和数据结构都是必 须要深刻领悟的。

再次:选择一门语言,最初最好根据你身边朋友的情况,选择和他们一致的语言,这样你在遇 到问题的时候,会有最近的帮手,解决问题不会孤单。

最后:不要根据一个语言的优缺点去选择,要根据个人的兴趣爱好去选择,只有这样,你才能 走的更远。如果你对任何语言都不感兴趣,那么,你在程序江湖也就是混口饭吃,难以 走的很远,这种情况下,找一门易于上手,容易快速学习的语言。当然,易于上手只是 相对的,因为任何一门语言,要真正研究透,真正能够掌握其精华,都必须有爱好和兴 趣的支撑,外加时间和经验的积累。没有兴趣和爱好支撑,迟早会被程序江湖抛弃。

--屌丝坎儿

屌丝是最近几年才火爆的网络流行词,屌丝的原意为“矮、穷、搓”,矮和穷就不说了,搓的含义有很多种,人长相搓、思想搓、心态搓、行为搓等,其实这是针对“高富帅”的另一种称呼,是程序员的一种自嘲,后被无限放大,成了大家对现实个人生活和社会病态的一种嘲讽了。但屌丝的另外一层意思则是自我温饱能解决,房、车等都有点遥不可及的意思。从选择了语言,进入程序江湖,到在程序江湖混迹3年以下的,都可称为屌丝,当然依据个人天赋,有一些人凭借着对语言的浓厚兴趣和特有潜质,很快就能逾越过这个坎儿,但大多数人这个阶段是相对最长的。这段时间的程序员,会面临实际工作中的各种问题,会有很多个第一次碰触问题的情况,这些问题主要包括:技术上的、交际上的,这也是程序员相对痛苦的阶段,但这段时间的程序员也有一个独有的优势:几乎任何一个公司,最需要的就是这个阶段的人,所以这个阶段的人工作最好找,跳槽最容易,原因是这个阶段的人,工作经验已经具备,工资成本相对较低,个人经历最为旺盛。换句话来说,就是这类人群对公司来说,性价比是最高的。但对程序员来说,肯定是希望最快的速度跳过这个坎,因为相对于程序员来说,无疑这个坎是:苦、累、贱的代名词。

该如何过这道坎儿呢?还是以我个人经历和我身边的朋友经历来说:

首先:要有熬的充分思想准备,熬不是瞎熬,要主动的去针对问题进行思考,寻找解决方法, 积累问题解决经验,一定不能一不懂就问,一定要先思考,自己找解决方法,直到迫于 时间或者无法解决才去讨教,切忌为自己及逃避问题找理由。

其次:要能经得住辱骂,要把这些辱骂作为一种锻炼和修养,不要因为一时承受不了辱骂而放 弃一个公司,要知道几乎在每个公司,每个程序员都会有这样的经历,这是个人性格的 一种培养和个人意志的修炼。是通往优秀程序员的必经之路。我曾经在这个过程中,被 骂哭过多次,被骂蠢、笨、傻B是常有的事许多次,也有逃避不想干程序员的各种思想, 但最后我都坚持下来了,那段时间里,我几乎每天晚上都要针对一些问题,找方法,加 速自己的学习,几乎每天晚上都是凌晨以后才睡觉。

最后:这个阶段不要频繁跳槽,不要以为跳槽多了,工资高了就是好事,许多时候,一个公司 在面试的时候,看到简历中一个人几乎每年都跳一到两个公司的时候,会直接把这种人 给Pass掉,各种原因不做解释。

--油条坎儿

这个词对于的意思是指:阅历丰富有经验,但为人世故油滑不厚道,是一个贬义词

但对于程序员来说,这个阶段的程序员相对来说比较轻松,也是很多屌丝羡慕的阶段。因为对这个阶段的程序员来说,他们的经验积累到了一定的程度,开发效率会很高,对一些技术,有了自己的沉淀和主观思想,经常是交予的任务能够很好地快速的完成,加班对他们来说已经不是第一频词了,这些人往往也是一个公司的技术核心或者技术骨干,甚至很多时候,公司为了能够更高的工作效率,加班什么的都会求着这些人。这些人的工资也相对较高,生活自理能力也比较强。他们的时间在程序猿中也是比较充分的,经常闲暇时逛逛各种论坛,回答一些初学者提出的问题,可以说是相当活跃,几乎绝大部分论坛的问题答疑是靠这部分人来支撑和解决的,甚至一些开源应用也都有这些人来贡献出来。这个阶段也是程序员坎儿中最危险的一道坎,因为这个阶段的程序员,容易骄傲,也容易浮躁。特别是碰到一些感觉不如自己的人领导他的时候,做事上经常会鄙视或者顶撞领导,甚至会有一些极端冲突。而为了整体项目进度,领导对这些人还必须忍气并竭力讨好。很大一部分人在这个阶段不思进取,认为生活,工作都相对稳定,奋斗的激情慢慢衰退,而随着年龄的增长,经验却没有持续提高,到后来会后悔莫及。也有一部分人会慢慢参与到项目管理中去,而在管理过程中,形成了一种极端可怕的思想,就是自认为自己很具有管理能力,这相当可怕,因为这个阶段的程序员所进入到的所谓的管理成无非就是项目组长、项目经理最高也就是部门经理的职务上。对于小公司来说,手下可能带上几个人,甚至两三个人,对于比较大的公司来说,手下有十几号或者几十号的人,到最后大多是技术丢了,管理也不是真正的管理,落得个找工作都很难的境地。当然,技术大虾和一些出色的领导也是在这个阶段逐渐产生的,这个阶段一般是进入程序江湖5年左右时必经的一个坎儿。

处于这个坎儿上的程序员兄弟需要注意:

其一、一定要戒掉浮躁和骄傲的心态,努力是自己处在平静中,遇事不要冲动,先冷静的思  考问题,和领导更不要当面冲撞,应该学会帮领导树立权威,不要动辄冲动,对别人的 技术言论不要直接否定,而是静心分析问题,学会从不同的技术角度去看问题。

其二、自我清醒,一定要认清自己是适合走技术路线还是适合走管理路线,不要认为技术路 线很简单,当然,更不能以为管理就那回事,以至于最后沦落为一个公司的鸡肋,并且 要切记,管理路线一定比技术路线更难。

其三、发挥自己的核心骨干作用,时团队协作更为融洽,因为您绝对有这个实力和能力。

其四、找准了方向之后,一定要做深沉次的研究,多思考是这个阶段最重要的武器。

--大虾坎儿

大虾:别名大侠,这是很多菜鸟或屌丝对技术牛人的尊称。也是绝大多数趟过油条坎儿后,程序员的终点站,因为天才必然很少,许多人走到这个阶段,已经再难以持续了,技术上来说,这些人绝对比油条要高一大档次,大虾对一门语言的兴趣会狂热到极点,对其他主流语言也有相对研究。他们更多的时候,是用设计模式和数据结构的精华,结合个人的工作经验,把一门编程语言用到极致。或者说,他们要么追求性能上的最佳点,要么追求各种已有框架架构上的最佳融合,有能力在一个项目中,左右整个项目的技术方向,也能扬长避短。也就是说,到了这个阶段的程序员,思考的更多的是整体,可以说,那些屌丝或者油条写出来的代码,在他们看来也是漏洞百出。很多菜鸟或者屌丝希望能得到大虾的指点。大虾一般在程序界混迹都是8年有余。但大虾也有自己的瓶颈,这种瓶颈甚至说是难以逾越的。主要原因为:一:家庭,到了这个阶段的程序员,一般老婆、娃、房、车一应齐全了,家庭开支相当大,因此家庭生活生计会分化掉他很大的精力,以至于没有时间去钻研。二:资源,处在这个阶段的程序员,大多会感到比较孤独,甚至无助,公司的技术重大难点要这些人来攻克,而这些人一旦遇到难题,几乎没人能帮他的忙,他很多时候只能自己思考解决方案,甚至有些问题,日思夜想,也会出现很奇怪的事,就是一直无解,结果做梦的时候吧问题解决方案想到了。对于简单的问题,大多数情况下是谁问就会被骂,这么简单的问题怎么都不去思考!。处在这个阶段的人,不会轻易跳槽,而能够养的起这样的人的公司,技术方向几乎是围着他来转,不会轻易想更换,因为那可能是整套思想和整体技术都要换的代价。如果这类人面临跳槽,那么对他们来说几乎以为着失业,亦或是自己创业。原因很简单,1、不愿轻易放下身价,因为后面有整个家庭负担,除非迫不得已;2、没多少公司会大量养这些人,因为养不起,很多公司甚至连一个都养不起或者不愿养。3、年龄已大,没有更多的精力和能力以及体力和屌丝们去拼。

这个坎儿怎么过呢?我不敢去想也不愿去想。

--大拿

对很多人来说,大拿是个传说,甚至都没见过,而我也只见过一两个,从我和他们有限的几次交流的情况,我发现我所有所会的,几乎都是他的子集,这些人跨越了年龄,大多有一二十年的工作经验,并且在跨国企业呆过,钱?他们已经没这个概念了!工作?大公司或者跨国公司都抢着拉他们呢!

程序员难以逃避的几个坎儿及解决方法相关推荐

  1. 黑马程序员-----集合框架类(四) 高级for循环、方法的可变参数及静态导入

    ------- android培训.java培训.期待与您交流! ---------- 黑马程序员-----集合框架类(四) 高级for循环.方法的可变参数及静态导入 1.1 高级for循环(示例1) ...

  2. win7无法信息服务器安装程序,主编为你win7系统纯净版安装程序提示“microsoft注册服务器已停止工作”的解决方法...

    win7专业版系统是众多客户默认的电脑系统,只是有不少客户在操作过程中恐怕会碰见需要解决win7系统纯净版安装程序提示"microsoft注册服务器已停止工作"的情景.几乎所有的初 ...

  3. 微信支付服务商,![CDATA[sub_mch_id与sub_appid不匹配],微信小程序支付,签名错误,CDATA[签名错误]解决方法,支付签名验证失败

    微信支付服务商,微信小程序支付,签名错误,CDATA[签名错误]解决方法 1:服务商和普通的商户支付在代码上没有太大差异(不同的是上传的参数,而且微信支付服务商参数上比较难找,官方文档又太简洁,所以很 ...

  4. 无法启动此程序,因为计算机中丢失vcruntime140.dll”的解决方法

    扩展名".dll"与动态链接库(dll)有关,动态链接库是包含程序使用的代码和数据的库.一旦一个程序被创建,它就与一个DLL相关联,这个DLL只有在特定程序启动时才会被触发.因此, ...

  5. Win7运行程序时弹出“windows防火墙安全警报“的解决方法

    win7系统运行程序时经常弹出Windows安全警报,提示"Windows 防火墙已阻止程序的部分功能"到底怎么回事呢?其实这是防火墙为防止一些程序恶意访问网络而设定的,我们知道W ...

  6. 安装系统正在为首次使用计算机ghost,win7系统安装程序显示正在为首次使用计算机做准备的解决方法...

    win7系统是很多电脑用户首选的装机系统,然而有不少用户在使用过程中可能会碰到win7系统安装程序显示正在为首次使用计算机做准备的情况.大部分用户电脑技术都是菜鸟水平,面对win7系统安装程序显示正在 ...

  7. 无法启动此程序因为计算机中丢失msvcr110,程序因为计算机中丢失msvcr110无法启动的解决方法...

    程序因为计算机中丢失msvcr110无法启动的解决方法 发布时间:2020-08-16 23:49:33 来源:ITPUB博客 阅读:107 作者:luoluo591 mvcr110.dll是C+里文 ...

  8. 微信小程序(微信应用号)开发ide安装解决方法

    微信小程序(微信应用号)开发ide安装解决方法 参考文章: (1)微信小程序(微信应用号)开发ide安装解决方法 (2)https://www.cnblogs.com/muyixiaoguang/p/ ...

  9. 微信小程序JSjavascript中的Math.pow()函数负数开立方解决方法

    微信小程序JSjavascript中的Math.pow()函数负数开立方解决方法 Math.pow()函数是不能负数开立方的,会返回Null,因为对于计算机而言,负数开三次方是一个复数(实际上负数开三 ...

最新文章

  1. Struts入门(三)深入Struts用法讲解
  2. Outlook最小到系统托盘
  3. 【响应式编程的思维艺术】 (3)flatMap背后的代数理论Monad
  4. IOS学习笔记 -- scrollView和tableView整理
  5. 【14:00开播】国际顶会强力加持,算法“视”界杯巅峰之战拉开帷幕!
  6. maven-dependencyManagement和dependencies区别
  7. Google全球服务器根域名的IP地址
  8. 日常提醒2 (delphi源码)
  9. el-cascader数据绑定值原理之展平操作的算法
  10. Tomcat修改server.xml中的context标签后无法启动
  11. 今日头条 爬虫 java_Java爬虫实践:Jsoup+HttpUnit爬取今日头条、网易、搜狐、凤凰新闻...
  12. wincc逻辑运算符_工控随笔_11_西门子_WinCC的VBS脚本_02_运算符
  13. 爬虫是什么,该如何学习爬虫呢?
  14. c语言 --- 指针
  15. beyond compare 用法
  16. 如何在linux系统下使用百度云盘上传下载文件?
  17. mysql -- 基本操作
  18. 生物化学复习VII·糖代谢
  19. Twitch联合创始人推出游戏NFT市场Fractal
  20. 【标注小课堂】关于数据标注平台设计的几点思考

热门文章

  1. 搭建mongodb分布式集群(分片集群+keyfile安全认证以及用户权限)
  2. 营改增后计算机维修费税率,2020国税维修费税率是多少?
  3. html 插入 排班表,怎么用Word制作排班表,手把手教你学会
  4. javascript读写二进制
  5. 区块链百宝库【必备资源集合】
  6. 不得不会的软件测试bug分析定位技巧
  7. 关联算法①——《啤酒与尿布》购物篮分析
  8. 【机器学习】隐马尔可夫模型
  9. 基于树莓派的超声波数据采集与存储(一)——树莓派配置
  10. 服务器ibmc无法加载js文件,weUI应用之JS常用信息提示弹层的封装