程序员的五大方法论

前言:

最近看了一篇总结程序员学习,晋升方法的文章,颇有感想,决定分享给大家,原文地址:给程序员的5条学习方法论 (qq.com)icon-default.png?t=N7T8https://mp.weixin.qq.com/s/xVFlF9qTf9c74Emmdm0DqA

在繁忙的工作中,持之以恒、不断学习和进步是一项艰巨的任务,需要坚强的毅力和坚定的决心。如果方法得当,更是事倍功半。

1. 贵在坚持

在过去的几十年中,人类积累的知识量已经超过了之前几千年的总和。尤其在计算机科学领域,知识更新的速度是极快的,这使得工程师面对一个不可避免的现实:即使是深厚的知识体系也可能迅速过时。为了在计算机科学领域继续成为一名杰出的架构师,不断的学习和掌握最新技术成为了必经之路。换句话说,学习永远不应该停止。

学习应该永不停止

成为一名优秀的架构师的道路既长且艰,轻易放弃就意味着之前所有的努力都将白费。坚持不懈是成为优秀架构师的关键。虽然知识更新速度很快,但基础理论的变化却相对缓慢。这就好比是“道”与“象”的关系,尽管世间万象不断变化,但“道”的本质却始终如一。对于那些基础的理论知识,我们需要不断地复习和巩固。

用另一种方式表达这个观点,就是:在计算机科学领域,追求卓越的架构师必须接受知识不断更新的现实,并且持续学习以保持领先。然而,即便技术日新月异,那些构成知识根基的基本原理却变化缓慢,类似于恒久不变的“道”。因此,定期复习这些基础理论对于保持专业竞争力至关重要。简言之,永远不要停止学习。

2. 重视实践

学习领域的721模型提供了一个关于个人成长来源的观点,其中70%来自岗位实践,20%来自向他人学习,10%来自于培训。虽然这个理论有其争议性,但对于工程师而言,这种按实践、学习、培训顺序排序的重要性是有一定道理的。这表明,实践中的学习是最为关键的成长方式

人类的认知可以分为两种:感性认知理性认知。感性认知更多地依赖于直接体验和实践,而理性认知则依赖于逻辑和理论。在实践中学习主要涉及感性认知,通过直接参与和体验来获取知识和技能,这种方式可以让知识更加深刻和持久。相比之下,阅读书籍和理论学习更多依赖于理性认知,它们提供了知识的框架和理论基础,但可能缺乏具体应用的深度和细节。

书本知识往往传授抽象的概念和原理,而具体的应用场景和抽象概念之间的复杂关系则可能被忽略或仅仅是简要触及。因此,强调实践并充分利用感性认知的潜能,在实际项目中锻炼和提升自己,是一种更为有效的学习方法。通过在实践中刻意练习某些关键技能,可以更快地掌握这些技能并应用它们解决实际问题。

3. 重视交流

向老师和领导学习已经是人们生活习惯的一部分了。但是从同事甚至对手那里学习也很重要,因为这些人和我们自身更相似。所以要多多观察,取其所长,弃其所短。对于团队的小兄弟和下属,也要“不耻下问”。此外,在项目中积极参与具体方案讨论也非常重要。参与者先感知了相关背景,并且讨论的观点和建议也是综合了发言者多种知识和技能。所以,讨论让参与者能够非常全面、立体地理解书本知识。同时,和高手讨论,他们的观点就会像修剪机剪树枝一样,快速剪掉自己知识领域里面的疑惑点。

4. 重视总结和输出

工程师通过实践能够掌握大量的细节,但仅仅积累细节知识而不进行深入的思考和总结,就容易陷入“学而不思则罔”的状态。真正的成长不仅在于对技术细节的深刻理解(即“量变”),更重要的是通过对这些细节背后原理的深入思考,实现对技术哲理或基本原理(即“道”)的深层次理解,这才能促成质的飞跃(“质变”)。

5. 重视规划

长期规划

