当前位置: 首页 > 编程日记 > 正文

unity3d游戏开发猜想——当程序猿老去

 程序猿将代码注入生命去打造互联网的浪潮之巅。当有一天他们老了。会走向那里,会做些什么?

非常多年以后,在我60岁的那天早晨,天刚蒙蒙亮我就起床了,先去公园晨练,然后回来做早餐(50岁的时候我学会了做饭)。送完外孙上学,刚好8点。因为北京从2020年開始单双月限行了,这个月是单月。所以仅仅能挤地铁。人一如既往的多,一小伙子要给我让座,看了看他的小身板,我说不用。你也是干 IT 的吧。今天咱们都是程序猿。

来到公司,墙上那条新贴上去的刺眼规定总是让我非常不舒服:全部的server端语言必须使用 Come,移动端语言使用 Swallow,还在使用 Java、C、C# 和 Swift 语言敲代码的,罚款500元。

我不知道自己还能学会几门新语言,工作了四十年,我已经用过一百多种编程语言了……

上午十点。00后 Team Leader 跑过来告诉我,池大大。新上线的故宫虚拟现实 NGUI 是您老做的吗?好像出了点问题。我说是老王上周做的,他老花眼早就不该做 UI 了。这周没来,据说动脉硬化了。

唔。那您帮他改改得了……

这个上午。老板又收到了两份在家办公申请,当中包含老冯的,申请理由是:腰不好。坐着站着都不能解决这个问题了,仅仅能把屏幕安装在天花板上,躺着编程。

我还行,一直打羽毛球,腰好。身体就好,吃嘛嘛香。只是今天中午却没什么食欲,由于牙疼。各种牙都開始松动了,仅仅好在食堂里挑了点软乎的饭菜吃了。

下午部门开会。我发现唯一的70后主程(主力程序猿)记忆力减退了很多。说完第8个功能点的实现后。丫突然来了一句:好,以上是第1点。如今来说第2点。直到下班,我们一直都在说第2点。会后主程怪我为什么没有提醒他。事实上我一共提醒了他13次。不跟他计较。明年他65岁,就要退休了。

分配到需求之后。下午的工作就是画界面做表单填程序,这个工作我做了几十年。已经很熟练了,编码的时间总是最快乐的,不知不觉就晚上10点了。回家吧。过了9点就能够打车了。

夜晚11点回到家。菜凉了,孩子们都睡着了。

我躺在冰凉的床上。打开一本《Come 语言编程实战》開始读。

程序猿。是一个终身学习的行业……

------------------------------

看到这预计大部分程序猿读者心都碎了……不用操心。不读 MacTalk,晚景才是凄凉的,看了的都没事!

关于「程序猿老去」这个话题。从我開始编写第一行代码的时候就有了。那时候我二十郎当岁,正值青春年少,眉宇苍茫,中年人和老去仿佛是下一个世纪的事情(确实是),遥不可及。我时而在阿尔卑斯山脉编写代码。时而去草沿天路调试程序,我认为世上之事无所不可为。仅仅有那些年近三十的老程序猿,听到这个话题时,才会紧蹙双眉一言不发,仿佛他们看到了无边落木和滚滚长江。

非常快,我就站到了三十岁的十字路口,望了望周围,其它三个方向都没有路,仅仅能向前,于是我非常不情愿的挪到了35岁这个黄金分隔线上,或者叫程序猿的生命线。不知道是哪位大神为我们程序猿画了这么一条线,三百六十行。行行出状元。为什么仅仅有程序猿才有这条线呢?用 百度一下「程序猿 35岁」。尽是「不作35岁的程序猿」「技术大龄恐惧症」「35岁后要转管理」「35岁前程序猿要规划好的 X 件事」这样耸人听闻的字眼,一想到自己并没有规划过「这些事」,我绝望极了,35岁生日的那一天可能会发生什么不好的事吧。比方编程、演讲、写作、设计这些技能都会烟消云算?我可能会跟不上时代的发展?我可能会被解雇吧,我想。

