当前位置: 首页 > news >正文

我的十年编程路 2021年篇

慢慢地,时光走过了8个年头,来到2021年。

站在2021年,回望8年的过往,没有大的起伏和波澜。或许是上天的眷顾,我的事业发展一直都很顺利。当然,弯路也走过一些,而且工作其实挺辗转的,如果看过我前几年的文章就会知道。但这都没关系,我的Plan B,也就是写作,提供了能力和经济上的支撑。甚至,现在,我已经分不清工作和写作,到底哪个是Plan B了。

2020年底,我又再一次处于失业状态,但这一次我并没有急着找工作,甚至还拒绝了一些面试邀请。因为那个时候我在写《深入浅出Android Jetpack》,一本关于Android开发的书。

进入2021年之后,一个偶然的机会,我去面试。整个面试过程非常轻松,结果就轻松地入职了。想来因为是创业公司,刚开始比较缺人,才这么轻松。当然,更大的原因,应该是我的能力还不错。

入职的日期是1月8日,也就是一开年,我就又上班了。这是荣科旗下的创业公司,荣科本身是家历史悠久的上市公司,作为创业公司的我们,处于起步阶段,做的是互联网医疗业务,主要涉及App、网页前端、微信公众号和小程序。刚开始写代码的只有技术总监和我两个人,他是个酷爱编程的工作狂,前端后端都能做。不过从我的角度看,他应该是更擅长后端,于是我一直搞所有的前端。也正是有这段经历,让我有了前端开发的经验,快速地上手了Vue前端框架,什么Element UI、有赞UI等框架都玩了一圈,还集成了老相识——即时消息IM,只不过这一次的提供商不再是容联了。

从客户端上手前端的我,感受就是前端页面写起来比客户端效率高多了。再加上蓝湖这种可以自动生成样式代码的工具,效率实在是不知道翻了多少翻。

工作效率的提升带来的就是工作时间的缩短。我记得当时我有一段时间就是只花半天时间编码,半天时间创作自己的书,基本上每天都是准点下班。到了天暖的时候,还会选择骑共享单车回家。后来经同事介绍,我尝试了共享电单车,发现确实省劲很多,于是后来就一直骑共享电单车。

从冬末春初,到夏末秋初,我一直任职在这家公司。在这期间,我收获了前端开发技能。同时,我辛勤耕耘的写作也开始产生那种有温度的收益。

某一天,有位读者添加我的微信,他应该是大学的老师,是《Flutter从0基础到App上线》那本书的读者。据他说,他完全靠我的书,完成了两周的高校技术实训。我在知乎上的文章也受到了首次赞赏,金额是2块钱。其实,那本Flutter的书,签的不是版税合同,销量多少和我其实没有关系,2块钱的赞赏其实也不多。但这都是对我非常大的鼓舞,我知道有人在阅读我写的内容,甚至还把这些内容当作教材教授给年轻的一代。这就让我更有动力、有使命感,也更加感动。从另一个方面讲,一个人孤单地做内容产出,其实真的很孤单,很累。我记得在没有入职之前,我从早上起床后就开始写,一直写到晚上,除了中午吃饭的时间,差不多10多个小时。结束之后,真的是连话都说不出一句完整的来,似乎在那个时刻,语言能力都丧失了几成。写书,有收入是必然的,但读者的互动,则是更加有温度的,也就更能激励我创作更多有价值的内容。再辛苦一点,也不觉得有什么。

技术方面,受前端开发体验的影响和华为鸿蒙操作系统的火热,我跑到iLearning平台,取到了HCIA鸿蒙应用开发工程师在线课程的认证。后来得知这个认证似乎没有什么含金量,不过聊胜于无吧,也算是对鸿蒙App开发有个初步的了解。

后来,忘了基于什么理由,收到了CSDN CTO俱乐部的《程序员增刊》。还先后收到两次,就记得收快递的时候感觉沉甸甸的,我都不知道是什么东西,拆开之后还蛮惊喜的。

