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

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

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

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

--菜鸟坎儿

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

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

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

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

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

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

--屌丝坎儿

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

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

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

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

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

--油条坎儿

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

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

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

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

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

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

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

--大虾坎儿

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

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

--大拿

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

时间: 2024-11-08 23:42:55

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

程序员必须要掌握的排序算法以及查找方法

程序员必须要掌握的排序算法以及查找方法 经典的排序算法要一个一个的弄懂.借个图,列出学习提纲. 三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表 2016-04-17 09:08:04

好程序员web前端教程分享怎么用promise解决回调和异步

好程序员web前端教程分享怎么用promise解决回调和异步首先让我们看看下面这题输出什么? setTimeout(function() { console.log(1); },1000) console.log(2); 我们得到的结果是:先输出2,后输出1;这是什么原因呢?大家应该都知道定时器是异步的;所以先先输出2;那么我们的需求来了,怎么先输出1,然后输出2呢? function foo(callback) { setTimeout(function() { console.log(1);

VS2008运行MFC程序,提示microsoft incremental linker已停止工作解决方法

其实这边是因为设置有问题,具体的解决方案如下: 第一步:点击项目->"你的文件"属性->配置属性->链接器->启用增量链接   将  是(/INCREMENTAL)改为 否(/INCREMENTAL:NO) 第二步:点击项目->"你的文件"属性->配置属性->C/C++  将调试信息格式改为程序数据库(/Zi) 改完之后,重新调试一下程序,是不是问题已经解决了? 以下附上截图: VS2008运行MFC程序,提示microso

ubuntu中出现:程序 'java' 已包含在下列软件包中的解决方法

已经安装sun java 在终端中输入java,出现以下提示: 程序 'java' 已包含在下列软件包中: * default-jre * gcj-4.8-jre-headless * gcj-4.9-jre-headless * openjdk-7-jre-headless * openjdk-6-jre-headless * openjdk-8-jre-headless请尝试:apt-get install <选定的软件包> 在终端中输入javac 出现以下提示:程序 'javac' 已包

【原创】NuGet 出现“无法初始化 PowerShell 主机,如果将你的 PowerShell 执行策略设置设置为 AllSigned ,请先打开程序包管理控制台以初始化该主机” 错误的解决方法

现象: 网上的设置 AllSigned 等方法都无效..后来考虑可能跟命令行版本兼容性有关系,然后在注册表命令行配置里发现一 ForceV2 设置项,抱着试一试的心态改了下,果然解决了! 解决方法:修改注册表 HKEY_CURRENT_USER\Console 的 ForceV2 的值为 1,重启电脑,然后打开 VS - 工具 - NuGet 包管理器 - 程序包管理控制台 初始化一下即可.

Dynamics CRM 依赖组件类型为应用程序功能区导致的无法删除实体问题的解决方法

看到有人问到这个问题,这边就简单描述下解决方法,主要是针对第一次碰到这个问题云里雾里的朋友,错误如下 在我们建lookup关联的时候有下图中的这么个设置,对于很多新手默认就是下图这样不会去做改动,因为本身也没人告诉他要怎么做,这里就会涉及到一个导航显示的问题. 我这边举个例子,仓库盘点和仓库有个N:1的关系,那默认在导航中以附复数名称显示,也就是下图2中的样子 在表单编辑器中查看就会是下面这个样子,红框中所在的部分就叫做应用程序功能区,你都存在于人家的表单上了你怎么能删除呢,当然不行了,所以要么

ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法

问题描述:在开发系统时候运行程序突然报出“WebDev.WebServer40.exe已停止工作”的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.Open()处. 但是发现程序连接本地数据库正常,连接内网服务器数据库会报错,但是Sqlserver是可以直接连接到内网服务器数据库,所以排除了程序问题和数据库远程设置问题. 解决方法:用管理员身份运行cmd,输入netsh winsock reset回车,重新启动电脑ok!,一定是管理员身份哦.

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

这两天整个技术圈都炸锅了,微信小程序(微信应用号)发布内测,首批200家收到邀请,但是没受邀请的同学,也不用担心,下面介绍一下解决方法. 首先需要下载ide,昨天只需要下载0.9版本的编辑器并替换文件就行了,但是可能微信那边修复了,导致不可用.现在我们要准备两个版本:0.7盒0.9的版本,我测试过了,可以使用,正常的界面如下图: 首先准备好两个安装文件,先安装0.7的版本.安装成功后,打开,微信扫描,确认登陆. 两个文件在QQ微信应用号群(390289365)里有共享. 然后安装0.9的版本,安

打开exls表格时报‘向程序发送命令是出现问题’的错误的解决方法

1.问题现象 打开表格文件时系统报如下错误 2.解决方法 1)按照如下方法找到excel选项,点击进入 2)找到'忽略使用动态数据交换(DDE)的其它应用程序(O)',去掉复选框种的勾,点击确定,重新打开exls文件就OK了