如何培养对技术的热爱
这篇博文主要针对计算机专业相关的同学,对于理工科专业的同学有一定的借鉴意义,对于其他专业的同学,还请自行取舍。
背景
初学计算机,可能并不是每个人都能对其产生兴趣,更不要说从其中获得快乐。对于如何培养兴趣,有可遵循的过程,这里不展开讨论,笔者也没有这方面的经验。如果需要获取系统地培养兴趣的知识,请移步心理学相关文章。这里主要是以一个技术爱好者的身份,简单谈论下个人对培养技术的热爱的一些关键品质,希望能对期望培养对技术热爱的同学有一些帮助。
方法论
这里介绍下笔者认为对培养技术热爱有一些帮助的方法论,仅供参考,不做理论上的证明。
保持好奇心
笔者认为好奇心是驱动一个人进步的源动力。在接触事物的时候,多问一下为什么,多探究下原理,对我们更好的解决问题是有帮助作用的,可能这些帮助并不是立即的。比如,需要基于数据库的增删改查实现一个业务功能,如果只是一个工具人,可能只会考虑功能实现。但是,如果带着好奇心去实现这个功能的话,首先可能考虑的并不是该怎么写代码,而是需求来源的背景。虽然了解需求背景对完成这个功能没有直接的作用,但是可以回答自己为什么要实现这个功能。这就如上战场大战,首先要做的是思想工作,只要思想统一了,才能凝聚人心,为获得战争的胜利起到促进作用。其次,了解需求背景,还为我们对功能实现提供可能的改进设计。并不是说领导设计的方案就是完成正确的方案。在软件领域,没有银弹,只要基于一定场景的取舍。如果对需求有了更深的了解,可能会给出更优的改进方案。
不断学习的意识和能力
作为技术人,要有终身学习的意识和能力。不止是软件技术,任何一门技术,只要有应用的场景,都会不断的演进。作为技术人,要对新技术持开放态度,能快速接受和掌握新技术。这里有个误区,是不是说来了新技术就要学习。其实不是这样的。技术发展百花争鸣,我们也不可能把所有的技术都要学会。按照鸿沟理论,我们应重点学习早期大众和后期大众,进入到这个阶段的技术,已经足够成熟,且有稳定的技术支持(说的直接点,就是别人已经帮你踩过坑了)。但是,我们也应关注创新者和早期采用者,因为这些技术很有可能会成为主流技术,掌握了主流技术,就相当于掌握了技术竞争力,这对产品的价值是由促进作用的。
比如,对AI技术来说,大模型已经进入早期采用者阶段,对于期望基于大模型构建产品竞争力的公司来说,投资大模型是一件有利的事情。
关注业内技术发展动向
持续关注业内技术发展动向,是明确自身技术竞争力的有效手段。如果知道自身技术所处的位置,就能更好的明确后续的技术发展方向。这一点对应鸿沟理论的创新者和早期采用者。
培养开源兴趣
对软件开发来说,推动软件发展的一个关键因素就是开源。开源对软件的价值这里不在赘述,这里重点说明下开源对培养技术兴趣的价值。开源可以看成是技术人的聚集地,在这里开发者可以寻求帮助、提供帮助、发布开源产品等,简单来说,开源可以让开发者获取志同道合的朋友、培养良好的沟通表达能力和团队协作能力。
善于归纳总结
学习技术,一个让人很头疼的事实是技术资料浩如烟海,让人有种力不从心的感觉。遇到这种情况,说明你对知识的掌握不够系统化,要学会善于归纳总结。对技术知识进行归档、总结、知识结构化、系统化、规范化。
最开始的时候,我们仅限于问题的了解,但是随着问题的深入,逐渐形成知识体系,知识结构化、知识规范化。
比如,编码阶段需要遵从编码规范,数据库设计阶段需要遵从数据库设计规范、接口设计需要遵从接口开发规范等等。此外,还有一些国际标准规范,如各种网络协议标准,软硬件规范等等。
注重实践
技术不会停留在纸上,还要落实到具体的行动。对于软件开发来说,学习了新技术后,接下来就是将该技术应用到具体的场景。实践是检验真理的唯一标准。只有那些经历过现网环境考验的技术才能算得上稳定的技术。
如果一种技术,其使用流程极其繁琐,那么对于这个技术的推广是不利的。比如CORBA技术,就因为过度复杂的使用步骤,使得其没有获得很好的推广,尽管该技术功能很强大。
注重交流与学习
对于技术学习来说,不应闭门造车。在软件开发领域,有个不成文的规定,尽量避免重复造轮子。如果已经有人实现了某个组件,如果该组件提供的能力,已经可以满足需求,且有广泛的使用基础,是没有必要重新写一个新的组件的。如果这个组件的能力不能满足自己的需求,且短时间内并没有新增相关功能的计划,那么这个时候才应考虑实现一个新的组件。
要充分考虑从零到一开发一个组件的难度,也要充分考虑基于现有实现实现一个类似功能的简易程度。
不断培养工程能力
如果说上面的几条建议都是为了让我们具备最佳实践的能力,那么对工程能力的培养,就是将上面的所有最佳实践变成可复制的流程。工程化能力让技术的复用程度达到最大化。
找到技术价值
这里之所以说到价值,还是因为需要一些崇高的东西来进一步凝聚人心。如果从理性的角度出发,人类的一切活动都没有价值。但是作为文明社会,人类的一切活动都有价值。就如一个公司会提出愿景,技术也有自身的价值。明确所参与的项目或研发的产品的技术价值,是让自己更好工作的基础。比如参与购物网站的开发,可以让人们获取更好的购物体验。参与制造汽车,可以帮忙人们更好的出行,等等。
总结
对技术热爱的培养,并非朝夕之事,需要不断的对技术进行投入,并相信技术可以更好的改变自己的生活、他人的生活。这里,笔者梳理出以下方法论帮忙期望培养技术热爱的同学,它们是:(1) 保持好奇心;(2) 不断学习的意识和能力;(3) 关注业内技术发展动向;(4) 培养开源兴趣;(5) 善于归纳总结;(6) 注重实践;(7) 注重交流与学习;(8) 不断培养工程能力;(9) 找到技术价值。最后通过一个脑图来收尾当前文章:

