0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员的恐慌

工程师人生 来源:简书网 作者:程序员技术圈 2019-12-29 11:11 次阅读

作为程序员,我到底在恐慌什么

程序员们会觉得恐慌么?有时候我会。

或者说,现在也会。

这种恐慌大概是在上学的时候就有了。

上学的时候我不知道怎么入门,去书店里看书,C,VisualBasicJavaC#C++,Pascal,这些语言让我困惑。

特别是学的数据结构,计算机网络算法,这些东西学了之后,倒底能干嘛,我知道UDP是有可能不按顺序到达的,我知道数据链路层是在物理层之上的,

我知道了可以深度遍历,可以广度遍历一棵树,但是这跟写代码有什么关系呢?

Access,Mysql,Oracle这三种又该学什么呢?

还有JSP,PHP,ASP,这些书上讲的很多概念,都让我恐慌。

我觉得我是陷在了一个知识的海洋,不是知识的泥沼中,或者是知识的酒池肉林,迷宫,黑暗森林,折叠空间。

要找工作了,我该找什么工作?

迷失方向,无所适从,这是我作为初学者的恐慌。

好在我选择了考研,总算把这种恐慌,推迟了三年。

读研的时候,漫无目标的选方向,人工智能,那是什么鬼。

数据挖掘?挖掘机吗?

自然语言处理?我可不想当翻译。

信息安全?算了,看到那些加密解密我就头大,还是福尔摩斯密码有意思~~

网络安全?得,OSI七层协议我已经学的够够的,让滑动窗口见鬼吧。

图形图像处理。。。。。不想当一个画图的。

模式识别。。。难道以后我就要去当成一个鱼类分捡器吗。

我只是想老老实实写代码而已啊,嗯。基于Agent的软件工程,这个不错~~~

一直想知道软件怎么开发出来的,这个Agent的概念看起来好厉害的样子,而且也很容易和我以后的工作联系起来。

单只凭自己当年的认知,很难在分叉口决定倒底应该选择哪条路走下去。

然后,又到了找工作的环节。

鬼使神差的选择了Java。

大概惟一的原因,就是招聘网站上,招java的公司太多了。

我每天都在刷网站,每天都在认真的记录招聘网上倒底要什么技能。

我每次面试都要解释自己没有工作经验,只是做了一个兼职,会了点ASP。

我在北京的街头来回游走,在一个陌生的城市四处奔波,我学会了表达自己,但长进最大的技能就是问路。

保安可以问,打扫卫生的阿姨可以问,警察可以问。

年轻人不能问,过路的人不能问。

中关村图书大厦,就是我的图书馆。

把书按斤卖的二手书店,就是我的导师。

而每次面试,都是我纠正方向,贪婪的学习新知识的课堂。

到底什么样的水准,能让我找到一份工作?这是在找到工作之前,最大的恐慌。

终于入职了一家公司,然后就是铺天盖地的新知识点,新环境。

第一次上班,我也去看了一些职场上要注意的点,可是总觉得陌生又不敢尝试。

我害怕跟其他同事交谈,惟恐他们知道了我是一个菜鸡。

我连什么是IDE都不知道,一直分不清Eclipse和Myeclipse的区别,在那一个月里,我主动熬了两个通宵,

周末就是学写JDBCTemplate,Mysql,JSP,Html,CSS,JavaScript,Struts,Spring。

各种In Action。

我觉得那一个月里,我弄明白了很多东西,这些都是以前我上学的时候没有学过的,我觉得自己是在尝还债务。

我想,科班出身的人,应该不会像我一样吧?毕竟我本科不是计算机专业啊。

学了这么多之后,我开始有了自己的思考。

我不喜欢那家公司的命名方式,也不喜欢现在他们做的事情,每天就是写CMS,每天就是写CMS。

入职以后,自己的个人成长应该往哪个方向走?

到了第二家公司,又学会了WebService,学会了Maven,学会了Shell,学会了解析XML,学会了版本命名。

到了搜狐之后学会的东西更多,哇,那个惊天地泣鬼神,无助,弱小,可怜的萌新菜鸡,在大神面前瑟瑟发抖。

他们展示给我看了一个优秀技术人员的素养:热情,主动,严谨。

而在这个时候,我不断的衡量自己和他们的差距,最终的结论就是,大概在五年之内,我都不可能达到他们的高度。

我该怎么办?最初是恐慌自己会不会被团队发现我是一个菜逼,然后被开除,被耻笑。