长期规划的核心在于“定方向”,遵循以下几个原则可以帮助减少犯方向性错误的概率:

  1. 远离日暮西山的行业:选择一个有前景、能持续发展的行业对未来的职业生涯至关重要。
  2. 做自己感兴趣的事情:热情和兴趣是驱动长期学习和工作的重要动力。
  3. 做有积累的事情:选择能够在既有基础上不断深化和积累的领域,可以更高效地构建个人优势。
  4. 一边走一边看:保持灵活性,对新的机会保持开放的态度,避免固步自封。
短期规划

短期规划则应该在生活、成长、绩效和晋升之间取得平衡,具体的步骤包括:

  1. 确定目标优先级:明确哪些目标是最重要的,哪些可以稍后考虑。
  2. 确定每个目标的下限:为每个目标设定一个最低标准,确保即使在最不利的情况下也能达成。
  3. 优先为下限目标分配足够的资源:确保最基本的目标可以被满足。
  4. 按照各主目标的顺序依次分配资源:在保证基本目标达成的前提下,为更高的目标分配可用资源。

对于学习目标,建议在给定的学习预算下制定激进但实际可行的目标,并给出具体的执行方案。这包括对规划中的各学习任务按目标优先级进行排序,并优先启动优先级最高的任务。

值得注意的是,最低目标应该设置得相对容易达到,以避免出现从优化理论角度来讲的无解情况。同时,主要目标的规划应当具有一定的挑战性,甚至可以规划一些看似不可能完成的目标,以推动自己不断前进。

最后,要记得前途必定光明,道路必定坎坷。在实际的规划过程中,不同目标之间不一定共享资源,规划之间也不一定存在冲突。在这个过程中,重要的是保持目标的价值最大化,同时保持足够的灵活性,以应对不可预见的变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/589191.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何在postman上提交文件格式的数据

如何在postman上提交文件格式的数据 今天在写一个文件上传的功能接口时,想用postman进行提交,花了些时间才找到在postman提交文件格式的数据。记录一下吧! 1.打开postman,选择POST提交方式,然后在Params那一行的Head…

代码随想录算法训练营DAY45|C++动态规划Part7|70.爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数

文章目录 70.爬楼梯(进阶版)322. 零钱兑换思路CPP代码 279.完全平方数思路CPP代码 70.爬楼梯(进阶版) 卡码网:57. 爬楼梯 文章讲解:70.爬楼梯(进阶版) 322. 零钱兑换 力扣题目链接 文章讲解:322…

安装英伟达nvidia p4计算卡驱动@FreeBSD14

FreeBSD也能跑cuda AI训练拉! 在FreeBSD安装好pytorch和飞桨cpu版本后,尝试安装英伟达nvidia p4计算卡驱动。毕竟全靠cpu速度太慢了,还是GPU快啊!在磕磕绊绊几天后,终于成功成功安装好nvidia p4的cuda驱动&#xff0c…

从零开始:Django项目的创建与配置指南

title: 从零开始:Django项目的创建与配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 后端开发 tags: DjangoWebDevPythonORMSecurityDeploymentOptimization Django简介: Django是一个开源的高级Python Web框架&#xff…

The Role of Subgroup Separability in Group-Fair Medical Image Classification

文章目录 The Role of Subgroup Separability in Group-Fair Medical Image Classification摘要方法实验结果 The Role of Subgroup Separability in Group-Fair Medical Image Classification 摘要 研究人员调查了深度分类器在性能上的差异。他们发现,分类器将个…

PHP源码_最新在线工具箱网站系统源码

项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…

【网络原理】HTTP 协议的基本格式和 fiddler 抓包工具的用法

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序(万字博文) 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制(CRC算法、MD5算法) 【网络…

下载安装 VisualVM

1、下载安装 VisualVM 第1步:下载地址:https://visualvm.github.io/ 第2步:解压到制定位置 第3步:指定jdk路径 下载完成后,在etc文件夹下找到visualvm.conf文件,设置jdk路径visualvm_jdkhome"D:\ITS…

ICode国际青少年编程竞赛- Python-1级训练场-路线规划

ICode国际青少年编程竞赛- Python-1级训练场-路线规划 1、 Dev.step(3) Dev.turnLeft() Dev.step(4)2、 Dev.step(3) Dev.turnLeft() Dev.step(3) Dev.step(-6)3、 Dev.step(-2) Dev.step(4) Dev.turnLeft() Dev.step(3)4、 Dev.step(2) Spaceship.step(2) Dev.step(3)5、…

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性)

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性) 1. ElasticSearch安装(略)2. ElasticSearch基础功能2.1 索引操作2.1.1 创建索引2.1.2 Head 索引2.1.3 查询索引2.1.3.1 查询单独索引2.1.3.2 查询…

