程序员孔乙己

2023-11-20

软件园的格局自与别处是有所区别的,高矮不同的写字楼里,排列着整齐的格子间,放眼望去到处都是格子衫,双肩包,还有那稀疏的头发。园区每一栋大楼的入口处,都有一个超大前台,清洁的铮亮,散发着光芒,桌上零散的堆放着办公品。边上隔了一间咖啡馆,顺带售卖着面包、饮料等食品。

傍晚时分,拥挤的人群散去后,园区里可以看到三三两两的程序员,背着手在园区里溜达,那铮亮的脑门很有辨识度,倘若肯花点钱,还会走到前台边上的星巴克,点一杯咖啡。

我从毕业开始在这家咖啡店打工,老板说,你这个样子太傻,但是人很勤快,就去后面帮大厨打打杂吧,也可以学点制作甜点、咖啡的技术。糖分摄入太多对身体不好,我在制作甜品时总是严格控制糖分的添加,致使买的人很少。所以过了段时间,老板又说我干不了这事。幸亏领班的情面大,便让我做了收银的工作。

老板时常开着他的“鱼叉”来店里巡查,一副凶脸孔,此时店里的氛围也压抑至极。只有孔乙己来到店里,才可以笑几声,所以至今还记得。他身材高大,脸色青白,皱纹间时常夹杂些伤痕,几戳稀疏的头发,耷拉在脑袋的四周。穿着虽是格子衫,可是又破又脏,似乎好多年没有补也没有洗。对人说话,总是满口,赋能、闭环、组合拳啥的,教人半懂不懂。因为他姓孔,别人就从他开发的注释文档“上大人孔乙己”这半懂不懂的话里,替他取了一个绰号,叫做孔乙己。孔乙己一到店里,所有人就看着他笑,有的叫道:“孔乙己,你的代码又出Bug了。”他不回答,对我说:“一杯拿铁,中杯,去冰。” 便从口袋里摸出30块钱。走到一个空位上,抽出满是划痕的笔记本,紧接着娴熟的打开开发工具,敲起代码。他们又故意高声:“哎呦,孔乙己,你不会把没修改的Bug提交上去了把。”孔乙己睁大眼睛说:“你怎么这样凭空侮人清白?““什么清白?我昨天亲眼看到你写的功能出了故障”孔乙己便涨红了脸,额上的青筋条条绽出,争辩道,“什么故障?网络出现波动,服务请求有延迟…,能算故障?”

接着便是一些难懂的话,什么“方法论”之类,引得大家哄笑不已:店内外充满了快活的空气。

听人家背地里谈论,孔乙己原来也创业当过领导,但最终还是失败了。于是愈过愈穷,弄到将要讨饭了。幸而学的一手CV大法,便进了一家创业公司混口饭吃。可是他又有一样坏脾气,便是做人太直,不知变通,做不了多久就得罪老板。如是几次,工作也越发难找了。孔乙己没有法,便难免做起了外包的工作。但他在我们店里,品行却比别人都好,就是从不拖欠;虽然间或没有现钱,这哪是记在账上,但不出一月,定然还清。

孔乙己喝过半杯咖啡,沧桑的脸上恢复了以往的神情,旁人便问道,“孔乙己,你当真当过领导,创过业吗?”孔乙己看着问他的人,先出不屑置辩的神气。他们便接着说,“你怎么连个二线大厂也进不去呢?”

孔乙己立刻显出颓唐不安的模样,脸上笼上了一层灰色,嘴里说,“生态一体”,“打磨反哺”之类,完全不懂了。在这时候,众人也都哄笑起来:店内外充满了快活的空气。

在这些时候,我也可以附和着笑,老板是决不责备的。而且老板见了孔乙己,也每每这样问他,引人发笑。孔乙己知道自己不能和他们聊天,便只好和我说话。有一回对我说道,“你学过设计模式吗?”我略略点一点头。他说,“学习过,…那我便考你一考。单例模式的常用五种写法,有哪些?”我想,讨饭一样的人,也配考我么?便回过脸,不再理会。孔乙己等了许久,很恳切的说道,“不能写罢?…我教给你,记着!这样做,将来去当面试官的时候要用。”

我暗想,我只是一个收银员,而且这里也不招聘程序员,更需要我去做面试官。又好笑,又不耐烦懒懒的答他道,“谁要你教,不就是懒汉式和饿汉式吗?”孔乙己显示出极高兴的样子,将两个指头的长指甲敲着柜台,点头说,“对呀,对呀!那你知道双重校验锁,指令重排序吗?”我愈不耐烦了,努着嘴走远。孔乙己刚打开记事本,想演示给我看,见我毫不热心,便又叹一口气,显出极委婉的样子。孔乙己是这样的使人快活,可是没有他,别人也便这么过。

