其实国内按语言和工具所细分的工程师们都不配被称作程序员

本文主要是介绍其实国内按语言和工具所细分的工程师们都不配被称作程序员,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不知从什么时候起,我凡是听到中国人在日本人的面前提起“程序员”三字,从头皮到脚跟都要发麻。中国企业培训出来的程序员,和日企培训出来的“会写程序的人”,从称呼、内涵到侧重点都是完全不同的。

 

如果您做程序员已经很长时间了,如果您已经把写程序当成了生命中最重要的存在,可能本文的内容会令您感到不快。但是,我无意改造您的思想。仅以此文,希望通过对一些现象的观察和分析,最后引发读者思考。如果您能够从中得到启发或反思,那么本文的目的也就达到了。

 

中日两国的程序员有什么不同

 

中国培训出来的“程序员”,可能被称呼为:Java工程师、iOS工程师、C++工程师等。这些称呼说的都是职业程序员,它们已经被语言或工具所细分。在日本却几乎见不到这样的称呼。最接近中国“程序员”的职业有两种:“程序员”(プログラマー)和“IT工程师”(ITエンジニア)。但是,它们不会根据编程语言或工具被刻意分类。另外,有很多职业虽然也写程序,但是他们的称呼和工作重心都不是编码,例如:

 

1、Web设计师。偏设计,要求美术功底。

2、Web制作人。主要是做策划的,分析课题、调查市场、预算调整等。

3、系统工程师。主要是写系统的需求和规格说明书,很多是文科生在担任。

 

这些职业都写程序,但都相当于干兼职。真正的全职“程序员”,他基本上是什么语言都会写、什么都要干的,不会分成Java系、C++系,或者前端工程师、后端工程师之类的。而且程序员的地位不高,日本人不愿意被人这么称呼。

 

说到这里,读者一定能理解为什么我一听到“程序员”三字就浑身发麻。

 

从工资看日本的职业地位

 

钱虽然不是衡量事物价值最好的指标,但一定是最不坏的指标。要看一个职业在一个国家的地位,最简单的就是比较工资水平。虽是简单的数值比较,但仅仅几个数字就能让人了解一个国家,这是很有意思的。(目前的汇率是1元人民币约等于16日元,如有需要请自行换算)

 

一般一个大学生毕业后拿到的工资是20万日元,前后涨幅2万左右。日本的贫富分化很小,每个人赚到的都差不多。入职后,根据公司的效益,每年大约涨5千到1万日元。由于某个新入职员的能力特别强,而突然大幅涨工资的情况几乎没有。

 

按一生的平均工资来计算,真正被称为“程序员”的人,月薪大概是32万日元。比较其他职业:

 

  • 清洁工 - 22万

  • 电工 - 28万

  • 消防队员 - 31万

  • 护士 - 32万

  • 卡车司机 - 33万

  • 高中老师 - 37万

  • 国立大学副教授 - 51万

  • 播音员 - 56万

  • 律师 - 64万

  • 内科医生 - 86万

  • 眼科医生 - 90万

  • 最赚钱的职业是什么?产科医生,月薪高达130万。

 

从以上数据可以看到,程序员或者从事IT行业并不占任何优势,和卡车司机差不多。比较受欢迎的是医疗行业、教育行业、司法行业。最赚钱的是当医生,即便最次的牙科医生,月薪也高达60万,远超其他行业。

 

哪里有钱赚,人才自然就往哪里聚集。中国的热钱大量流入互联网产业,造成了过量的人才流入,无论是学新闻的、电子的、机械的、经管的,都往互联网企业跑。虽然发展了一个产业,也阻碍了其他产业。在日本,大部分行业的薪水都差不多,所以人才是平均分配到各行各业的。程序员既然在薪水上没有特殊的优势,自然也不会聚集到一流人才,当然也不会细分为Java程序员、C++程序员、iOS程序员了。

 

因此,“写程序”这件事在中日两国人的心中有着巨大的形象差别。中国较极端,要么特别看重它,要么特别贬低它。日本则比较平和,仅仅把它当成是很一般很普通的职业。所以如果中国学生在日本宣扬编程能力,一般会起到反效果。你可以宣扬设计才能、创作才能、策划才能、交流才能,但不可轻易宣扬编程才能,否则真是碰一鼻子灰。

 

