十年老友记 | @张京:我编程了三十年,编程就是我的符号

简介: 十年老友记 | @张京:我编程了三十年,编程就是我的符号
编程是我改造这个世界的手段,我们写的每一行程序其实都在或多或少地改变这个世界,最起码你在费电,对吧? ——张京

十年前的今天,SegmentFault 思否正式创立,如一颗嫩绿的幼芽开始成长,期间承载过和煦的日光、沐浴过柔和的春风,也挑战过滂沱的暴雨、体会过凛冽的冬雪。所幸,今日呈现在我们面前的 SegmentFault 思否,已经长成了一棵足以抵御一些风雨的大树,这样的成长离不开各位管理员的修剪,更离不开社区每一位用户的栽种。

正如 SegmentFault 思否创始人之一祁宁所言:

"SegmentFault 思否是一个属于大家的社区,因此,在这个特殊的时刻,我们想跟社区的成员一起为它喝彩。"

这十年中,有成千上万的开发者加入了 SegmentFault 社区,我们雀跃于看到每张不同的新面孔,也感动于社区里的那些老朋友们多年如一日的陪伴,见到他们就像见到一位相识多年的老友。或许老友们会在某一段时间里突然消失,但消失并不代表着再也不见,而是重逢后的那句:好久不见。


今天,我们有幸邀请到老朋友 @张京 参与我们的十年老友记系列访谈。

小编有话说:

在采访中,我了解到张老师已经踏入编程这个行业三十年了,这个数字可能与我们社区的大部分用户年龄差不了多少。三十年不改初心是一件颇有难度的事情,但这位老男孩表示,编程已经成为了他的符号,如果不能继续编程,他生命里的一部分意义也将随之永远消失。

不知道该怎么描述,但我确实被这种情怀打动了,失去编程对张老师来说,并不仅仅是普通意义上的失去一项工作,而是像植物失去阳光与雨水,失去了生命中的一部分鲜活。

以下为 SegmentFault 思否对张京的访谈内容:

1.还记得和 SegmentFault 思否的初识吗?是在什么样的机缘巧合下踏入这个社区的?

我在思否回答的第一个问题是在 2015 年 1 月,关于 MySQL 语句的;第一个提问是在 2015 年 2 月,关于 Python 开发工具的,距离今天已经是 7 年多。

那时候正在学习 AI 相关方面的开发,在网上搜索资料时,发现了思否这个网站,我觉得这是一个很好的知识分享平台,于是我就踏入了这个社区。我在思否的第一篇文章,是在进入社区一年多后的 2016 年 5 月写下的,主要内容是前端 px 与 rem 的区别。当时写那篇文章的主要想法是感觉有些话想说,但既不是问题,也不是答案,只是个人经验的总结和分享,因此我写了一篇文章分享了出来。

一直觉得思否的文章编辑器是我用过最好用的编辑器,无论是下载的独立安装软件还是网站,都没有思否的好用,因此这么多年来一直是把思否当成我的主力 Markdown 编辑器来用,有任何想法都可以随时写在里面留做草稿,需要的时候随时可以整理成文章发表。

2.这些年有没有见证思否的改变?其中对你而言触动最大的是哪一部分?与思否一起成长的路上,你觉得自己改变了什么?

思否这些年增加了不少功能,至少我用过的就包括课程、笔记等等,但我用的最多的还是传统的文章和问答功能。思否对于我来说,真的就是写作促进器,它能激发我的写作欲,使我愿意在这个平台上写一些经验总结和朋友们分享。我搞过微信公众号,也搞过博客网站,也有微博,但它们没有一个能让我有写作欲,只有思否能吸引我,我猜测主要原因可能是因为思否足够专一,它只专注于技术本身。基本上聚集于这个平台的都是我们这个行业的工程师,如果在别的平台说一些专业术语,比如 React、Npm 之类的,人家可能不知道你在说什么,但在思否不存在这个顾虑,这可能是工程师们愿意聚集在这里的原因吧。

3.为什么会选择做一名程序员?因为梦想和因为现实这两者的占比哪个更重?

选择做程序员有一定的偶然性,但搞科研几乎是确定的事。学习成绩好嘛,又不愿意跟人打交道,将来肯定是搞科研,但具体搞什么科研,当时还是有选择的。在我们那个年代,各行业的收入差距没有现在这么大,搞什么都差不多,因为我动手能力比较差,就能敲个键盘,所以就选择了程序员这个行业。当时选择这个行业跟收入关系不大,后来没有转行倒确实是因为赶上了互联网红利。

