不想被淘汰,大咖有话说——程序猿一定要学大数据?
程序员一定要学大数据吗?最近我听到一些程序员朋友在问我这个问题,也有一些程序员朋友因为考虑转岗而问到我这个问题。我觉得也许是时候说说我对这个问题的一些看法了。
衡量职场发展的指标
很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习企鹅群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系
首先,我们都是职场人,在职场中摸爬滚打直到退休。我们都渴望去做有价值的工作,因为工作越有价值,自己的地位越稳固,收入越丰厚,把这个当做追求目标其实无可非议——当然追求其他信仰或情怀的朋友除外。在职场中,我们从年轻的时候开始就有类似的困惑,我们应该做什么好呢?做什么更有利长期发展呢?做什么会让自己工作更稳定呢?究竟什么工种、什么工作能解决我的需求和困扰呢?
从中长期来看,肯定是那些积累性好,或者越老越吃香的工作比较让人心仪,这应该不难理解。什么是积累性好呢?那就是,淘汰慢,经验积累容易形成壁垒,不容易被人轻易赶上。
很多程序员没有安全感的原因很简单,比如Python语言或者Java语言,你工作了10年的Java程序员和一个5年的差距有多大呢?5年和3年的呢?根据我的经验(或许不够全面,但是能说明一定的问题),对于那些工作很努力且舍得动脑子的程序员朋友来说,工作的前一两年的进步速度是最快的,可以说是陡升,这时候的积累主要是对语言功能方面的。语言怎么使用,什么特性,用什么类实现什么功能,这些技巧在这个时间里相对容易积累。3~5年的时候开始偏重架构,怎么设计类的继承关系会让重用更为合理,工程改动量小,维护成本低,执行速度快,资源消耗小……5年往后则是在3~5年的基础上更为熟练,一些更注重架构的人可能会去研究虚拟机的特性,并逐步在很多细节性的问题上有更多的发言权,例如堆栈的分配、线程的调用特点等。
但是我们观察一下不难发现,虽然从时间上看,后面的进步看上去非常牛,非常显档次,但是在具体实际完成功能性任务的时候显然帮不上什么大忙。这样的人才最后会成为金牌架构师的人也比较少。一是因为供需到了这个环节也就进入末端,架构师的需求和程序员的需求显然不是正比关系。二是还需要自己花极大的力气去做修炼,成材率还低,这是阶段个投入产出比不那么诱人的工作。而如果一旦由于主客观原因不能成为架构师,而仍然是一名程序员的话,那再和年轻的小朋友们竞争,就显得有点拙荆见肘了。尤其是在项目上需要用到新的语言或者技术的时候,优势从何而来呢,这个问题就给很多老程序员造成了困扰。
这个问题也并不能说无解,多年的程序员生涯,如果一个人肯动脑子的话,肯定还是能够总结出不少有价值的东西,例如很多有用的代码片段,以及很多有用的设计模式,很多辅助自己工作的工具,很多总结出来的设计技巧等等。这些万变不离其宗的东西会帮助一个程序员在职场竞争中获得一定的优势,但是时间再久一些,比如到了15年或者20年的时候,这些东西是不是还能跟10年经验左右的人抗衡呢?这又是个问题了。
说到这里,我只是想恳切地提醒各位程序员朋友,注意积累的问题,以及注意要给自己积蓄足够的能量让自己蜕变,化茧成蝶。
大数据产业为何让人如此着迷
再回过头来说,程序员究竟要不要学习大数据的事情。我觉得思路和刚才差不多,那就是看看在大数据学习的过程中,能不能给我们带来这种积累性的优势。这种优势越大,我们就越值得学习,反之则不必考虑。那么大数据是这样一种东西吗?
我们说,大数据这种产业之所以让人着迷,之所以被社会所看好,主要的原因是大数据产业最终的目标是为了通过大范围数据的交换与写作分析消除不确定性,减小试错成本——这个才是根本。
大数据相关的工种里面粗分有开发岗、架构岗、分析岗三种。开发岗和其它语言种类的开发岗一样,是对语言工具或者工程性工具的使用,比如Hadoop的使用等。架构岗侧重的是根据项目特性的不同进行性能调优和稳定性调优等工作。分析岗则是注重对数据的分析和解读,以及归纳和预测等。
程序员朋友们在学习大数据的时候,容易迷茫,现在的框架非常多Hadoop、Spark、Storm、Scikit-learn、Mahout、TensorFlow等,究竟应该学哪个才对自己的职业生涯更有价值呢?我认为,在这个里面,除了刚刚我们说的积累性好这个特点我们需要把握以外,还有四个字需要注意,那就是“扬长避短”。
对于这些开源框架,尤其是比较火热的开源框架,是在业界广泛获得认可的,生命周期长,供需旺盛,通常可以作为普通程序员切入的落脚点。对于Hadoop、Spark这些工具的使用,其实已经是在接触大数据开发这一工种了。学好用好一两种流行框架,谋生肯定不是问题了。
对于分析能力比较好的程序员,尤其是数学比较好的程序员,可以考虑去做机器学习、神经网络(深度学习)相关的一些框架和项目,这类项目的积累性比前面工程性的Hadoop和Spark甚至要更好。从中长期来看,在机器学习和神经网络方面的发展是能够作出一个垂直领域的“无人设备”的——凡是“无人”的东西都是改进和发展生产力的,都是会被自己所服务的行业所接纳的东西。
而对于项目管理以及其他更高级别的职场人来说,大数据能够带给你的就是更多的思维层面和辩证看待数据的逻辑,而且在普及性学习的工作中,你会了解到哪些技术能做什么,有什么优势。这样的知识对于一个管理者对当前技术形势作出判断,估算难度和成本,以及开阔创新中的想象力都是大有裨益的,同样是有重要积累意义的东西。
不想被淘汰,大咖有话说——程序猿一定要学大数据?相关推荐
- 大咖 | 车品觉:我们为什么要认识数据的本质
大数据文摘作品 作者 :车品觉 一场以大数据为核心的智能盛宴 时下仿佛大家都在谈人工智能,就像当年人人都在谈大数据一样.在不同场合上,阿里巴巴的马云.百度的李彦宏及腾讯的马化腾分别谈过自己对人工智能的 ...
- 百度AI技术盛宴来了!大咖齐聚解读CV/NLP/跨模态大模型技术!
随着人工智能步入工业大生产阶段,AI大模型正在加速走出实验室,在全球范围内逐步实现产业落地应用的突破.自2020年至今,越来越多的科技巨头和科研机构参与其中.去年12月,百度发布了全球首个知识增强千亿 ...
- 大咖面对面 | 喵奏@国家建筑师:梦回大宋,一起来做河里人
随着<紫禁城><银河水师><墨家神机>等众多高品质佳作的面世,国家建筑师Cthuwork已经成为了<Minecraft>的明星开发团队,同时也被众多玩家 ...
- 京东、新浪等名企大咖云集北京,背后是有什么大事件?
数据赋能 ● 架构重塑 中国创新技术峰会 2018 北京站 精彩登陆 大会以"Java+大数据"技术为核心,涉及"数据驱动"."高并发系统&q ...
- html5绘制图形幸运大转盘,微信小程序利用canvas 绘制幸运大转盘功能
小程序对 canvas api 跟h5的不太一致 ,所以这个搞的比较久,不多说,先贴代码 Page({ /** * 页面的初始数据 */ data: { awardsConfig: {}, resta ...
- 程序员分享女生学大数据怎么样?好就业吗?
程序员大多给人的印象以男性为主,很少有女孩子从事IT行业,这样的客观现象让我们潜意识的觉得,女生不适合从事IT职业.那事实真的如此吗?IT技术,诸如大数据学科适合女生学习吗?女生学习大数据好就业吗?今 ...
- 【大咖有约】白帽汇邓焕:大数据下的攻防
北京白帽汇联合创始人&安全负责人邓焕先生将作为DTCC 2016中国数据库技术大会特邀嘉宾出席.并将于5月14日"大数据安全"专场分享题为<大数据下的攻防>的演 ...
- 『教师节』程序猿用文心大模型带你一键加速祝福,祝老师们节日快乐
『教师节』文心大模型带你一键加速祝福 文心大模型助力教师节 猜猜他谁 教师节&&中秋节 中秋助力 大模型使用指南 教师节助力 安装wenxin_api第三方库 定义我们的祝福主题与内容 ...
- 大咖 | 从Ian Goodfellow到Yann LeCun,对话Quora AI大佬TOP 10
点击查看全文 与AI大咖对话,是不是听起来就很激动呢? 在人工智能.数据科学领域,学术与行业的发展瞬息万变,成果频出,通过二手资料了解这一领域似乎已远远不够.如果有机会,当然还是要紧跟大咖们的步伐呀~ ...
- 三包围结构的字是什么样的_手帐排版的高段位秘诀:运用艺术字丨大咖分享
这是手帐进化论的第212篇文章编辑 / 饭团儿君 之前在建立手帐群时,我的建群初衷之一,就是希望提供一个平台,给大家互相交流手帐.互相提高技巧的机会,同时,希望手帐群可以作为一个沙龙基地,帮大家邀请手 ...
最新文章
- 实时传输协议(RTP)
- 浅析如何从比值得出网站优化效果的好坏?
- LA4636积木艺术
- Serverless 架构下的服务优雅下线实践
- 调用startActivityForResult后,onActivityResult立刻回调
- vue实例以及生命周期
- android:versionCode和android:versionName 用途
- python模板语言_django的模板语言
- python桌面翻译_Python实现桌面翻译工具【新手必学】
- java中equals的理解(1)
- 正则表达式match和group的区别 具有相同模式的字符串使用组的提取案例及原理
- JAVA编码(27)——执行批量导入Excel文件并进行解析
- Taurus入门,这么神奇的性能测试工具不能不知道
- C#利用CDOSYS组件发邮件的一些小结
- 快速理解聚合根、实体、值对象的区别和联系
- 1.4.1 启动与销毁Activity
- 2022年信息安全工程师考试知识点:网络安全防御
- 英寸和厘米之间的转换
- C# 透明窗体制作方法
- 什么是运动模糊(Motion Blur)
热门文章
- 如何制作macOS Big Sur 系统启动U盘
- Linux下Pulseaudio的可视化管理---pavucontrol
- c语言 算术平均滤波法_算术平均滤波C程序
- java 几何平均数_统计学——平均数
- matlab程序特殊符号,MATLAB——matlab特殊符号表【转载】
- 百度富文本编辑器配置使用
- 亲戚关系关系算法java程序_亲戚关系计算器 算法实现
- 面部捕捉技术_FT45面部表情捕捉系统--说明书(中文版)
- 准备计算机二级c语言需要多久,计算机二级自学需要准备多久
- 自己退出微信小程序开发者权限