另外,我又忘了是基于什么理由,收到了掘金平台的首个纪念品:一个杯子。说是杯子,其实就是大茶缸子,我这么说,大概就能有画面感了。至少我国北方的朋友应该都能想象得到,就是那种金属的圆柱形,然后镀上一层漆。比如那种影视剧里特别常见的,军绿色漆,也有白色漆的,然后上面印个主席头像,下面写“为人民服务”的那种杯子。只不过我收到的是白色的油漆,上面写的好像是“码上掘金”还是啥的。这种杯子特别实在,特点就是能盛的水多。

大概在下半年开始,我突然决定要考个PMP。想到自己年过30,考个PMP以备转型管理使用。奈何当时疫情很严重,本来年底就能去考的,硬是拖到了2022年的夏天。算下来,将近一年的战线。

同样是在2021下半年,我所在的公司撑不住了,这次的原因是现金流断了。不过这家公司的做法还是挺仗义的,给了赔偿金。虽然没有在三星那样丰厚,但能按规定给付赔偿金的公司,特别是对于已经快发不出工资的公司来说,已经很不容易了。算下来,到目前为止,我已经拿过三次赔偿金了。一次是三星天津给了一笔赔偿金+安家费,另一次是三星广州给了一笔赔偿金,再就是这一次公司倒闭给了一笔赔偿金。以至于后来我12月入职的时候,公司问我为什么离职,如果我如实说,我都会担心公司会不相信我的经历。

离职之后,我开始通过人脉关系,和两位前辈一起,创作《Go语言从入门到项目实战》一书。我负责基础部分、PPT和视频讲义,还有一些杂活,比如创建读者QQ群之类的。也正是在这次创作中,我学到一句话:“一为约束,万事不入”。我认为这是一种真正的取舍,决定做一件事,就意味着放弃另一件或一些事,都想要做是贪。这个世界就是这样,想得到很容易,难的是放弃。确实有时候会陷入两难,觉得两件事情,都舍不得放弃,又找不到一种两全的方法。但现实就是这样,总是会放弃一件事,然后去努力成就另一件事。当然,最坏的结果就是该放弃的放弃了,不该放弃的也没做成。不过,放在当时做选择的那个时刻,又如何得知最终的结果呢?所以,不如就过好当下。正所谓不念过去,不畏将来。

紧接着又是一段有趣的经历,年底面试的时候,给我面试的人是拿着我的书来的,所以结果也没问什么技术问题。这样的经历让我更加明确了写作对我来说是必须要做的事情,甚至是现在,在我写这些回忆录文章的时候,我的面试邀请明显增多了。所以,写作,特别是在这个时代,是非常重要的一项能力。当然,类似的还有短视频等等。总之,就是那些表达自己、体现能力的非常好的方式,都值得耕耘。

于是,毫无悬念,我入职了我现在这家公司,时间是12月6日,做测试开发,现在又做管理,管理算我在内5个人的小团队。

2021年,也是我成家后的第三年。11月15日,是我们当年在天津领结婚证的日子,一转眼就过去三年。那一天,我发了一条朋友圈,写道:“你是年少的喜欢 也是余生的甜蜜”。配的图是来自里尔克的《给青年诗人的信》的摘录:“我一向认为两个人相处,这是他们的最高职责:保护对方的孤独”。确实是这样,回首婚后的三年,正是有老婆照顾我的饮食起居,我才能心无旁骛地做我喜欢的事,她用实际行动保护了属于我的那份“孤独”,我真的很感谢她。也正是这个原因,我包揽了家里的几乎一切家务,还有每天遛狗。因为我也同样不希望这些琐事耗费她太多的时间,我也很想保护属于她的那份“孤独”。另外就是,因为我们本身是南北两地的结合,再加上婚礼在不同的国家、城市办了规模不同的三次,所以纪念日就显得特别多。我觉得自己还算是那种“会来事儿”的人,几乎是每到这些日子,我都会给她一些惊喜。

好了,毕竟是说事业的故事,家庭的事就回头再细聊吧。

也许是时间久了,感情深了。我家的小车服役了6年,在一次做保养的路上,电瓶做了它一生最后一件事:把车和我送到保养目的地。等我把钥匙交给修车师傅之后,车子就再也无法启动了。所以,2021年的劳模奖,毫无疑问地要颁给电瓶,它称职、可靠地完成了它的使命。

