前言:这也是我一直在探讨的事情。是的,我的确学到了很多东西,学到了Android可以采用C++原生代码开发SDK,学到了音频视频的编码格式,学到了P2P、TCP/UDP等等网络知识,学到了直播要用抖动缓冲、音画同步,学到了如何根据别人写的日志找到导致问题的BUG原因。
程序员到底是什么,如何正确对待程序员。为何很多人认为程序员就是写代码的,真的如此吗。作为一个高大上的程序员职业,为何让人理解为写代码的呢?
第一次分享心理的感受,没有太注意格式,想到什么就写什么了,比较随意。
来YY已经有3个多月了,算是从菜鸟变成入门水平了吧。3个月来,身为一个C++音视频开发,我时刻问自己到底学到了什么,有没有在浪费生命。这也是我一直在探讨的事情。是的,我的确学到了很多东西,学到了Android可以采用C++原生代码开发SDK,学到了音频视频的编码格式,学到了P2P、TCP/UDP等等网络知识,学到了直播要用抖动缓冲、音画同步,学到了如何根据别人写的日志找到导致问题的BUG原因。
然而,都只是知道而已。
3个多月,没有为SDK真正写过一行代码,大部分都是自己在调试的时候加的log。可笑的是,唯一一次真正修改代码的处理方案是删除某一行代码,太讽刺了。并不是说YY没有让我学到一点东西,让我浪费了3个月的生命。只是我觉得这些还不够,远远不够。3个月足以音视频的初学者一窥FFmpeg的全貌,足以让开发人员熟悉webrtc的框架和关键细节。这些正是我想知道的东西。我不想只沉浸在公司这传承了将近十年的上古古董代码,没人敢随便乱改,生怕除了什么岔子。如今已是2018年,却没有用到C++ 11标准,或许是为了同时兼容iOS和Android,谁知道呢。明明用模板可以解决的单例模式,却一个一个地重复。在这上古代码上做的修改,仿佛是在烂掉的紫荆城上贴几张幼儿园小朋友画的大海报。
每天的工作大部分都是:来一个出错的日志→找到日志的异常条目→看代码附近有什么问题→确定问题所在,找算法或者后台的同事确定问题。我能理解上级让我们新人找BUG的目的,是希望我们能通过找BUG来熟悉代码,方便以后的开发。但是这究极复杂的古董代码,就不能用一份wiki文档来讲解清楚吗,这样不是效率更高吗,更方便新入职的同事熟悉代码吗?每天干的活仿佛在帮别人擦屁股,别人拉完的残留,需要你亲手帮他擦干净。从直播部转到基础架构部,已然脱离了核心部门。程序员到底是什么?迅速根据日志查到问题所在吗?听着好像很合理,但是如果脱离了开发,帮别人去定位问题又有什么意义。
程序员,至少是个能写代码的人吧。
程序员,还渴望技术。想到封闭培训时的室友说的那句话:来到这个公司,心里充满着对技术的渴望,对新知识的渴望。同届生或多或少有因为薪资的原因选择了这家公司吧,但我相信各位技术人员一定也是怀着能学到很多新知识武装自己而来的。我以前的公司就是专门为两大手机直播平台开发直播SDK的,所以当我拿到YY的音视频开发工程师时,心中甚是喜悦。因为以前只是作为一个客户端开发去调用公司开发的核心SDK而已,来到YY竟然就能从事更底层的工作,当然甚是兴奋!结果却令人大失所望,感觉完全不像个程序员,而是像个技术支持,像个客服。我渴望学到真的知识,我想知道我们抖动缓冲的原理,想知道为什么要这么设定这些参数,想知道WebRTC对于抖动缓冲是如何处理的,当然这些都是在能亲身动手的前提下。
其实,说实话,我最喜欢的还是游戏开发,不只是因为我玩过上百款游戏。我觉得游戏开发才是开发行业难度最高的,比最近炒的火热的AI技术的技术栈要深很多。在这个显卡性能远超CPU的时代,如何做出一款精良的游戏实在难得。有人说AI虽然可以直接调用别人写好的算法或库,但是底层的算法逻辑也是需要了解甚至去创造优化的;那我也可以说游戏开发虽然可以直接用别人封装好的游戏引擎,但是游戏引擎和DirectX 11/12或者OpenGL的交互也是需要了解,甚至去创造的(也就是开发新的游戏引擎,这往往需要成百上千人,甚至不止)。所以别再无脑吹AI多牛逼了,你整天玩的游戏是经过多少磨难开发出来的也请了解一下。
程序员,需要对自己的定位有明确的认识。我选择C++这条路,是我对自己的认识。因为我喜欢偏底层的东西,喜欢游戏开发,喜欢跨平台,这些都是C++的特性。
程序员,需要有自己的生活乐趣。我个人有很多兴趣爱好,钢琴、足球、捏手办、画画、游戏、二次元、日语、摄影、电影、养刺猬。这些看似简单的东西证明了我自己不是个木头机器人,不是个每天9点上班、9点多下班,回家无所事事,第二天又周而复始的假人,像西部世界里的假人一样。我有自己想做的事,抱怨公司蛋疼的事务也是我想做的事。
程序员,要有梦想。我的梦想很遥远,去国外留学,微软、谷歌的实习工作经历,回国后有一席之地。中国互联网公司仿佛都是靠挤、靠压榨弄出来的产品,2周换一个项目,说的就是我们某个部门。我是在看不出来这有什么创作激情在里面,只看到了参与者的焦虑疲惫。为了梦想,我决定继续忍受这些蛋疼的事情,为梦想做好十足的准备。你问我为梦想准备好了吗,我不会回答准备好了,而是回答时刻准备着。希望我高涨的热情不会被那些枯燥烦人的事情浇灭。
程序员,是人,不是机器。不应该像培训说的那样,不抱怨周围的环境,而是要有自己的想法,敢想敢做。
我敢想出过留学读研读博。忍受是我敢做的,辞职也是我敢做的。一切为了梦想,不做一个听指令的机器。
此时已是凌晨1点,写下此文,抒发最近蛋疼的感觉。
文章出自:http://qh.itpxw.cn/peixun/software/201841580.html
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...