有一天,大约是中秋前的两三天,老板正在慢慢的结账,看着账户系统,忽然说,“孔乙己好久没有来了。还欠十九块钱呢!”我也觉得他确实长久没有来了。一个喝咖啡的人说道,“他怎么会来?…他被开除很久了。”

老板说,“哦”。

“他说话总是不经过大脑,这一回,是自己发昏,竟然怼到产品经理头上…”

“后来怎么样?”

“怎么样?先是互怼,最后两人打了起来,腿都被打断了,最后被辞退了。”
“辞退了怎样呢?”

“怎样?..谁晓得?或许是离开这里,回老家了。”老板也不过问,仍然慢慢的算他的账。

中秋之后,秋风一天凉比一天,看看将近初冬;我也穿上了棉袄。一天的下半天,没有一个顾客,我正合了眼坐着。忽然间听得一个声音,“一杯拿铁,加热。”这声音虽然极低,却很耳熟。看时又全没有人。站起来一望,那孔乙己便在前台下的凳子上坐着。他脸上黑而且瘦,已经不成样子;穿着一件破夹袄,盘着腿。见了我,又说道,“来一杯拿铁。”老板也把头伸出去,一面说,“孔乙己么?你还欠着十九块钱呢!”孔乙己很颓唐的仰面答道,“这…下回还清罢。这一回是现钱,拿铁加点奶。”老板仍然和平时一样,笑着对他说,“孔乙己,你又怼同事,打架啦!”但他却不十分分辨,单说了一句“不要取笑!”

“取笑?要是不打架,怎么腿怎么会断,怎么会被开除?”孔乙己低声说道,“跌断,跌,跌…”他的眼神,很像恳求老板,不要再提。此时已经聚集了几个人,便和老板都笑了。我做好了咖啡,端出去,放在他边上。他从破衣袋里掏出几张纸币,放在我手里,手上全是泥。

自此以后,又长久没有看见孔乙己。到了年关,老板看着账单系统说,“孔乙己还欠十九块钱呢!”到了第二年的端午,又说“孔乙己还欠十九块钱呢!”到中秋可是没有说,再到年关也没有看见他。

我到现在终于没有见——大约孔乙己的确已经回去了。