不知不觉,忙碌、充实的2021又要过去了。在这篇文章的最后,我再一次引用我在朋友圈中引用过的一段话,这段话我已经找不到出处了,但它确实激励着我不停下前进的脚步。我愿意分享这段话,与正在看这篇文章的你共勉:

“我和各位分享的第一个自我突破,是朝着自我真正热爱的那个方向,建立你的约束,自我管理不容易,那就和那些眼前的人、心上的人立约,这个丰盈的果实是属于自己的。我现在的心情就像农夫收完了一片庄稼,至于是不是“草盛豆苗稀”,我还不知道,但我觉得明年会比今年好些。我的时间宝贵,各位的时间也宝贵,从理智出发,没有道理不去努力做得更好些。”

相关文章:

我的十年编程路 2021年篇

慢慢地,时光走过了8个年头,来到2021年。 站在2021年,回望8年的过往,没有大的起伏和波澜。或许是上天的眷顾,我的事业发展一直都很顺利。当然,弯路也走过一些,而且工作其实挺辗转的,…...

ElasticSearch 8 学习笔记总结(七)

感觉这些东西没必要认真学,了解一下,工作用到再学。 文章目录一、ES8 EQL 介绍二、ES8 EQL基本操作 与 安全检测三、ES SQL操作四、ES SQL与DSL的关系五、ES 常用的SQL操作六、ES datagrip配置ES七、ES8 自然语言处理 NLP八、ES8 性能优化 之 缓存九、ES…...

【云原生】Docker 网络模式详解、容器间网络通信

当项目大规模使用 Docker 时,容器通信的问题也就产生了。要解决容器通信问题,必须先了解很多关于网络的知识。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,也有着很多不完善的地方,网络方面就是 Docker…...

Java开发 - 布隆过滤器初体验

目录 前言 布隆过滤器 什么是布隆过滤器 布隆过滤器的作用 布隆过滤器原理 怎么设计布隆过滤器 布隆过滤器使用案例 安装布隆过滤器 添加依赖 添加配置 添加工具类 添加测试代码 简单测试 特别提醒​​​​​​​ 结语 前言 前面三篇,已经把消息队列…...

【计算机组成原理 - 第一章】计算机系统概论(完结)

本章参考王道考研相关课程: 【2021版】1.2.1_计算机硬件的基本组成_哔哩哔哩_bilibili 【2021版】1.2.2_认识各个硬件部件_哔哩哔哩_bilibili 【2021版】1.2.3_计算机系统的层次结构_哔哩哔哩_bilibili 【2021版】1.3_计算机的性能指标_哔哩哔哩_bilibili 目录 一、…...

C++类与对象(下)【详析】

类与对象(下) 目录类与对象(下)一、再谈构造函数1.构造函数体赋值2.初始化列表定义:注意点:总结:3.explicit关键字引入:explicit:二、 static成员回顾:static…...

exe反编译为.py文件

介绍公司以前的一个exe包,我们需要查看里面python源码,但是以前的py源码文件找不到,所以只能反编译,介绍一下反编译的过程。首先准备:pyinstxtractor.py这个文件,网上很多,自己下载准备查看二进…...

38 openEuler搭建FTP服务器-FTP总体介绍

文章目录38 openEuler搭建FTP服务器-FTP总体介绍38.1 FTP简介38.2 FTP使用到的端口38.3 vsftpd简介38 openEuler搭建FTP服务器-FTP总体介绍 38.1 FTP简介 FTP(File Transfer Protocol)即文件传输协议,是互联网最早的传输协议之一&#xff0…...

三天吃透操作系统面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...

vue后台管理系统——添加i18n国际化功能——技能提升

昨天在写后台管理系统时,遇到一个需求就是需要实现国际化功能。 antd和element-ui这两个框架其实都是有国际化的。 具体展示形式就是如下: 点击右上角头部的语言,切换语言,然后整个系统的文字都改变成对应的语言展示。 切换成…...

理清gcc、g++、libc、glibc、libstdc++的关系

0 理清gcc、g++、libc、glibc、libstdc++的关系 0.1 $ dpkg -L libc6 $ dpkg -L libc6 /lib/x86_64-linux-gnu /lib/x86_64-linux-gnu/ld-2.31.so /lib/x86_64-linux-gnu/libBrokenLocale-2.31.so /lib/x86_64-linux-gnu/libSegFault.so /lib/x86_64-linux-gnu/libanl-2.31.s…...