然后是困惑,自己看到了眼前有神一样的人,好像是无法突破的大山。

他们能够在两个星期之内搞懂Erlang,并且用到线上,还能够推广给全团队。

他们能够猜出来Facebook的开放平台是如何实现,讨论各种不同的技术方案最后整理出来了自己的一套标签库。

他们能够直接修改Tuscany的源码,把ActiveMQ完美的嵌入进Tuscany的框架里,让我们用到消息队列的时候,根本不用关注细节。

而我。。。刚入行一年的程序员,连JDK的源码都没看过。

而且,那个时候一直在有人说,程序员在30岁以后就没办法写代码了,我该怎么办?

我的同学,在毕业之后,一直做自然语言处理,而我也终于明白了自然语言处理是做什么的。

他们做分类,做聚类,每天抓取Twitter的内容,玩的很开心。

我想我应该选择去做算法,毕竟,做算法的人,越老越吃香,而程序员呢?总会有新的技术被代替。

在算法和架构之间,其实是程序员对于未来生存能力的恐慌。

于是我到了一家做算法的公司,在那里又开始了新的领域。

我学会了抓取,学会了分词,用CRF写了实体识别,还学会了Hadoop和Cassandra,顺带又学会了什么叫实时搜索。

到现在我都记得,这是跟原来当程序员的时候,完全不一样的体验。每天看英文文档,每天倒腾语料,每天调整参数

而我身边的人呢,每一个都有自己擅长的领域,做搜索的小朋友手把手教我怎么调试Lucene的高亮算法,做Hadoop的小朋友告诉我一个Job倒底该怎么写,怎么跑。

而我做NLP的朋友,教会我如何生成语料,怎么样自动抽取新词,做去重的小朋友告诉我什么是Spotsig算法。

在那个时候,我能体会到的就是每个领域的深不可测,想在一个领域里做成专业,精通的人,都很困难。

我们老大告诉我说,公司里的每一个人,都是聪明人。

我认真的对比现在和当初的选择,不管怎么样,我知道很多人比我聪明的多,在这些专业的领域里,我比不上他们。

而在算法上的恐慌,就来自于根底不足,好后悔当初在硕士的时候,为毛没好好学习数据挖掘和算法。

不仅如此,我们还要做搭建一个知识库。什么是知识库?什么是OWL?

什么是三元组?

知识库又是一个新的大门,而我,在当时,可能是搭建了一个全国唯一的一个证券领域的知识库系统。

这套系统的价值,到现在都没被发挥出来,但是我对知识库的畏惧,从不曾消除。

老大找的是一个博士,来协助我做相关的工作。在跟那个博士交流的过程中,我越发的畏惧。

是对知识的畏惧。这些东西,恐怕我要在知识库领域里,沉淀很久才会明白。

可是在这个时候我有了一点厌倦,做了大概一年算法的时候,慢慢就明白,没有科研功底,想改变算法是完全不现实的事情。

算法更多的就是在调整参数,调优,优化,把正确率和准确率一点点的提升。

而我原来在搜狐的时候,未完全消化的团队协作模式,敏捷开发流程,系统架构能力,却又是当前公司最需要的。

除了我,他们都不懂这些。

而我这个时候其实是很害怕的,毕竟在搜狐是大神们搭好了框架体系,而我,现在是要自己来。

从使用别人的架构体系,到自己从头开始搭建一套体系,小心谨慎的犯错并解决问题,这是初级程序员走向中级程序员的畏惧之心。

在这个时候,我开始疯狂的刷Apache,Spring等各种开源框架,每天都想去看看,他们有没有新的版本,有没有新的框架可以应用在我们自己的领域上。

我用了QPID替代ActiveMQ做为自己小型系统中的消息队列,用了OSCache作了页面级的缓存,用MongoDB替代了Cassandra。

我还做了运维的工作,手忙脚乱的搭私服,搭Hudson,搭confluence,搭SVN服务器。

这些基础的东西,包括敏捷开发的流程,包括多团队并行开发的管理,线上Bug的修复,所有的这些,都在这段时间里,由搜狐留下的种子,慢慢生根发芽。

老大带我去参加Qcon大会的时候,跟我说,你就是我们公司的架构师。

我是么?我觉得有点不太可能。我只是一个工作不到三年的架构师,我跟原来的大神们比起来差远了。很多时候我只能反来复去的解决问题,我不知道问题的根源在哪里,我也没有时间也没有耐心去认真的读他们的源码。

