在2019年,我毕业于福州理工学院,专业是电子信息工程。刚开始接触编程技术时,我对于对象、类、变量等概念一窍不通,对逻辑实现也感到困扰。我的专业涉及软硬件,包括模电数电、面向对象和嵌入式等方面的学习。一开始,我对电路不够感兴趣,对汇编硬件的学习也没有认真对待,因为我觉得困难度较大,尤其是对一个零基础的人来说。最终,我选择了学习Java面向对象编程。
我的第一份工作是在福州大学自动化科技部门。那里的技术相对简单,我认为任何具备一些编程知识的人都能胜任这份工作。然而,这份工作对我来说是一次宝贵的经验,因为它真正成为了我职业生涯的起点。随着时间的推移,通过实际操作、查阅资料和解决工作中的问题,我的技术水平明显提升。在熟悉工作一年半后,我开始感到迷茫。这里的技术显得过于基础,继续学习下去不符合我的期望。本应通过程序解决的问题,却在使用存储过程和触发器的方式来处理,让我感到有些脱节。
后来我加入了一家专注于开发SRM和CRM系统的公司。在这里,我接触到了Spring Boot和Spring Cloud微服务技术,了解了如何使用Nacos进行服务注册、如何引入依赖以实现微服务之间的相互调用,以及在各平台服务调用中使用RabbitMQ作为队列的方式。这里的技术水平并不算太难,主要涉及到表设计以及使用Redis同步锁来防止数据同步中出现不一致的问题。 在CRM和SRM领域,业务逻辑显然更加重要,我花费大部分时间在梳理业务逻辑上。我常常致力于了解权限架构,比如菜单、角色、用户权限,以及表的设计和与按钮权限相关的内容。刚开始,我觉得需求变动较大,需要不断修改代码,但这往往会导致各种问题的反复出现,特别是在修改他人的代码时更为明显。最让人头疼的是一些组件内的jQuery代码,各种约束实现方式导致代码混乱不堪,每个人都往里加一些东西,最终导致谁都看不懂,还有权限冲突不生效等问题,浪费了大量的时间。 如果要接手别人的代码,我认为最好的方式是将每个功能的代码拿出来重新优化一遍,而不是直接开始修改。这样做可以减轻后续优化的负担,尤其是当涉及到大量的权限和业务逻辑时。
最后,我加入了一家专注于区块链技术的公司。一开始,由于大家普遍认为区块链不稳定且存在风险,我对这个领域缺乏信心。关于这一点,我就不多说了,因为我没有资格去评判。然而,在这里工作让我每天都感到充实。团队成员都追求新技术,经常优化代码,不断磨练已有的代码。每当出现新的技术或项目时,大家都会迫不及待地去研究源代码,并参考实现,我非常喜欢这种氛围。 在这里,我接触的第一个项目是NFT(非同质化代币)项目。虽然我对NFT的价值尚不太清楚,但可能与其独特性和稀缺性有关,这使得它们被认为具有价值。此外,代币作为虚拟创作的货币,就像每个国家都可以发行自己的货币一样,而ERC20技术使得每个人都能够发行代币,其价值当然取决于发行者所创建的代币池。 通过了解Web3的发展、金融应用等方面,我也进行了一些币种的测试,熟悉了相关流程。其中比较有趣的是GameFi,其中NFT作为游戏的核心,代币作为不同用途的货币。NFT每天还可以产生收益代币,尽管我没有亲自参与,但我对这个概念有了一些了解。 接下来,当然就要了解去中心化交易所(DEX),最早接触到的是Uniswap,后来又出现了PancakeSwap。了解这些方面是至关重要的,包括链上的区块、交易等相关信息。