一、快速入门 MongoDB 数据库

文章目录一、NoSQL 是什么1.1 NoSQL 简史1.2 NoSQL 的种类及其特性1.3 NoSQL 特点1.4 NoSQL 的优缺点1.5 NoSQL 与 SQL 数据库的比较二、MongoDB 基础知识2.1 MongoDB 是什么2.2 MongoDB 的体系结构2.3 MongoDB 的特点2.4 MongoDB 键特性2.5 MongoDB 的核心服务和工具2.6 Mongo…...

PMP第一章到第三章重要知识点

第1章引论 1.1指南概述和目的 PMBOK指南收录项目管理知识体系中被普遍认可为“良好实践”的那一部分: “普遍认可”:大多数时候适用于大多数项目,获得一致认可。 “良好实践”:能提高很多项目成功的可能性。 全球项目管理业界…...

【事务与锁】当Transactional遇上synchronized

事务与锁 - Transactional与Synchronize🥰前言问题回放问题一1、代码与结果复现2、原因分析3、解决方法问题二1、问题复现2、原因分析事务Transactional与锁synchronized1、synchronized与Transactional区别2、可能带来的问题3、针对问题二的解决前言 最近工作中遇…...

Pytorch模型转TensorRT步骤

Pytorch模型转TensorRT步骤 yolov5转TRT 流程 当前项目基于yolov5-6.0版本,如果使用其他版本代码请参考 https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5 获取转换项目: git clone https://github.com/wang-xinyu/tensorrtx.git git …...

产品经理入门——必备技能之【产品运营】

文章目录一、基础介绍1.1 用户生命周期 & 产品生命周期1.2 运营的目的1.3 运营的阶段1.4 运营的主要工作(海盗模型)二、AARRR模型2.1 Acquisition 拉新2.2 Activision 促活2.3 Retention 留存2.4 Revenue 转化2.5 Referral 传播总结产品运营技能是产…...

【Java实现文件上传】java后端+vue前端实现文件上传全过程详解(附源码)

【写在前面】其实这篇文章我早就想写了,只是一直被需求开发耽搁,这不晚上刚好下班后有点时间,记录一下。需求是excel表格的上传,这个是很多业务系统不可或缺的功能点,再此也希望您能够读完我这篇文章对文件上传不再困惑…...

什么是SSD?SSD简述

什么是SSD?SSD简述前言一. SSD组成二. SSD存储介质存储介质按材料不同可分为三大类:光学存储介质、半导体存储介质和磁性存储介质三. SSD接口形态固态硬盘有SATA 3.0接口、MSATA接口、M.2接口、PCI-E接口、U.2接口五种类型。三. SSD闪存颗粒分类闪存颗粒…...

MySQL基础------sql指令1.0(查询操作->select)

目录 前言: 单表查询 1.查询当前所在数据库 2.查询整个表数据 3.查询某字段 4.条件查询 5.单行处理函数(聚合函数) 6.查询时给字段取别名 7.模糊查询 8.查询结果去除重复项 9.排序(升序和降序) 10. 分组查询 1…...

Python数据分析处理报告--实训小案例

目录 1、实验一 1.1、题目总览 1.2、代码解析 2、实现二 2.1、题目总览 2.2、代码解析 3、实验三 3.1、题目总览 3.2、代码解析 4、实验四 3.1、题目总览 3.2、代码解析 哈喽~今天学习记录的是数据分析实训小案例。 就用这个案例来好好巩固一下 python 数据分析三…...

OpenCV入门(十二)快速学会OpenCV 11几何变换

OpenCV入门(十二)快速学会OpenCV 11几何变换1.图像平移2.图像旋转3.仿射变换4.图像缩放我们在处理图像时,往往会遇到需要对图像进行几何变换的问题。图像的几何变换是图像处理和图像分析的基础内容之一,不仅提供了产生某些图像的可…...

小菜鸟Python历险记:(第二集)