又或者我看了他们的源码之后,根本不是自己喜欢的风格,我去读重构,去读设计模式,去学习什么是优雅代码,去看敏捷开发。一直都觉得自己太菜了,太弱小了,什么都不会。

身上有了责任之后,恐慌往往就来自于,你就是全公司最后的技术支柱,别人解决不了的问题,你必须解决,完成最后一击的人,必须是你。

而到了后来,因为个人对杀人游戏的喜欢,又迷恋上了规则引擎。早就对这种棋类游戏的开发看不惯了~~

这明显就是规则引擎应该处理的啊。

杀人游戏,象棋,捉鬼,完全就是规则的问题,于是又死命的学Drools,学RETE算法,欲仙欲死。

写了N多的规则,虽然不爽,但是很开心啊,很多底层的东西没弄明白,但是已经摸索出来一套可行的东西了。

在此期间又折腾了Erlang,Erlang的语法真心是。。。如果不是我刚好懂了点Drools,百分百不明白。为了配合公司的应用场景,保证不丢消息,实现Comet的过程中又改了点东西。

后来在做多人扫雷的时候,发现Comet完全支撑不了延时,一次点击大概会有18MS~38MS的延迟,根本无法达到实时游戏的效果,怎么办?

WEBSocket又横空出世,于是又去看WebSocket怎么做,看Jetty,还是Tomcat,还是Resin支持。

这个时候就特别的恐慌,太多东西不明白,太多底层的东西需要花时间理解,每一个方向上都能遇到比你了解更深入,更专业的人,我需要怎么做?

而微信公众号又出现了,去了解微信公众号的API,token机制,还顺便搭了一个OPENID的服务器,就是没用Auth。

不旦如此,我在管理上面的成长也非常快,而且对于PM产生了极大的兴趣。

厌倦了总是成为别人手里的工具,程序员代码写的再好,也弥补不了产品本身的缺陷,加班熬夜再多,也只能修复Bug,不能带来流量。

所以在做需求评审的时候,有一种冲动,想去做产品。

这个时候又是一个转折点,到底应该是继续做技术,或者是做管理,或者是做产品?

我选择了去学习产品和运营。

这种恐慌,还是来自于对技术的不确定性,总以为命运掌握在别人手里。

我还学了前端,JQuery,Bootstrap,AngularJS。

可是每过一段时间,就会出现一些新的知识点和概念。

当Go语言出现的时候,他们说Let’s Go。

当ReactNative出现的时候,当Swift出现的时候,当Kotlin出现的时候,当Vue出现的时候,当区块链出现的时候。

甚至连一直平静的算法界也出现了深度学习的时候。

Devops一直让人眼花瞭乱,从Docker,Ansible,到openstack,到现在的脱机运维,云服务的概念让运维升了仙。

灰度发布,弹性扩容,随着双11,春节,各种高并发的场景层出不穷。

而中国的互联网率先走向国外,异地数据同步的问题又扔到了人前人后。

还包括VR和AR,ibeacon还未能完全发挥热量,可能就已经被遗忘了,支付的快速发展,让支付宝和微信的支付SDK几乎成为了标配。

而IM的兴起,第三方统计数据的SDK更是占所一席之地,不用说分享组件和第三方登录组件了。

微信公众号不断的开放接口,小程序又落地诞生,科大讯飞的语音识别也越走越远,直播的兴起让技术又一次走上高潮。

Openresty+Lua在微服务的世界里开心了一会儿,Spring Cloud和Spring Boot 和Shiro 又出现在眼前。

Json快要成为标配的时候,yaml说我更简洁。

Maven在后端领域成为了标准的王者,Android的世界却打上了Gradle的烙印。

还不用说前端领域一片乱战。

这是一个技术让人疯狂的时代,每一项技术都爆发出来迷人的光辉和色彩,而我却在他们的照耀之下,面色惨白。

我到现在还有很多东西不明白,而这些又是让我无限恐慌的来源,很多时候,你被逼着要懂很多东西,是因为你要去做的东西,必须这么干。

Zabbix还没有完全获胜,各大云服务厂商已经推出来自己的监控API。

而如今你想做一个餐饮系统,对接美团,饿了么这些外卖平台的坑,是必然要走的。

还有万恶的金融,银行存管的事情,他们又有了各自的接口。

我们得知道,如何在O2O平台中,计算用户周边有哪些便利店,这样要用到MongoDB。

我们得知道,ElasticSearch能够做到实时索引,而且比Solr更简单。