4.如果有一天因为种种因素你决定放弃编程,你想去做什么?

伟大导师恩格斯说过:劳动创造了人本身。我的理解是:如果你经常做同一种类型的劳动,不管你内心喜好什么,你终将会成为你从事的劳动所定义的那个人。我已经编程了三十年,我的符号就是程序员,所以假设某一天我突然从此再也不碰键盘了,我会干什么呢?首先我觉得我肯定会很失落,不知道自己该干什么;其次,如果有生存压力,我觉得开出租或者送外卖是一个可以考虑的选择,如果没有生存压力,我最想做的可能就是混吃等死了。

5.程序员的形象在很多人的心目中离不开格子衬衫、黑框眼镜、双肩背包等物品,你想对这种刻板印象说什么?

我觉得这形象其实挺好的。各行业都有形象嘛,不管你喜不喜欢,医生就是白大褂,警察都要穿制服,程序员能有标配也不错,最好衣服上能有军衔直接标示自己的级别,这样就不会让人觉得你是一个普通的程序员了。要不思否给大家印一批徽章如何?

6.编程对你而言只是工作任务吗?如果不是的话,它对你有何种特殊的意义呢?

还真不只是工作任务,编程是我改造这个世界的手段,改造有大有小,我们写的每一行程序其实都或多或少地改变这个世界,最起码你在费电,对吧?我最喜欢干的就是对于别人来说很繁琐的事情,比如说把很多个文件按照某种规则整理之类的。这对于普通人来说,可能需要手工做很久,也可能很快就放弃了,但是对于程序员来说,找规律就是一个很大的乐趣,找到规律之后再写个工具自动完成这个事情,就会获得更大的成就感。

大约一天中最美好的时光莫过于完成了一段代码之后,端着咖啡靠在椅子上看着程序一行一行滚动的时候了。

7.工作中有没有让你焦虑的事?这种焦虑源于何处?面对焦虑你一般会怎么做?

早期的时候会有很多焦虑,现在基本没有什么可焦虑的。我觉得焦虑一般有两种来源:一种是来自他人的焦虑,一种是来自自身的焦虑。来自他人的焦虑是指一种非自身可控的局面,比如你开发时需要依赖别人的一个软件包,但这个包就是有问题,那么你能怎么办?要不彻底不用它,换个别的,要不彻底改造它,总之即使是他人的问题也要从自身想办法解决,抱怨是没有用的,这是程序员的基本素养。另一种来自自身的焦虑更难解决,就是你无法掌握一项技术的时候,你明确知道技术本身没有问题,但以你目前的能力还无法掌控它甚至无法理解它,这种焦虑的解决只能依靠时间,从零到一,一点一点积累,也许最终你能够掌握,也许掌握不了,但不管怎么说,这都是一个成长的过程。

8.年龄对程序员这个职业有一定的影响,你认同这个观点吗?有没有想过自己未来的职业规划?

老不是问题,旧是问题。我见过很多年龄很大的程序员,但始终活跃在编程一线,用的都是现在最新的技术。我也见过一些年龄很大的程序员,用的都是很老旧的技术,就是被时代抛弃。那么你能归咎于谁呢?梭伦说:活到老,学到老。如果你不愿意学习了,那其实是你抛弃了这个行业,而不是行业抛弃了你。但是我对于年轻的程序员还是有一些忠告,就是要多注意一些技术外的技能,例如产品设计能力、项目管理能力、人际交往能力,即使是立志一辈子做程序员,这些能力也都是不可或缺的。

9.请留下你对 SegmentFault 思否社区十岁生日的祝福

不知不觉思否已经十岁了,目前已经成为中国软件工程师最重要的阵地之一,希望思否能够继续发展壮大,培育一代一代新人,让我们一起见证中国软件工业的成长。


面对这个圈子里老生常谈的年龄焦虑,张老师一针见血的指出了关键:

老不是问题,旧是问题。

希望各位程序员在职业发展中也能常变常新,守住“旧”的自己,运用“新”的技术。同时,我们也希望张老师能在未来的职业道路上一帆风顺,永远做以编程为标签的老男孩。

