有不少同学问过我技术能力的问题。比如说工作三年的人,应该有怎样的技术能力。

我们公司内部有一个技术等级的标准,但我感觉那种描述太虚。实际面试的过程中,一般面试官也不会询问那些太虚的东西,反而更看重实际的项目经验。

所以通过项目经验来判断一个人的能力,我觉得是最普遍且客观的。

程序员的经典段子:“Talk is cheap,Show me the code !”。在实际面试和衡量一个人的技术能力的时候,我觉得就是 :“Talk is cheap,Show me the project!” 。

你知道什么不重要,重要的是你做过什么。这里引申出一个很重要的问题,作为程序员,做什么事情才能够给自己带来真正的,最终的成长,我觉得就是项目。

很多同学都有持续学习的习惯,有时间都会去钻研新技术,学习新知识,这当然是极好的,但这个不是能力成长的终点。

我觉得能力成长的终点,应该是将所学的东西应用到实际的项目中,形成真正的能力。

就像我们在听一个人介绍一个大牛的时候,不会说,这个大牛会 xxx 语言,会 xxx 框架,而是会说他做过什么项目,项目的规模有多大,影响有多大等。

再回过头来看,同学们提的问题:一个三年工作经验的人和一个七年工作经验的人,在能力上有什么不同?

这里的不同当然是多方面的,但就技术能力来说,最关键的还是项目经验的不同。

第一个是所参与项目数量的不同。就同一个人而言,工作七年时候的项目经验肯定是要比工作三年时候多的。

第二个是项目质量的不同。正常来说,对同一个人,工作七年后所做的项目质量应该是要高过三年时候的。

如果工作了七年,但发现所做的项目,以及在项目中所承担的角色还是跟三年时候一样,就要十分警惕了。这让人感觉,你的三年跟七年似乎是没有区别,没有成长的。

那如何来看一个人的项目经验呢,我觉得可以从这几个维度来看 :

项目的规模

规模可以从两个方面看:

  • 项目参与的人数
  • 产品的用户数

项目参与人数越多,说明项目的复杂度越高,在项目里遇到的问题也会越多,越难,用于解决这些问题的技术难度也会越大。

比如说,两人参与的项目,就软件构建层面来说,怎么搞问题都不大,大不了两人打一架,总可以统一到一起。

但如果是五十人参与的项目,难度就大很多了,如果没有统一的开发规范,不遵循一般的设计模式,设计原则,项目最后就会陷入泥潭。

产品的用户数是一个很核心的指标,特别是互联网公司。其实无论是服务端,客户端,前端,还是算法方向,技术遇到的难题都是跟用户数量成正比的。

服务端很好理解,千万用户的和亿级用户对服务器数量的要求完全不同,服务器数量可能是近十倍的增长,而复杂度的提升比十倍还高。

客户端,前端,在用户规模大起来后,会面临更加复杂多变的环境,比如一些长尾机型的适配,一些难以兼容的浏览器等。算法同学要面对的是更大的数据量。

更大的数据量,意味着数据的多样性会更大,噪音也会更大,这也提升了数据内容理解的难度。

项目中的角色

如果大家对C/C++感兴趣的话,可以加一下我们的学习交流Q群:637  935  295,免费领取一套学习资料和视频课程哟~

一个十人项目里的主负责人和分模块的负责人,肯定是不一样的。主负责人需要更高的技术视野,更全面的思考,也需要有更好的协调能力。这个是技术,统筹能力的综合体现,毫无疑问会更加有含金量。

在实际面试过程中,面试官可能不了解你公司,也不了解你所在的团队。你说你是项目负责人,说白了,他也无法证伪,所以这里更重要的是,要有主负责人的那种技术视野和思考深度。

在实际面试的时候,你说你是负责人之一(实际的负责人可能不止一个),然后你又体现出了相应的技术视野和思考深度,其实也是可以的。

这里也给了我们一个启发,无论自己在项目中是什么角色,对系统的思考都是很重要的。

很多同学说自己天天写 if else ,做的项目没有技术含量,但你真的有思考吗?有花时间去了解过系统的整体设计吗?不同的模块之间是怎么衔接的?整个系统最难的是什么?

再者,多问一句,你知道系统存在的问题吗? 你可以把它设计得更好吗?这些其实是日积月累的,人跟人的区别,也就在于这多一步的思考。

项目的性质

这个需要解释一下。对于工程系统,可以做这么一个大概的划分,业务系统,中间件,基础组件。

一般情况下,就技术含量来说:基础组件>中间件>业务系统,就业务能力来说,是反过来的。

在实际面试的过程中,大部分的面试官比较喜欢有技术含量的项目,纯业务逻辑的阐述比较难获得面试官的认可,所以有机会去尝试一些基础系统的开发或中间件的开发,这是应该好好把握的。

如果实在没有机会,也要学会抽象业务系统中的业务逻辑,抽象描述比起直白的业务逻辑陈述,给人的感觉肯定是不同的。

算法的方向,也有区分,主要区分是应用研究和基础研究。这里主要是岗位的匹配度。

基础研究去面应用研究应该要容易些,一般面试官担心的是,基础研究的同学有没有实际的业务经验。应用研究要面基础研究,估计就会比较难了。

自己折腾的项目

这个我觉得在面试的过程中,一定是有加分的,先不论项目本身做的怎样,会主动去折腾项目的人,对技术一定是有激情的。

对于毕业生,在大学的时候会不会自己找项目来做,在技术职业发展上,已经是一个很大的分水岭了。