【MATLAB】GUI初步设计

MATLAB界面设计 前言一、基本步骤1.1 创建GUI文件1.2 界面设计 总结 前言 为了完成图像处理的作业,简直就是生活不易啊 找到一个很棒的教学视频 基于MATLAB的GUI界面设计流程讲解 一、基本步骤 1.1 创建GUI文件 由于在写博文之前我已经创建好文件了,…

邊緣智能2024—AI開發者峰會(5月9日)數碼港即將啟幕

隨著 AI (人工智能)技術的飛速發展,我們正迎來邊緣計算智能化與分布式AI深度融合的新時代,共同演繹分布式智能創新應用的壯麗篇章。"邊緣智能2024 - AI開發者峰會"將聚焦於這一前沿領域,探討如何通過邊緣計算…

中国发布首个汽车大模型标准

🦉 AI新闻 🚀 中国发布首个汽车大模型标准 摘要:中国信息通信研究院于4月28日发布了国内首个汽车大模型标准,标志着汽车行业正式迈向“人工智能+”时代。该标准包含三个核心能力域:场景丰富度、能力支持度…

Pytorch学习笔记——环境配置安装

1、下载和配置环境 Anacodna必备(工具包里面都包含的有,集成与运用科学分析的软件,比较方便) 点击这个网页:Download Now | Anacondahttps://www.anaconda.com/download/success 按照教程安装(教程可以自己在网上搜…

XY_RE复现(五)

一&#xff0c;给阿姨倒一杯卡布奇诺 是一道魔改TEA加密 给出了一些初始化&#xff0c;然后输入的flag拆分&#xff0c;两两一组&#xff0c;通过for循环放入encrypt加密函数 #include <stdio.h> #define uint32_t unsigned intvoid decrypt(uint32_t *v, uint32_t *ke…

拆单算法交易(Algorithmic Trading)

TWAP TWAP交易时间加权平均价格Time Weighted Average Price 模型&#xff0c;是把一个母单的数量平均地分配到一个交易时段上。该模型将交易时间进行均匀分割&#xff0c;并在每个分割节点上将拆分的订单进行提交。例如&#xff0c;可以将某个交易日的交易时间平均分为N 段&am…

守护数据安全: 零信任视角下的勒索病毒防范之道

前言 就在近日&#xff0c;鸿海集团旗下半导体设备大厂——京鼎精密科技股份有限公司&#xff08;以下简称“京鼎”&#xff09;遭到了黑客的入侵。黑客在京鼎官网公布信息直接威胁京鼎客户与员工&#xff0c;如果京鼎不支付赎金&#xff0c;客户资料将会被公开&#xff0c;员…

pyqt 滑动条控件QSlider

pyqt 滑动条控件QSlider 滑动条控件QSlider效果代码 滑动条控件QSlider QSlider 是 PyQt中的一个控件&#xff0c;它允许用户通过拖动滑块或点击滑块轨道上的任意位置来选择一系列值。 QSlider 有两种主要的类型&#xff1a;Qt.Horizontal&#xff08;水平滑块&#xff09;和 …

java版数据结构:深入理解栈和队列:数据结构与应用(vector,stack,queue)

目录 前言 动态数组类&#xff08;vector&#xff09; 特点&#xff1a; 应用&#xff1a; 栈&#xff08;Stack&#xff09; 栈的基础概念&#xff1a; 栈的常用方法&#xff1a; 模拟栈操作&#xff1a; 队列&#xff08;Queue&#xff09; 队列的基础概念 队列的常…

VS Code工具将json数据格式化

诉求&#xff1a;json数据格式化应该在工作中用到的地方特别多&#xff0c;为了更方便、更仔细的对json数据查看&#xff0c;将json数据格式化是非常有必要的。 VS Code中如何将json数据快速格式化 1、在VS Code中安装Beautify JSON插件 2、安装完后在需要格式化的文件中按住…