相关文章
|
13天前
|
人工智能 搜索推荐 算法
编程之舞:从代码到艺术的蜕变
【10月更文挑战第30天】在数字世界的无限舞台上,编程不仅仅是冰冷的逻辑和枯燥的算法。它是创造者手中的画笔,是构建梦想的乐章。本文将带你领略编程背后蕴含的艺术之美,探索如何通过代码示例将技术与创造力结合,从而让程序设计成为一种独特的艺术表达。
26 2
|
3月前
|
算法
代码的诗意:从技术感悟到生活哲学
【8月更文挑战第30天】在数字世界的编织中,每一行代码都是诗行的缩影,承载着逻辑与情感的双重奏。本文将带领读者穿梭于技术的细节与生活的广阔之间,探索编程之美如何映照人生的哲理。从简单的算法到复杂的系统设计,我们将发现,代码不仅仅是冷冰冰的指令集合,它也能如诗般流淌,讲述着创造与和谐的故事。让我们一起走进代码的世界,解锁那些隐藏在键盘敲击声中的深刻启示。
|
3月前
|
程序员 数据处理 开发者
揭秘!程序员那些让人哭笑不得的“怪癖”:编程界的奇葩规范与隐秘文化大起底!
【8月更文挑战第25天】程序员的世界就像一片神秘且充满趣味的森林,每行代码都是探索未知的脚步。特殊的注释语言如“// 这里的逻辑比黑洞还深”,传递着程序员间的幽默与无奈。变量命名如magicNumber或函数名performUnexplainedMiracle,既随意又深藏设计者的思考与骄傲。代码审查不仅仅是技术讨论,更涉及编程哲学和个人偏好,甚至因空格与制表符之争而引发“战争”。程序员对代码整洁度的执着追求,展现了一种对美的追求。这些奇怪的习惯与规范构成了编程世界中独特而迷人的风景。
43 1
|
3月前
|
Python
编程之禅的奇幻之旅:探寻代码世界与生活万象的惊世共鸣,颠覆你的认知!
【8月更文挑战第7天】编程不仅是技术活,更融汇艺术与哲学。它启示我们在生活里追求简洁高效,如Python列表推导式的优雅;教会我们面对挑战时冷静分析,正如调试代码;体现分工合作的重要性,像模块化设计;并鼓励持续优化,提升效能。编程所蕴含的生活智慧,能引导我们创造更美好、有序的人生。
49 1
|
5月前
|
机器学习/深度学习 算法 搜索推荐
编程之舞:探索算法的优雅与力量
【6月更文挑战第10天】在软件的世界里,算法是构筑数字宇宙的基石。它们如同精心编排的舞蹈,每一个步骤都充满着逻辑的美感和解决问题的力量。本文将带领读者走进算法的世界,一起感受那些精妙绝伦的编程思想如何转化为解决现实问题的钥匙。
34 3
|
5月前
|
安全 编译器 程序员
【C++航海王:追寻罗杰的编程之路】C++的类型转换
【C++航海王:追寻罗杰的编程之路】C++的类型转换
39 0
|
6月前
|
并行计算 算法 安全
未来编程之光:量子计算入门与应用前瞻
【5月更文挑战第3天】 在探索宇宙的无限奥秘与信息时代的边界时,我们遭遇了经典计算机的局限。量子计算,作为一种全新概念的计算范式,承诺超越这些限制,开启处理速度与计算能力的新纪元。本文将引导读者进入量子计算的世界,解析其原理,并探讨其在各领域的潜在应用和面临的挑战,旨在为未来的技术革新者提供一盏明灯。
代码之禅:在技术的浪潮中寻找内心的平静
【5月更文挑战第20天】 在数字化时代的洪流中,技术感悟成为了每个从业者心中的一盏灯塔。本文将探讨如何在快节奏、高压力的技术行业中保持个人的专业性与内心平静,并实现职业生涯的持续成长。通过分享个人经验与行业内的最佳实践,我们将一同探索在不断变化的技术世界中如何维持自我平衡,以及如何将这种平衡转化为技术创新和解决问题的动力。
|
6月前
|
存储 编译器 程序员
C语言调试大作战:与VS编译器共舞,上演一场“捉虫记”的艺术与科学
C语言调试大作战:与VS编译器共舞,上演一场“捉虫记”的艺术与科学
|
数据可视化 前端开发 JavaScript
G2 5.0 来啦,伴着春天的脚步,从语言到思维
G2 5.0 来啦,伴着春天的脚步,从语言到思维
437 0