对于已经工作的人来说,如果能够参与一些开源的项目,面试官无疑是会多看一眼的,不过目前国内企业的工作时间太长,我估计大部分人没有这个时间和精力了。

结语

项目经验,我觉得是程序员最值钱的东西。除了校招的时候,对项目经验的要求比较低,其他时候,项目经验都是决定技术等级,收入的关键。

所以我们对项目经验的积累要非常的重视,除了项目的数量,也要更多的考虑项目的质量。

程序员在自己的职业生涯中,要经常思考自己所做项目的规模和技术的难度,如果发现自己长期处于小规模,低技术难度的项目中,就要想办法为自己找寻更好的项目了!

工作3年和工作7年的程序员到底差在哪里?相关推荐

  1. 刚进职场的程序员,和工作了2、3年的程序员到底有什么不一样?

    "老师,我们刚进职场,和工作了2.3年的程序员到底有什么不一样?" 这是很多同学在进入职场后,问过我最多的问题. 不妨让我来翻译一下:老师,我到底有哪些表现让我在职场显得特别&qu ...

  2. Java2年去京东一面,卒,我与大厂程序员到底差在哪里?

    前言: BATJ等互联网公司的高薪和福利吸引了很多工程师的加入,面试难度也水涨船高.这不昨天有个同学找我说,上周去京东面试,一面就没过去被刷下来了,非常受打击.经过仔细交谈之后觉得他还是技术储备不够, ...

  3. 10年java 工作难找吗_对比3-5年和10年的Java程序员,差距在哪里?

    对比3-5年和10年的Java程序员,差距在哪里? 找工作过程中我们经常会看到"与工作年限相匹配的水平"这样的字眼,那么究竟什么样才算是匹配呢? 当然,这个话题可以说是仁者见仁,智 ...

  4. 找工作就像找对象,愿程序员不再孤单。。。

    找工作就像找对象,愿程序员不再孤单... 在这个牛郎与织女相会的节日,我想告诉你一个爱情的真理:搞对象,总得有一个人先耍流氓.别在骚浪贱的年纪选择端庄,"俺稀罕你,你稀罕俺不",一 ...

  5. 程序员到底是一种什么样的存在?

    互联网行业工资高,待遇好,这是众所周知的,但并不是所有岗位工资都那么高,除了那些高管啊,工资最高的就是程序员了,那程序员工资到底有多高?他们又是怎样一群人呢?作为互联网行业的资深民工,今天我就跟大家聊 ...

  6. web前端程序员到底值多少钱?

    对于互联网公司来说用户就是上帝,做好客户体验一切才有可能.所以互联网公司都会把钱砸向前端,Web前端程序员也越来越受到企业争相聘用.那么web前端程序员到底值多少钱? web前端程序员到底值多少钱? ...

  7. 做个程序员到底好不好

    今天闲着无事,我们就来聊聊做个程序员到底好不好? 问题 我今年27了,大学学的是经济与贸易,我现在转行做IT可以转吗? 我大学学的是建筑设计专业,今年30,想转行做IT晚不晚? 我今年高三了,我想知道 ...

  8. 高级程序员到底长什么样子?

    我们的中国文化,对"面子"看得特别重,所以你会发现身边到处都是高级 XXX,听着倍儿有面子,程序员也不例外. 但是你真要问每个人,你认为的高级 XXX 是什么样子的,估计每个人都有 ...

  9. 李喆:程序员到底怎么了

      李喆:程序员到底怎么了 我们是这样的一群人:每天都在"努力"的工作着,每天都和计算机打交道,泡在网上,打游戏,查资料,发微博.可是有一天,突然意识到,我们的未来在哪里,每个月那 ...

最新文章

  1. cc.tween 的call()不执行
  2. 微生物组数据揭示中国稻谷产毒真菌分布及仓储动态变化
  3. 云计算里的安全:警惕云服务被恶意利用
  4. 学习lulu之——tips 提示
  5. lava.lang.String数据转换为java.sql.Date
  6. 《人月神话》(P11)为舍弃而计划
  7. DCMTK:比较DICOM图像并计算差异指标
  8. 关于我的代码在课上第一时间没有运行出来这件事
  9. vue.js语法和常用指令
  10. swift 判断输入的字符串是否为数字
  11. cratedb导入json文件
  12. 一行代码就能解决微服务分布式事务问题,你知道GTS怎么做到的吗?
  13. sklearn 数据预处理1: StandardScaler
  14. Windows中MySQL主从数据库搭建(一)
  15. tuple操作、dict、其他常用操作
  16. NGN学习笔记6——NGN的业务提供技术
  17. linux 在线考试系统下载,在线考试系统-英文版
  18. u盘怎样修复服务器系统,高手教你怎么修复U盘的MBR
  19. 如何搜索自己博客内的文章
  20. control命令详解

热门文章

  1. 互联网日报 | 3月13日 星期六 | 蚂蚁集团公布碳中和目标;小鹏汽车累计交付突破50000台;阿迪达斯发未来五年新战略...
  2. 互联网日报 | 华为Mate40系列国内发布;陆金所在纽交所挂牌上市;苹果大中华区营收大降28.6%...
  3. 界面设计方法(2)— 5.功能按钮设计(新增,查询)
  4. 【需求工程】需求应用域理解
  5. 【软件工程】用于IS规划的SWOT方法
  6. 【数据库系统】为什么使用SQL而非C/C++的函数库执行数据库查询操作
  7. 洛谷入门题P1000、P1001、P1421、P1425题解(Java语言描述)
  8. Java多线程——FutureTask源码解析
  9. 循环小数与费马小定理
  10. .Net Attribute详解(下) - 使用Attribute武装枚举类型