最受日企重视的能力是什么?

 

中国常出现一种情况:一个前端工程师,他就认为自己只会做前端了,凡是非前端的活都干不了。一个Java工程师,他就认为自己只会Java了,其他的都不想干。仿佛是自己把自己限定在笼子里。还有不少人很迷茫,说不知道往哪方向发展,是做前端?还是linux方向?还是Node.js开发?不可思议,难道不能都发展吗?换句话说就是,“给你一个活,不管它是前端后端左端右端,你都能完成”。

 

泛用性(ユーティリティ性),是日企最重视的能力。本来是用在棒球队的词语,表示能够防守任何位置的球员,即所谓“泛用性球员”。在企业中,它指的是“对应各式各样任务的能力”。用中国的土话说就是,“给你个活,你就能完成”。

 

所以日企招人,很少看重应聘者的编程能力。日企的培训很到位,不论你是工科文科,入职后用不了多久就学会了。不少企业还倾向于找不会编程的人来写程序。而且说实在的,现今编程已经几乎成为一项基本技能,编程语言也越来越简单,谁都能学会,没什么大不了的。日本的Dotinstall网站,提供各种编程技术的3分钟入门教程,每项技术大概10-20课,每课3分钟,不到一个小时就能看完一项技术。看完了就入门了,在实践中提高就好了。

 

笔者把“泛用性”解释为“生存的能力”。把你扔在丛林里,你能生存吗?你必须以最快的速度学会采集、生火、建设、洞察、逃跑、治疗。不是让环境来适应你的能力,而是你要适应环境。放在开发领域,就是给你一个任务,无论它需要用什么框架或工具,无论所需的工具你是否接触过,你都应该有能力解决。

 

日本所说的“泛用性能力”,是集技术力、毅力、体力、思考力、情感控制力、社交力于一体的综合指标。拥有这种能力后,应该说任何项目都是可以完成的,比中国程序员所谓掌握了某种框架的能力要重要得多。学习计算机的最高境界,不是掌握了多少工具的用法,而是具有缜密的分析和精确的判断,以至于做任何工作都比别人快,就是“养马”,都要比一般人效率高。

 

中国有一奇事。面试的时候,技术官可能会问一个很细的问题,比如某个函数怎么调用。奇了怪了,难道记不住这些就不能做开发了?谷歌一搜不就结了吗,本来开发就是需要各种文档辅助的,岂有光靠记忆力做开发的人。

 

此外,很多培训机构仅仅教授某工具的用法,却不去探索一种模式,教育学生“如何寻找解决方案”,恐怕这一点值得教育企业反思,或许能从中找到很好的商业模式。

 

总结

 

学习任何一项技能,应该是越学能力越强,越能学习更多的技能,能对应更多的事情。而不是被一种能力所束缚,变成除了这件事就什么都干不了。

 

客户交付一项工作,只要是能够盈利的,那么你不应该有任何理由去拒绝它,除非它触犯法律和道德。如果仅仅因为一项任务需要用Python,而你只会Java,便说“干不了”,那真是荒唐可笑。正确的做法是:无论事先是否具备这项能力,先接下任务,然后再寻找解决方案,以最好的服务态度、坚韧不拔的毅力和专研的精神,不惜一切代价也要完成它。

 

有一个日本武士用语,叫“斩后知(斬りおぼえる)”,说的是武士无论如何训练剑法都没用。真正能够成为剑豪,如宫本武藏、塚原卜伝(被称为剑圣)者,必须与无数的敌人决斗,击败无数的敌人,在实战中领悟真正的剑术。最终会变得能够对应任何敌人。

 

要训练“生存的能力”也是如此,敢于接下并完成各种任务,在实战中领悟。最终,无论置身于任何坏境,你都将能够生存,而不是“只堪一能”。

 

我自己是一名大数据架构师,目前辞职在做线上教育大数据讲师,每天都会直播分享免费公开课,大家可以加群参加。以及我自己整理了一套最新的大数据学习系统教程,包括Hadoop,数据挖掘,数据分析。送给正在学习大数据的小伙伴!这里是大数据学习者聚集地,欢迎初学和进阶中的小伙伴!加QQ群:584900118

这篇关于其实国内按语言和工具所细分的工程师们都不配被称作程序员的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825501

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核