35岁生日过去了。除了收到生日礼物,什么事都特么没有发生。我依旧活蹦乱跳的编程、演讲、写作和设计产品。一切都变得更好了。

再也不相信年龄了……

回首往事,我发现当年那些对编程充满激情。对生活满怀理想的小伙伴,有的变成了某个领域的技术大牛,在做产品的同一时候忙着布道演讲写书;有的经营者或大或小的公司,同一时候还在编敲代码。有的设计出了千万人使用的软件产品;有的则转变成了一个纯粹的管理者,经营着上千人的机构。

他们都是程序猿。

真正有可能晚景凄凉的程序猿,是对技术和产品没有兴趣的人,是只把编程当做生活工具的人,是那些不能终身学习的人。

开篇的文字。就送给这些人吧,希望他们可以在40岁曾经看到这篇文章。

关于程序猿转行的问题。也是个伪命题。

没有人的职业是一成不变的,今天你在考虑 LVS 要使用 IP 隧道技术还是直接路由。负载调度使用加权轮叫还是最少链接,十年后你要做的可能是添加哪些产品特性和阅读用户的消费心理。

时间会驱动着你去不停的选择自己的道路。

假设继续编程可以最大化你的价值,那就去编程,太多精深和复杂的技术须要长期的积累和实践才干化繁为简鬼斧神工,请在技术大神的道路上一路狂飙。

假设设计产品可以最大化你的价值。那就去设计产品,现代世界已经不再是「美学、艺术」与「电子产品、软件」毫无关联的年代了。人们越来越重视产品体验和艺术美学,假设你懂得产品之美,又能估算这个产品多久可以开发出来,还懂一些开发细节。不知道可以虐多少程序猿啊。想想这个场景多么美好。

假设经营一家公司可以最大化你的价值,那就去创业,去招募战友。服务伙伴,提供产品,去创造属于你自己的天空。

假设演讲……假设咨询……假设市场……。非常显然。我看到的程序猿未来有无限可能。并且我们最大的优势是:这帮家伙甚至能编写代码,这真是太酷了。

当然,我们程序猿也不要过于沾沾自喜。在某个领域深耕细作的同一时候,不要忘记拓宽自己的知识面。假设一个人的领域太过专业化。一段时间后,你可能发现自己的专业已经陈旧了。假设一个人的知识面非常广。在终身教育的配合下。你的专业能够随着时代的变化而改变。

另外,在调试程序或程序出现故障的时候。程序猿要避免说这些暗语:

扯淡。这不可能!

我机器上就没事!

不应该啊……

一定是隔壁老冯的问题!

原来怎么没问题?

每少说一次,就能前进一大步!

最后,对不是程序猿的读者也说两句吧。假设你身边有程序猿。一定要对他们好,不懂技术不要对程序猿说这非常easy实现,平时多送些小礼物,他们不开心了就请吃海底捞。加不加班都要给他们加薪,没有女朋友的给介绍女朋友。还没来狗刨学习网学习Unity3d的让他们赶紧来学习……你会有回报的。

经年以后,当你偶然之间再次翻到这篇文章。或许会说。唔,这个老家伙说的还有点道理呢!



转载于:https://www.cnblogs.com/zfyouxi/p/5151613.html

相关文章:

【JavaScript】JavaScript基础-变量、运算符与控制语句

一.变量 变量: 定义一个变量,系统会为之分配一块内存,程序可以用变量名来表示这块内存中的数据。 由于javascript采用的是弱类型的变量形式,因此,在声明一个变量的时候,我们不必声明它的类型,但…

ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 posted on 2019-09-05 01:00 竹径风声 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/girl1314/p/11462711.html

Blender+Substance Painter全流程制作真实的机器人学习教程

MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:44节课(10h 52m) |大小解压后:9.9 GB 含课程素材 如何使用Blender 2.8和Substance Painter制作真…

Spring复习笔记:4

