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

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

3天内不再提示

一位程序员对自己职业的看法

工程师人生 来源:工程师吴畏 2018-12-19 13:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我个人是一个程序员,关注web、分布式和数据处理。

我将web看做最流行的、天然跨平台的展现和可视化技术,将分布式看做程序协作、协作程序的最适架构,将数据处理看作需要基础、技巧、认知、视野以及领域知识兼而有之的事,所以做数据处理,会提升基础、技巧、认知、视野以及领域知识。

这些都是废话,还挺绕,但理解废话,对我来说,不是那么简单的事。

我认为能力的提升来自厚积,所以对于基础的东西,应该保持持续的热情。

认为基础应该包括但远不限于:

数据结构和算法

算法、

网络(tcp/ip、p2p、http等等)、

计算机体系和操作系统(内存管理、高速缓冲与缓存、线程与并发、资源与争用、CPU周期、局部性原理等等)。

认为以上基础永远没有精通一说,至少在我这个智力层次看来。比如你看到严蔚敏数据结构了,挺好,你又看了算法导论了,更好,能看看普林斯顿的算法,你挺不错,你又看了些论文,而你确实又用vim、emacs、vs、eclipse或者sublime敲了,那你应该可以一眼就看出满世界的博客的算法文章中的纰漏和层次,那你还是有点功力了。

知识结构的重要性与项目经验会相互影响。同样的项目,类似的角色,因为知识结构的不同,带来的提升和总结也会不同,这种提升对于下一个项目或者更复杂的项目带来的裨益也会有所差别,更长的时间之下,这种差别巨大到值10W还是100W。

有十年工作经验,还是一件事重复了十年,差别可能就在这里。

认为类似“精通java”之类的说辞是存在的,但不谈JVM是耍流氓。类库和框架的熟悉来自工程和项目,可以熟悉一个简单的API,也可以追着理解AOP,可以应用地很简单也可以很复杂。如果关注性能的场景,那么应该自觉地关注JVM。但是JVM是浩大的工程,所以理解它是一个长期的过程,所以精通是一件比较困难的事。但是很多常用的场景,比如BufferedReader和FileChannel、mmap都可以是I/O的一种选择,何者更加适合,往往要看虚拟机里面和操作系统做了些什么,才会理出最佳实践,附带的,对Xss、Xmx、directMemory之类的简单配置也会有更深的理解。同时有助于看到基于虚拟机的语言的局限,比如HBase的BlockBuffer本身是提高读取的效率的设计,但因为JVM的堆和GC机制,这个设计可能会拖垮HBase。

这一点同样应该适用于C#&CLR。

工作了多年的人都会认为或者自恃自己在某些方面达到精通的水准,有的人的确达到了,但附带着会有些装、虚伪和极爱抖机灵,他不会和你好好地探讨问题。这种人可能会存在于朋友、同学、同事、上司当中,一个程序员不会活在独立的容器之中,除了在实力方面要保持自信和谦逊以及付出更多的努力之外,还要注重坚持自己的一些原则而不受一些不够正能量的企业文化、圈子文化影响,做自己,才能更好的对待技术,才能给雇主带来更佳的气场感受和实际价值。

这个世界不缺乏喷子,有的喷子本身也很厉害,甚至比自己厉害的多,这是他们活着的方式,情绪控制不是什么技巧,你理解的越透彻,你就越能看清什么是喷子,什么是恨铁不成钢。

关于技术实用论,总有一种观点是没去过美国就不应该知道星条旗。比如,不是每个公司,每个程序员都会接触到大数据,但是人类在没有飞天的远古,就已经通过图腾和壁画来开启文明的探索和解读了,这种东西,其实是信仰的力量,说俗一点就是兴趣所在,再俗一点,就是机会总是留给有准备的人,愿意不愿意准备看态度和理解,准备了能不能够将来用得上,看机遇,实力和运气都挺重要,但运气你控制不了。

人类的大部分知识来自间接渠道,比如阅读书籍、观看媒体、道听途说,离开了学校,但并没有离开知识的媒介。好的知识来源,比好的学习方法更加重要,这通常也是牛逼的院校和不牛逼的院校的主要区别。有的学校的老师在微博还在成长的阶段就开始讲授社会计算了,如果你没有这个知识渠道,应该不会认识到ETL、数据挖掘和倒排索引的意思,可能你已经熟练的修改、添加、编译lucene了。

但是,再好的知识,离开了实践,均不会得到升华,认为一个好的程序员,应该关注代码和实现,但应该摒弃简单copy原则,虽然copy大多数情况下对付工作够用了。私下里,一段关键代码写个十来遍真傻,挺蠢的,但如果每种写法有个思考和理解在里面,有选择地这么做了,再看设计模式和重构,哦,真是这么回事,用茴香豆的方式当傻子不是那么不堪忍受的事,至少理解了什么是错误,什么是差别,也给你创造了工作之外的提升场景。

很多人持这种观点,中国人,技术都是差的,也是写不出hadoop的,挣钱最重要,但自己又觉得自己很厉害。