今天写的文章是记录我从零开始学习Python的全过程。Python基础语法学习:Python中的数值运算一共有7种,分别是加法()、减法(-)、除法(/)得到的结果是一个浮点数、乘法(*&a…...

ContentProvider程序之间数据的相互调用

1权限的获取和调用 权限分为普通权限和危险权限,除了日历信息,电话,通话记录,相机,通讯录,定位,麦克风,电话,传感器,界面识别(Activity-Recognit…...

金三银四最近一次面试,被阿里P8测开虐惨了...

都说金三银四涨薪季,我是着急忙慌的准备简历——5年软件测试经验,可独立测试大型产品项目,熟悉项目测试流程...薪资要求?5年测试经验起码能要个20K吧 我加班肝了一页半简历,投出去一周,面试电话倒是不少&a…...

算法题——给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串 的长度 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”&am…...

机器学习中的数学原理——F值与交叉验证

通过这篇博客,你将清晰的明白什么是F值、交叉验证。这个专栏名为白话机器学习中数学学习笔记,主要是用来分享一下我在 机器学习中的学习笔记及一些感悟,也希望对你的学习有帮助哦!感兴趣的小伙伴欢迎私信或者评论区留言&#xff0…...

vue.js介绍

个人名片: 😊作者简介:一名大一在校生,web前端开发专业 🤡 个人主页:python学不会123 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习…...

【设计模式】1、设计模式七大原则

目录一、单一职责二、接口隔离三、依赖倒置(倒转)四、里氏替换五、迪米特法则(Law of Demeter)六、开闭七、合成复用一、单一职责 类(或方法)功能的专一性。一个类(或方法)不应该承担…...

【前端老赵的CSS简明教程】10-1 CSS预处理器和使用方法

大家好,欢迎来到本期前端课程。我是前端老赵,今天的课程将讲解CSS预处理器的概念和使用方法,希望能够帮助大家更好地进行前端开发。 CSS预处理器是什么? CSS预处理器是一种将类似CSS的语言转换为CSS的工具。它们提供了许多额外的功能,如变量、嵌套、混入、函数等等。这些…...

BFC详解

1. 引言 在前端的布局手段中,一直有这么一个知识点,很多前端开发者都知道有它的存在,但是很多人也仅仅是知道它的存在而已,对它的作用也只是将将说得出来,可是却没办法说得非常的清晰。这个知识点,就是BFC…...

wordpress媒体保存目录/百度手机助手app下载并安装

一、最简单的枚举 public enum Season{ Spring,Summer,Fall,Winter}; 二、带构造器的枚举 如下:EOrderType就是枚举的构造函数 例如NormalOrder(0, “一般订单”) 第一个0对于构造函数的type,第二个参数对应构造函数的desc getOrderType 注意&…...

如何免费做网站详细点说/网站推广一般多少钱

链接: Eclipse如何设置自动提示?...

专业网站建设推荐/seo网站排名优化服务

对于搜索引擎, 在索引量和搜索量大到一定程度的时候, 索引更新的效率会逐渐降低, 服务器的压力逐渐升高, 因此基本上整个搜索引擎的利用率可以说是越来越低了, 并且随着海量数据存储带来的困难, 设计一个良好的分布式搜索引擎将是一个搜索引擎能否面相未来发展的关键因素了. 那…...

怎样做网站开发/网站搭建平台

开源前夕先给大家赞赏一下我用C语言开发的移动、手机、PC自己主动兼容云贴吧 - 涨知识属马超懒散,属虎太倔强.十二生肖全了!-转自云寻觅贴吧 转: 涨知识属马超懒散,属虎太倔强.十二生肖全了! -转自云寻觅贴吧 转自:http://tieba.yunxunmi.com/tieba-%25E9%25A9%25AC%25E8%25B6…...

做网站的成本在哪/必应搜索引擎怎么样

按照相关交通领域机构发布的数据显示,近年来,分心驾驶已经成为公路事故和死亡的主要原因。同时,随着高阶智能驾驶的陆续前装上车,驾驶员的监控(保证对前方道路的持续注意力)也成为安全风险的“重灾区”。 …...

中企动力科技股份有限公司销售/互联网优化

1. Class类的使用 1.1 class的获取有三种方式 F fnew F();//方法一 任何一个类都有一个隐含的静态成员变量classClass c1F.class;//方法二 已经知道该类的对象通过getClass方法Class c2f.getClass();System.out.println(c1c2); //true//方法三 Class.forName()方…...