参考
https://zhuanlan.zhihu.com/p/604419303 如何提高对计算机专业的兴趣?
《人类简史》 尤瓦尔·赫拉利 著, 林俊宏 译
相关文章:
如何培养对技术的热爱
这篇博文主要针对计算机专业相关的同学,对于理工科专业的同学有一定的借鉴意义,对于其他专业的同学,还请自行取舍。 背景 初学计算机,可能并不是每个人都能对其产生兴趣,更不要说从其中获得快乐。对于如何培养兴趣&a…...
Vue响应式数据的原理
在 vue2 的响应式中,存在着添加属性、删除属性、以及通过下标修改数组,但页面不会自动更新的问题。而这些问题在 vue3 中都得以解决。 vue3 采用了 proxy 代理,用于拦截对象中任意属性的变化,包括:属性的读写、属性的…...
pytest fixture 用于teardown工作
fixture通过scope参数控制setup级别,setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作。这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。 举个例子: 输出: 说明&…...
39 printf 的输出到设备层的调试
前言 在前面 printf 的调试 我们只是调试到了 glibc 调用系统调用, 封装了参数 stdout, 带输出的字符缓冲, 以及待输出字符长度 然后内核这边 只是到了 write 的系统调用, 并未向下细看 我们这里 稍微向下 细追一下, 看看 到达设备层面 这里是怎么具体的 impl 的 测试用例…...
数字普惠金融、数字创新与经济增长—基于省级面板数据的实证考察(2011-2021年)
参照陈啸(2023)的做法,本对来自经济问题《数字普惠金融、数字创新与经济增长——基于省级面板数据的实证考察》一文中的基准回归部分进行复刻。数字普惠金融、数字创新已经成为驱动经济高质量发展的关键。利用省级面板数据,构建固…...
控制renderQueue解决NGUI与Unity3D物体渲染顺序问题
NGUI与Unity3D物体渲染顺序问题,做过UI的各位应该都遇到过。主要指的是UI与Unity制作的特效、3D人物等一同显示时的层次问题。 由于UI与特效等都是以transparent方式渲染,而Unity与NGUI在管理同是透明物体的render queue时实际上互相没有感知࿰…...
概率论与数理统计:第二、三章:一维~n维随机变量及其分布
文章目录 Ch2. 一维随机变量及其分布1.一维随机变量1.随机变量2.分布函数 F ( x ) F(x) F(x)(1)定义(2)分布函数的性质 (充要条件)(3)分布函数的应用——求概率3.最大最小值函数 2.一维离散型随机变量及其概率分布(分布律)3.一维连续型随机变量及其概率分布(概率密度)4.一般类型…...
BOLT- 识别和优化热门的基本块
在BOLT中,识别和优化热门的基本块之所以关键,是因为BOLT的主要目标是优化程序以更好地利用硬件特性,特别是指令缓存(ICache)。以下是BOLT如何识别和优化热门基本块的流程: 收集性能数据: BOLT开始的时候并不…...
Golang 中的 time 包详解(四):函数详解
在日常开发过程中,会频繁遇到对时间进行操作的场景,使用 Golang 中的 time 包可以很方便地实现对时间的相关操作。接下来的几篇文章会详细讲解 time 包,本文讲解一下 time 包中的函数。 func Now() Time 返回当前的系统时间。 package mai…...
【前端 | CSS】5种经典布局
页面布局是样式开发的第一步,也是 CSS 最重要的功能之一。 常用的页面布局,其实就那么几个。下面我会介绍5个经典布局,只要掌握了它们,就能应对绝大多数常规页面。 这几个布局都是自适应的,自动适配桌面设备和移动设备…...
腾讯云宣布VPC网络架构重磅升级,可毫秒级感知网络故障并实现自愈
8月11日,腾讯云宣布VPC(Virtual Private Cloud,云私有网络)架构重磅升级。新架构采用多项腾讯核心自研技术,能够支撑用户构建业界最大 300万节点超大规模单VPC网络,并将转发性能最大提升至业界领先的200Gbp…...
vue 路由页面跳转
从index.vue跳转到data.vue index.vue <el-table-column label"客户数" align"center" :show-overflow-tooltip"true"><template slot-scope"scope"><router-link :to"/system/enterprise-data/index/ scope.ro…...
Vue toRefs:在Vue中不失去响应式的情况下解构属性
Vue toRefs:在Vue中不失去响应式的情况下解构属性 文章目录 Vue toRefs:在Vue中不失去响应式的情况下解构属性什么是响应式?解构Props的挑战使用toRefs保持响应式结论 在Vue开发中,我们经常会在组件之间传递数据。这时候ÿ…...
自定义element-plus的弹框样式
项目中弹框使用频繁,需要统一样式风格,此组件可以自定义弹框的头部样式和内容 一、文件结构如下: 二、自定义myDialog组件 需求: 1.自定义弹框头部背景样式和文字 2.自定义弹框内容 3.基本业务流程框架 components/myDialog/index.vue完整代码: &…...
Linux:iptables防火墙
目录 绪论 1、防火墙 1.1 保护范围 1.2 网络协议划分 1.3 协议:tcp 1.4 四表 1.5 五链 1.6 iptables的规则 1.7 匹配顺序 流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返…...
MongoDB文档-进阶使用-spring-boot整合使用MongoDB---MongoTemplate完成增删改查
传送门: MongoDB文档--基本概念_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装(mongodb环境搭建)-docker安装(挂载数据卷)-以及详细版本对比_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装&…...
设计模式十四:责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理该请求。 在责任链模式中,多个处理者对象被连接成一个链。当接收到一个请求时…...
将商城项目放到docker-centos7中
1、docker pull centos:7 2、docker run -d -it --privileged 仓库名称/shopcentos:1.1 /usr/sbin/init 注意: /usr/sbin/init 必须加,否则没法使用systemctl启动mysql 3、安装mysql教程 安装msyql教程:https://blog.csdn.net/davice_li…...
C# Winform 自动获取 软件版本号
C# Winform如何自动获取版本号 方案一 缺点是不适配,clickones发布的版本 public static string GetVersion() {try {return System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();}catch{return System.Ref…...
基于C++实现了最小反馈弧集问题的三种近似算法(GreedyFAS、SortFAS、PageRankFAS)
该项目是一个基于链式前向星存图、boost(boost::hash、asio线程池)以及emhash7/8的非官方实现,实现了最小反馈弧集问题的三种近似算法。该问题是在有向图中找到最小的反馈弧集,其中反馈弧集是指一组弧,使得从这些反馈弧…...
iOS设备支持文件最佳实践:跨版本调试实战指南
iOS设备支持文件最佳实践:跨版本调试实战指南 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport iOS设备支持文件是企业级iOS应用开发中不可或缺的关键组件,…...
终极窗口控制指南:如何用WindowResizer轻松管理任意窗口尺寸
终极窗口控制指南:如何用WindowResizer轻松管理任意窗口尺寸 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些无法调整大小的Windows应用程序窗口而烦恼吗&am…...
终极网盘直链下载神器:八大平台一键获取真实下载地址的完整指南
终极网盘直链下载神器:八大平台一键获取真实下载地址的完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…...
TensorFlowTTS多GPU训练终极指南:如何在大规模数据集上高效训练TTS模型
TensorFlowTTS多GPU训练终极指南:如何在大规模数据集上高效训练TTS模型 【免费下载链接】TensorFlowTTS :stuck_out_tongue_closed_eyes: TensorFlowTTS: Real-Time State-of-the-art Speech Synthesis for Tensorflow 2 (supported including English, French, Kor…...
KNIME Server实战指南:如何像搭积木一样,为团队搭建一个自动化数据报告系统?
KNIME Server实战指南:像搭积木一样构建自动化数据报告系统 每天早晨9点,销售总监的邮箱准时收到昨日业绩报告;每周一上午,运营团队在晨会上讨论的看板数据已自动更新;每月5号,财务部门需要的跨系统结算报表…...
如何快速使用RPGMakerDecrypter:解密RPG Maker加密资源的完整指南
如何快速使用RPGMakerDecrypter:解密RPG Maker加密资源的完整指南 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_m…...
告别libpng!用这个轻量级C库lodepng,5分钟搞定PNG图片解码(附完整代码)
轻量级PNG解码实战:5分钟用lodepng替代libpng的完整指南 在嵌入式开发和资源受限环境中,处理PNG图像一直是个令人头疼的问题。传统方案如libpng虽然功能强大,但动辄几百KB的库体积和复杂的API让许多开发者望而却步。我曾在一个物联网门禁项目…...
番茄小说下载器:5分钟打造个人离线图书馆的终极指南
番茄小说下载器:5分钟打造个人离线图书馆的终极指南 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾在通勤地铁上、旅行途中或网络信号不佳的地方…...
别再信口说“能防破解”!APK安全加固效果实测与攻防案例
我在做技术分享时,经常有人问:“市面上这么多加固服务商,都说自己防破解,到底谁说的是真的?” 说实话,光听销售吹牛没用,得看他能不能拿出可验证的攻防案例。安全加固本质上是一场攻防博弈。判断…...
DownKyi:B站视频下载的智能化解决方案
DownKyi:B站视频下载的智能化解决方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 项目…...