其实将写出hadoop和挣钱作为标准,这个观点本身就太局限了,人这辈子,钱当然重要,写出能用的hadoop还是写出mini操作系统还是mini虚拟机,都不必太当回事,阅读源码和自己实现所营造出的理解深度天上地下,这种愚公移山的做法,更多在于逼迫你去了解更多、更准、更深刻。大部分hadoop专家,其实都是仅仅看了源码而已,就已经能出书了,事实上很多公司在实际中也只是跑一些很简单、很成熟的挖掘算法,爱奇艺的工程师做线性回归也是实用即可,大部分公司还是在处理日志,有时候想了很牛逼的算法,还没有换成SSD重要,所以没那个环境,没那个条件,就不研究了?我想不是的。

关于挣钱,我觉得,只要兴趣所在,能把事做好,钱自己就会来。收入上不去,往往是做的事情就不在高收入的那个区间,写程序很难出富翁。说实话,外围一天的消费可能就是你工资的好几倍,不用说外围的收入了。夜总会想玩的high一点不开两瓶路易十三,可能还会被小姐骂伪土豪,你不送你喜爱的红、蓝、绿牌花束,你都不好意思和她回小区或者宾馆探讨遗传算法。

那么和外围一起探讨遗传算法的王总、李工的收入更不是写程序的可以比的了。

所以不要太刻意地把写程序这件事和挣钱挂起来,局限了你挣钱的本事。

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

    关注

    4

    文章

    955

    浏览量

    30785
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 420次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 473次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    星光不负,码向未来:1024致敬每一位“以码为梦”的鸿蒙开发者

    行代码,都是照亮数字世界的颗星;每个梦想,都值得被温柔以待。这不是场简单的庆祝,而是次真挚的致敬。在1024
    的头像 发表于 10-24 18:47 140次阅读
    星光不负,码向未来:1024致敬每<b class='flag-5'>一位</b>“以码为梦”的鸿蒙开发者

    中国有了自己的“一位难求”国际化半导体展

    整个地球村的微电子类展会,尚未开幕就无展位可卖的数下来只手都用不完,在这屈指可数者中就有中国身影,而且是中国人自己可控的国际化半导体展——将于9月4日至6日在无锡太湖国际博览中心举行的第十三
    发表于 08-15 11:42 1016次阅读
    中国有了<b class='flag-5'>自己</b>的“<b class='flag-5'>一位</b>难求”国际化半导体展

    跟老齐学Python:从入门到精通

    础的学习者介绍门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容
    发表于 06-03 16:10

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    零基础入门:如何在树莓派上编写和运行Python程序

    种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本语言而开发的。Py
    的头像 发表于 03-25 09:27 1523次阅读
    零基础入门:如何在树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“数字导盲犬”?

    本文讨论了一位程序员利用树莓派、摄像头、Gemini和Python构建PeregrineEye设备,使其成为“数字导盲犬”为视障者服务的项目经历,包括项目灵感、功能、构建过程、遇到的挑战及未来计划等
    的头像 发表于 03-25 09:20 1692次阅读
    Gemini Vision + Raspberry Pi 化身“数字导盲犬”?

    动态 | 芯森电子开展ISO45001职业健康安全管理体系培训

    在追求卓越与可持续发展的道路上,芯森电子始终将员工的健康与安全放在首位。为积极响应国际标准化组织(ISO)关于职业健康安全管理的最新要求,进步提升企业安全管理水平,确保每一位工的身
    的头像 发表于 02-28 13:24 646次阅读
    动态 | 芯森电子开展ISO45001<b class='flag-5'>职业</b>健康安全管理体系培训

    阿里云升级通义灵码AI程序员,全面上线

    和JetBrains IDEs两大主流开发环境,这意味着开发者可以在自己熟悉的开发平台上,无缝接入并使用这款AI工具。 除了支持主流开发环境外,通义灵码AI程序员还引入了多项新特性,如多文件代码修改和上下文感知等。这些特性使得AI能够更好地理解开发者的意图和需
    的头像 发表于 01-09 11:16 956次阅读

    ADS1194调试串口输出,在定时间的转换后数据会少一位输出,为什么?

    调试的是ADS1194,每个/DRDY 接收转换数据并通过串口发送到串口助手中,先调试的CH1~CH4 通道,使用的是内部的Test_signal,增加了一位调试,即每进次/DRDY,调试
    发表于 01-07 07:30

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    RVFA 认证赋能未来:资深 IT 专家 Andrea Gallo 的职业转型技术之旅

    认识AndreaGallo,RVFA认证持有者一位资深IT领导者的职业转型在经历了数十年以Arm技术为核心的成功职业生涯后,AndreaGallo决定为自己
    的头像 发表于 12-11 01:07 757次阅读
    RVFA 认证赋能未来:资深 IT 专家 Andrea Gallo 的<b class='flag-5'>职业</b>转型技术之旅

    UCD3138A64/UCD3138128程序员手册

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