在复习笔记三中我们进行的案例的编写,我们可以发现,就算使用了注解的方式,xml配置文件文件还是不能够删除,现在我们来将一些新的注解可以让我们去掉xml配置文件。 Configuration 作用:指定当前类是一个配置类 细节&a…

Extjs PROXY查询params无法传参,改用extraParams

转载于:https://www.cnblogs.com/cocoat/p/5153009.html

详解Paint的setPathEffect(PathEffect effect)

一、setPathEffect() 这个方法一看就和path有关,顾名思义,它就是给path设置样式(效果)的。PathEffect这个路径效果类没有具体的实现,效果是由它的六个子类实现的: 这六个子类分别可以实现不同的路径效果&am…

返回手势导致页面卡死并且UI错乱的问题解决

问题记录:在做了部分页面的转场动画之后,返回手势不灵了,快速连续返回的话会卡住,App退到后台再重新激活之后页面不卡了,但是UI错乱. 解决方案: 1. 在UINavigationController子类实现代理UIGestureRecognizerDelegate,并在viewDidLoad方法中增加代理设置: - (void)viewDidLoad …

Spring学习笔记:3(面向切面AOP)

AOP:Aspect Oriented Program(面向切面) 我们再回顾一下AOP的一些术语: 通知(Advice) 就是你想要的功能,也就是的安全、事物、日志等。先定义好,然后在想用的地方用一下。 连接…

Blender全流程制作真实感3D产品学习教程

MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:41节课(4h 29m) |大小解压后:4.53 GB 仅使用blender 2.8进行建模、纹理、光照和渲染,…

如何给iOS应用添加原生的二维码扫描功能

之前总觉得二维码扫描很高大上,其实apple工程师早就为我们提供了便捷的方法。二维码扫描第三方的库也挺多的,不过效率高的当属系统提供的扫描方法。 二维码扫描主要用到了以下几个类:AVCaptureDevice,AVCaptureDeviceInput,AVCaptureMetadata…

2021-2027年中国市医疗电子场投资分析及前景预测报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新(交付时间约3个工作日) 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国医疗电子行业市场行业相关概述、中国医疗电子行业市场行业运行环境、分析了中国医疗电子行…

RabbitMQ入门(4)--路由

2019独角兽企业重金招聘Python工程师标准>>> ###路由 ###(使用Java客户端) 在先前的指南中,我们建立了一个简单的日志系统。我们可以将我们的日志信息广播到多个接收者。 在这部分的指南中,我们将要往其中添加一个功能…

从一个数组中寻找出现奇数次的数字