我们还得知道,大数据那一套庞大的体系正在不断的孵化新的东西,Spark这些东西还在远方闪闪发亮。

我不知道这对于程序员来讲算什么,而我心里其实一直很恐慌。

我还在努力的学习PM,学习运营,学习公司管理,学习商务谈判,更重要的,在我熟悉的领域里,学习如何教导更好的程序员。

是不断的学习,或者是一个人的学习能力,最终能让一个程序员心安么?

还是各种东西触类旁通,我们不用太过担心,总是能轻易而举的在该用到的时候,会用到他们?

又或者,无论外界怎么变换,我都可以用我的SSH打遍天下无敌手。

还是说,我只需要在区块链上有深入研究,就足以让我做到退休。

与此截然不同的,又是大部分人的工作,都不会接触到这些东西。

是这个行业细分的越来越严重了么?

还是在20%的领域里才会这么细分,80%的人都不用关注到这些内容?

所以每每有前端工程师,大喊着我要用NodeJS打遍天下的时候,我都忍不住回想一下所有所有这些后端中我列出来的内容。

现在还有谁敢称自己是全栈工程师,全栈皮毛党都很难做得到吧。

在之前,这种恐慌,是我一直在努力学习的动力,因为恐慌而去掌控世界。

而现在,这种恐慌,很难让我再沉下心去学习,这又带来了新的恐慌。

这个世界,是属于这些90后的。

我对着自己说,对着自己身边的朋友说。

“总不能一直敲代码吧?”

“为什么不可以一直敲代码?可以的。”

“过不了多久,就可以用算法写代码了。”

“那到时候,我们干嘛?”

“我们可以写算法啊。”

“如果有一天,连算法都可以用算法写了呢?”

“放心,你活不到那一天。”

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    951

    浏览量

    29786
收藏 人收藏

    评论

    相关推荐

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 0次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册

    机械革命发布CODE AI程序员

    近日,英特尔新质生产力技术生态大会在成都举行,机械革命作为重要参展商带来了多款明星产品引爆全场!其中更是在AI PC软件生态产品发布分论坛上,Intel、智谱、机械革命三方联合发布了专为程序员设计的CODE AI程序员本,成为本次大会的一大亮点。
    的头像 发表于 11-30 10:34 352次阅读

    Linux驱动程序程序员指南

    电子发烧友网站提供《Linux驱动程序程序员指南.pdf》资料免费下载
    发表于 11-22 15:53 0次下载
    Linux驱动<b class='flag-5'>程序</b><b class='flag-5'>程序员</b>指南

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共荣。
    的头像 发表于 11-08 10:17 136次阅读

    第五届长沙·中国1024程序员节开幕

    据官方媒体报道,10月24日;  第五届长沙·中国1024程序员节在湖南湘江新区开幕;本次中国1024程序员节以“智能应用新生态”为主题。设置有岳麓对话、技术英雄会、主题峰会及赛事、展览等活动,一场
    的头像 发表于 10-25 15:42 180次阅读

    京东上万程序员都AI用它!

    对大模型生成代码进行智能修复,为程序员开启代码漏洞修复的“自动驾驶”模式,不但减少人工接入、提高工作效率,更为企业抵御内外部各种攻击构建起一道坚固的安全屏障,确保业务的连续性和稳定性。 JoyCoder是京东云自主研发的一款辅助开发人员
    的头像 发表于 07-17 16:29 248次阅读
    京东上万<b class='flag-5'>程序员</b>都AI用它!

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    助力程序员告别困扰已久的梦魇-Bug

    程序员的噩梦是什么?不用怀疑,就是让你加班到崩溃的Bug!下面是经过业界大佬们“长期加班”积累的小妙招,助力你离早下班又进一步~一、定位Bug范围及性质要有效解决问题,首先要缩小范围,集中关注最近
    的头像 发表于 07-02 08:10 299次阅读
    助力<b class='flag-5'>程序员</b>告别困扰已久的梦魇-Bug

    大模型时代,程序员当下如何应对 AI 的挑战

    随着 AI 技术的飞速发展,特别是大模型的出现,传统的程序员角色正在经历深刻的变革,我们不得不重新对自己进行审视和思考。 通用领域大模型的“泛化能力” 在过去的二十年内,AI 领域的大部分研究
    的头像 发表于 06-28 16:19 520次阅读
    大模型时代,<b class='flag-5'>程序员</b>当下如何应对 AI 的挑战

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 399次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash<b class='flag-5'>程序员</b>V3 发布说明

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 802次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13