也许人人都是孔乙己,写于辛丑年四月。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序员孔乙己 的相关文章

  • 【Linux】 Linux使用timedatectl命令修改时间报错

    Linux中可以使用timedatectl命令来修改系统时间信息 具体命令中常见的参数格式及作用如下 参数 作用 status 显示状态信息 list timezones 列出已知时区 set time 设置系统时间 set timezon
  • STM32学习笔记——USB鼠标

    最近搞了好久的STM32模拟USB鼠标 功能就是简单的利用三个按键实现滚轮和鼠标左右键的功能 USB功能其实已经集成好一个库了 我们只是对其中几个函数进行配置而已 其实很多配置还不是太懂 整个USB程序的过程大概就是1 中断配置 2 USB
  • 【win10】 设置应用开机自启动

    步骤如下 1 按Win r键 输入 shell startup 2 确定后会出现一个文件夹 把要开机启动的应用快捷方式放到里面 3 在任务管理器的启动里面进行设置 可以在状态字段选择启用或者禁用 放在文件夹里只是让它可以在任务管理器的启动里
  • jdk与jre的区别

    jdk与jre的区别 很多程序员已经干了一段时间java了依然不明白jdk与jre的区别 JDK就是Java Development Kit 简单的说JDK是面向开发人员使用的SDK 它提供了Java的开发环境和运行环境 SDK是Softw
  • 解决Ubuntu 20.04 node-v 和nodejs --version显示不同版本

    Ubuntu 20 04 node v 和nodejs version显示不同版本 1 删除原来的node js版本以及之前的软链接 我这里是输入node v显示4 0 0pre 首先要删除 卸载这个版本对应的node js文件 此时如果在
  • Match Points【Codeforces 1156C】【二分答案】

    题目链接 题意有点像上海EC某年的一道铜牌题 具体是哪年记不得了 我们要去N个的关系 使得最多的匹配对达到他们的差值 Z 这样的情况 有这样的一组数据可以很好的反映这道题为什么有人会WA了 4 3 1 4 5 7 但是 同时也证明了 我们取
  • 《机器学习实战》4.朴素贝叶斯

    目录 1 基于贝叶斯决策理论的分类方法 2 利用朴素贝叶斯进行文档分类 一般过程 3 使用python进行文本分类 3 1准备数据 从文本中构建词向量 3 2 训练算法 从词向量计算概率 3 3测试算法 根据现实情况修改分类器 3 4 准备
  • 【SDR】OpenBTS 介绍及安装

    前言 今天是元旦假期的第一天 还有两天 就要跨入2018年了 无心工作 写两篇博客吧 纪念一下自己的2017 也为2018开个好头 希望2018 我的三个愿望 能够圆满实现 好了 开始正题 前一段时间搭建了OpenBTS的环境 用于测试其相
  • 图形界面编程:使用C语言开发GUI应用

    使用C语言开发图形界面 GUI 应用通常涉及使用特定的库或框架 下面将为您提供一个详细的教程 以介绍使用C语言开发GUI应用的一般步骤和常用库 1 选择GUI库 C语言本身不提供直接的GUI支持 因此您需要选择一个适合的GUI库或框架 以下
  • C++ 文件流操作详解

    1 C I O流 本文章有很多内容参考并借鉴了 C primer plus 这本经典 这里先说明一下 1 C I O流 1 1 数据流 1 2 控制台流 1 3 文件流 1 3 1 什么是文件流 1 3 2 缓冲区 1 3 3 文件流和控制
  • 鸿蒙-No pending exception expected: java.lang.RuntimeException: Parcel:

    问题描述 学习鸿蒙开发 在利用intent封装数据 这里我是自定义了1个实体对象 然后作为list的元素 封装list 进行页面跳转时 总报下列异常 A com example ex thread cc 2560 No pending ex
  • 四种方式求最大公约数和最小公倍数

    最大公约数和最小公倍数 两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积 1 质因数分解法 把每个数分别分解质因数 再把各数中的全部公有质因数提取出来连乘 所得的积就是这几个数的最大公约数 例如 求24和60的最大公约数 先
  • c语言中自己写实现strcat(),strcpy(),strcmp()的函数

    c语言中的string h头文件中虽然有这三个函数 但老师让我们自己写函数 所以添加了一点自己的想法写了这三个函数 strcat include
  • linux恢复模式如何输密码,在Ubuntu上使用恢复模式及Recovery Mode各选项的使用方法...

    本文介绍在Ubuntu上使用恢复模式的方法 包括Recovery Mode选项 Clean Dpkg Fsck Grub Root 的使用方法 前言 Ubuntu操作系统带有恢复模式 通过此功能 用户可以访问损坏系统的命令行 修复错误配置的
  • XSS & SQL injection

    作者 CyberPhreak XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X Web Security XSS more X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 介绍在这篇文章中我将说明所有关于X
  • CREATE INDEX 语句

    CREATE INDEX 语句用于在表中创建索引 索引 您可以在表中创建索引 以便更加快速高效地查询数据 用户无法看到索引 它们只能被用来加速搜索 查询 SQL CREATE INDEX 语法 在表上创建一个简单的索引 允许使用重复的值 C
  • Android:Log日志AS使用及Linux输出

    Android Studio中对应如下几种Log方法 1 Log v TAG 打印那些最为琐碎的 意义最小的日志信息 对应级别verbose 是Android 日志里面级别最低的一种 2 Log d TAG 打印一些调试信息 这些信息对你调
  • QT内存泄露问题

    原文链接 Qt浅谈之一 内存泄露 总结 乌托邦 CSDN博客 qt内存管理机制 关于堆栈不清楚的可以参考这篇文章 内存分配及堆与栈的区别 Keep Moving CSDN博客 在自己项目中 发现很多按键参数new之后并没有进行delete
  • vue面试题

    1 介绍一下vuex vuex是vue js应用的一个状态管理工具 state 用于保存我们应用的状态 2 v show与v if的区别和使用场景 区别 1 v show 只是简单的控制元素的 display 属性 而 v if 才是条件渲
  • 谷歌云|机密 GKE 节点可在计算优化的 C2D 虚拟机上使用

    机密 GKE 节点可用于计算优化的 C2D 虚拟机 许多公司已采用 Google Kubernetes Engine GKE 作为其应用程序基础架构中的关键组件 在某些情况下 使用容器和 Kubernetes 的优势可以超越传统架构 但迁移