假设给定了数组nums为[0,1,2,3,4,5,6,7,8,9,10,10,9,8,7,6,5,4,1,2,3,3,0] 其中3出现了3次 而其他数字都出现了两次 则我们应该得到结果为3 第一种方式:使用Hash 1 /**2 * 使用hash3 * */4 public static int singleNumber_1(int[] nums) {5 …

Blender写实建筑场景制作学习教程 Exterior Visualization in Blender 2.9

MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:26节课(3h 41m) |大小:3.3 GB 使用Blender创建惊人的外部渲染。 你会学到: Blender中的建模、着色…

Postman增删改查接口测试

查 一.选择Get方式 二.点击Send开始测试,得出结果 增 一.选择Post方式 二.输入需要增添的数据 三.点击Send测试 四.没有报错,添加成功 查看一下,发现确实添加进去了 删 一.选择Delete方式 二.根据id删除,在请求路径下直接写出…

新安装Ubuntu加载时提示“为/检查磁盘时发生严重错误”的解决方法

本文部分内容转载自: http://jingyan.baidu.com/article/0aa22375bbffbe88cc0d6419.html http://www.aichengxu.com/view/35086 解决方法: 1. 进入Ubuntu启动菜单时按e 键进入启动项编辑模式: 2. 找到代码【ro rootflagsync】,将其…

android binder机制之——(创建binder服务)

Binder机制编程前面的几篇文章具体介绍了android中binder机制的方方面面,相信你对binder机制已经有了较深刻的理解。俗话说得好“学以致用”,以下我们就通过在android系统中创建一个我们自己的binder服务,来加深对binder机制的理解。&#xf…

通过NSProxy来解决NSTimer使用不当造成内存泄漏的问题

NSTimer的一般使用: 1 interface ViewController : UIViewController2 property (nonatomic, strong) NSTimer *timer;3 end4 5 implementation ViewController6 - (void)viewDidLoad {7 [super viewDidLoad];8 [self startTimer];9 } 10 11 - (void)startTimer { 12 …

Blender 2.9中的真实感三维产品全流程制作学习教程

MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:41节课(6h 23m) |大小:5.83 GB 含课程文件 使用blender 2.9建模、纹理、光照和渲染真实的吉他 …

SpringBoot中的SFL4J日志

SpringBoot:底层是Spring框架,Spring框架默认使用的是JCL日志的抽象层 SpringBoot选用SLF4J和logback 如何系统地在系统中使用SLF4J 在开发的使用,日志记录方法的调用,不应该来直接调用日志的实现类,而是调用日志抽象…

web开发性能优化---用户体验篇

怎样从技术角度怎样增强用户体验。都是非常多平台都在做的事情,依据个人实际经验碰到几种体验做下总结。1、降低页面刷新白屏适当使用ajax技术。改善刷新白屏现象。2、信息提醒,邮件、站内信、短信在购物流程、售后流程适当添加信息温馨提醒环节&#xf…

linux命令2--cd和pwd

2019独角兽企业重金招聘Python工程师标准>>> cd是linux中最为常见的一个命令,其作用就是切换到某一个路径下 例子1 到自己的用户目录下 cd ~ 也可以直接cd 例子2 返回进入当前目录之前的目录 cd - 例子3 把上一个命令作为cd的参数命令 cd !$ 参考文档&am…

COALESCE语句解救sql的sum问题

mysqlmybatis有一个sql语句是统计用的 <select id"getNum" resultType"map"> 结果是一个map&#xff0c; select语句的结果是一些sum select sum(t.anum),sum(t.bnum)from tableSum twhere t.id #{id} 调试发现&#xff0c;数据库明明记录已经落入&…

在UE5创造一个多山的松树森林场景学习教程

UE5游戏场景设计制作视频教程 大小解压后&#xff1a;4.37G 1920X1080 mp4 语言&#xff1a;英语中英字幕&#xff08;机译&#xff09;时长&#xff1a;5小时 20分 课程获取&#xff1a;在UE5创造一个多山的松树森林场景学习教程

编写纳新网站后端的相关知识总结

使用HSSFWorkbook导出数据库中的数据 导入Apache POI Maven jar包 <!-- Apache POI --> <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.6</version> </dependency>在控制层编…

IOSUIcontrol事件

UIKit提供了一组控件&#xff1a;UISwitch开关、UIButton按钮、UISegmentedControl分段控件、UISlider滑块、UITextField文本字段控件、UIPageControl分页控件。 控件是对UIView派生类的实用增强及补充&#xff0c;并可以直接附着于导航栏、表格单元&#xff0c;甚至更大的对象…

Xcode Debugging

程序员日常开发中有大量时间都会花费在 debug 上&#xff0c;从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。“If debugging is the process of removing bugs, then programming must be the process of putting…

css小技巧 -- 单标签实现单行文字居中,多行文字居左

可能出现的尺寸场景: 代码如下&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv&q…

Unity游戏开发大师班

大小解压后&#xff1a;8.63G 持续时间19h 包含项目文件 1280X720 MP4 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; Unity游戏开发大师班 信息: 要求 –没有课程要求&#xff0c;展示了开发过程的每一步(包括解释的每一行代码) 这门课…

GC处理的分析

GC处理的深入分析 在Java中针对垃圾收集也提供了多种不同的处理分类 1.引用计数&#xff1a; 一个实例化对象&#xff0c;如果有程序使用了这个引用对象&#xff0c;引用计数加一&#xff0c;当一个对象使用完毕&#xff0c;引用计数减一&#xff0c;当引用计数为0时&#x…