随机推荐

  • linux中mysql启动服务命令(合集)

    linux的mysql启动服务命令 linux的mysql启动服务命令1 使用mysqld启动 关闭MySQL服务 mysqld是MySQL的守护进程 我们可以用mysqld来启动 关闭MySQL服务 关于mysqld MySQL 5 6官
  • You have not concluded your merge (MERGE_HEAD exists). Exiting because of unfinished merge.

    You have not concluded your merge MERGE HEAD exists Exiting because of unfinished merge git fetch all git reset hard ori
  • Select、Poll和Epoll

    看到一篇写得很不错的博文 有必要收藏一下 原文 https cloud tencent com developer article 1005481 提到select poll epoll相信大家都耳熟能详了 三个都是IO多路复用的机制 可以
  • 鸿蒙(二)基于小熊派实现LOT上云的智慧家居项目

    手把手教你利用鸿蒙OS实现智慧家居 LOT上云项目 一 前言 今天使用鸿蒙OS 做一个LOT上云的智慧家居项目 我们想实现的场景是这样的 云端WEB有一个控制界面 能够操控家房间里的灯和风扇 同时将房间里温度 湿度 光强实时显示出来 二 案
  • APUE学习的经验(引以为戒)

    前段时间在学习Linux 在没有感悟之前我是不敢把所得放到这里的 所以就一直没有新的文章 很惭愧啊 根据在网上搜集到的学习Linux的学习路线和自己当前对Linux的理解 我认为我可以学习APUE了 APUE 英文名应该是Advanced
  • mysql做生日日期字段的用到的类型_MySQL 日期类型函数及使用

    1 MySQL 数据库中有五种与日期时间有关的数据类型 各种日期数据类型所占空间如下图所示 2 datetime 与 date datetime 占用8字节 是占用空间最多的一种日期格式 它显示日期 同时也显示时间 5 5及以前的版本不支持
  • cmake命令之AUX_SOURCE_DIRECTORY 的案例

    AUX SOURCE DIRECTORY的命令形式如下 aux source directory
  • 16-MyCat

    一 Mycat概述 1 什么是Mycat 什么是Mycat Mycat是数据库中间件 所谓数据库中间件是连接Java应用程序和数据库中间的软件 为什么要用Mycat 遇到问题 Java与数据库的紧耦合 高访问量高并发对数据库的压力 读写请求
  • python selenium使用JS新建标签(new tab)与切换标签

    以下是通用操作 不建议用快捷键的方式新开tab 因为js是通用的 from selenium import webdriver driver webdriver Chrome 新建窗口 driver execute script windo
  • 【嵌入式开发基础】PL2303不支持win11及后续版本解决方法

    最近在使用PL2303这一块USB转串口后 在安装驱动时遇到如下问题 此PL2303驱动程序不支持WINDOWS 11及后续版本 请安装正确驱动程序 解决方法 下载旧版本的PL2303驱动然后安装替换 PL2303 Prolific Dri
  • C语言二分法查找算法

    二分查找算法 折半查找算法
  • echarts饼状图mysql_echarts饼状图位置设置

    ReactNative环境配置 参考链接 Windows系统安装React Native环境 windows下React Native Android 环境搭建 在Windows下搭建React Native Android开发环境 转载
  • Qt6.2.3 QWebEngineView 咋就默认无痕浏览模式了?

    最近项目从Qt5迁移到Qt6 有若干不兼容或者变动的地方 虽谈不上什么血泪史 但是一天内做了几十处的兼容性处理 好在项目不大 也是挺累人的 本文重点说说QWebEngineView 咋就默认变成无痕处理模式了 如何咱们如何取消无痕模式 自定
  • Linux安装node

    Linux安装node 一 下载准备 1 准备 2 下载wget 可以直接下载 也可以点击链接寻找下载 3 安装wget 二 安装 1 准备 2 下载 3 解压 4 配置 5 测试 一 下载准备 linxu安装node可以直接去官网下载 或
  • 用C++写一个ChatGPT

    要用 C 语言写一个 ChatGPT 需要执行以下步骤 了解 ChatGPT 是什么 ChatGPT 是一种自然语言生成模型 能够在聊天场景中生成人类语言的文本 安装需要的软件 需要安装 C 语言编译器 如 GCC 或者 Visual C
  • 【C++从0到1】C++入门(上篇)类入门篇

    c 入门必看 前言 一 命名空间 二 缺省函数 三 函数重载 3 1常见使用 3 2重载底层实现 3 3返回值不纳入重载原因 四 extren C 五 引用 5 1常见使用 5 2临时变量的作用 5 3引用返回常见错误 5 4指针与引用 六
  • Golang 内存对齐视频

    https www bilibili com video BV1Ja4y1i7AF 简而言之 就是注意写代码的时候要把相同类型的元素放在一起 更进一步需要自己将结构体配对为32位或64位的整数倍 有助于减少额外空间消耗
  • java数据库实例_Java连接各种数据库的实例

    转自 CSDN此文中的代码主要列出连接数据库的关键代码 其他访问数据库代码省略 1 Oracle8 8i 9i数据库 thin模式 Class forName oracle jdbc driver OracleDriver newInsta
  • SQL修改表的列

    1 修改列的数据类型 要修改列的数据类型 请使用以下语句 ALTER TABLE table name ALTER COLUMN column name new data type size 新数据类型必须与旧数据类型兼容 否则 如果列具有
  • 程序员孔乙己

    软件园的格局自与别处是有所区别的 高矮不同的写字楼里 排列着整齐的格子间 放眼望去到处都是格子衫 双肩包 还有那稀疏的头发 园区每一栋大楼的入口处 都有一个超大前台 清洁的铮亮 散发着光芒 桌上零散的堆放着办公品 边上隔了一间咖啡馆 顺带售