如何成为前1%的程序员

如果你想成为前1%的程序员,你必须遵循1%的程序员做什么,了解其他99%的人不做什么。在现代,我们有各种学习平台,里面充满了与编程相关的视频、图文以及其他资料。

举例来说,我作为编程的初学者,去寻找路线图和指导。超过数百个视频弹出了截然不同的想法和信息,有时甚至是相互对立的。然后,我继续信任拥有最多浏览量和订阅者的那个UP主。结果,这个具有相当数量观看次数的特定视频成为观看次数最多的视频,显然,如果其他人也搜索编程路线图,该视频将出现在所有视频列表的顶部。

结果就是,我们都遵循一个特定的路线图和指导,我最终成为一个普通的程序员,与其他程序员没有区别——99% 的程序员之一——他们的简历总是千篇一律,因为有相当多的程序员具有相同的背景。

作为程序员,我们收到的一个常见建议是观看视频教程,参加在线课程,并在此基础上添加 LeetCode,以获得我们梦想的工作。这正是 99% 的程序员所做的事情。

当然这并不意味着那些遵循此建议的人最终会成为失败者,我也不是在完全否定观看视频教程、参加在线课程和做LeetCode的作用。但相反,通过遵循这些建议,你只会成为一个普通的程序员,无论多么努力,你仍然是一个普通的程序员。

大量同质化的知识,会降低这些知识的含金量。

要想从99%的程序员中解脱出来,你需要与众不同,这需要一种与其他程序员完全不同的思维方式。当你发现1%的程序员在做什么时,你就会知道差异在哪里。让我们深入研究只有1%的程序员在做的四件事......

1、拥抱调试

大多数人认为程序员把大部分时间都花在写代码上,但实际上,他们花了 80% 到 90% 的时间阅读代码而不是编写代码。   

对于程序员来说,这是编程中最压倒性的部分之一,他们中的大多数人都放弃了这部分。但秘诀在于,调试代码是编程中唯一可以帮助你编程并将自己变成程序员的部分。

艺术家:Eric Burke

艺术家:Eric Burke

在你有能力调试和解决代码中的问题之前,你并不被称为程序员。

2、质量胜于数量

当我刚接触编程时,我认为一个伟大的程序员是他们的GitHub个人资料中拥有最多项目的人。

我的目标是在YouTube上观看最长的视频教程,并构建尽可能多的项目以领先于其他开发人员,但后来,我意识到前1%的人优先考虑质量而不是数量。

他们不会浪费宝贵的时间来构建大量项目,而是通过应用他们的全部技能和知识来构建并专注于一个具有非凡功能的重要项目。

事实往往是:简历上只有一个大项目的人会比简历上有一堆基本项目的人更出色。

3、读取代码

我记得我最初还是一个新手程序员的日子。我以为程序员天生就是写代码和构建令人敬畏的东西的。

我希望在我刚接触编程的最初几天就知道这一点——当你阅读有经验的程序员编写的代码时,你就会成为一名专业的程序员。

每一天,都要花一些时间阅读GitHub上的代码,而不是编写代码。这个原则也可以应用于我们默认的阅读书籍以获得想法然后开始写作的方式。

在读书之前,你不能成为作家。就像安妮·普鲁克斯所说:写作来源于阅读,而阅读是写作的最好老师。

如果你是初学者,一开始可能会造成一些混乱,但当你开始遵循这一点时,通过阅读其他专业程序员编写的代码,你会发现你编码的方式非常糟糕。

4、贡献

在你为别人的项目做出贡献之前,你不会被认为是前1%的人之一。

作为一名非凡的程序员,你需要获得与他人合作、协作的经验。找到一个团队是很有挑战性的,但幸运的是,在编程方面,你可以在任何你想要的开源项目上做出贡献。   

“没有开源项目可以贡献”,作为程序员,你可能会回答。

GitHub上有数十亿个开源项目,他们的所有者热烈欢迎对他们的项目做出任何类型的贡献。

如果你真的想领先于99%的程序员,那就抬起头来探索GitHub,而不是盲目地浏览社交媒体,希望在那里找到有用的东西。要记住:你的时间很重要。如何分配时间就是99%与1%差异的起点。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA2023找不到add framework support怎么解决

问题: 我的idea版本是2023.01,新版idea右键项目没有Add Framework Support,help里面也找不到相关的。 从project structue的facets里面添加就行了,都是一样的。 1.依旧是新建一个项目 2.file-->project structure--->facets 左上角加…

Android studio如何安装ai辅助工具

引言 在没有翻墙的情况下,即单纯在公司打工,经测试,大部分ai工具都是使用不了的(比如各种gpt,codeium,copilot),根本登录不了账号,但有一个国内的codegeex是可以使用的,在这里不对各…

Android app性能优化指南

Android应用性能优化指南 提高应用程序的性能以实现更流畅的用户体验和更高的可见度。 性能在任何应用程序的成功中发挥着重要的作用。为用户提供流畅无缝的体验应该是开发人员的重点。 应用程序大小 在用户开始使用我们的应用程序之前,他们需要下载应用程序并将…

DTCC2023大会-DBdoctor-基于eBPF观测数据库-附所有PPT下载链接

DTCC2023大会-DBdoctor-基于eBPF观测数据库-附所有PPT下载链接 8月16日—18日,第14届中国数据库技术大会(DTCC-2023)在北京国际会议中心举行。聚好看在大会上首次发布基于eBPF观测数据库性能的产品DBdoctor,受到了业界广泛的关注。近期几位业内同仁过来要大会的PPT…

2024考研数学二备考历程

GoodNotesGoodNotes apphttps://share.goodnotes.com/s/bhsraJMZ6OJwuYJb3OWnzP

C/C++之输入输出

文章目录 一.C语言的输入输出1.printfi. 输出整数ii. 浮点数iii.字符 & 字符串 2.scanfi.整数ii.浮点数iii. 字符 & 字符串 3.特殊用法i. * 的应用ii. %n 的应用iii. %[] 的应用 二.C中的输入输出1.couti. 缓冲区(buffer)ii. cout之格式化输出 2…

Proteus仿真--串口发送数据到2片8×8点阵屏滚动显示

本文介绍2片88点阵屏滚动显示设计(完整仿真源文件及代码见文末链接) 仿真图如下 仿真运行视频 Proteus仿真--1602LCD显示电话拨号键盘按键实验(仿真文件程序) 附完整Proteus仿真资料代码资料 链接:https://pan.baidu…

使用C语言操作kafka ---- librdkafka

1 安装librdkafka git clone https://github.com/edenhill/librdkafka.git cd librdkafka git checkout v1.7.0 ./configure make sudo make install sudo ldconfig 在librdkafka的examples目录下会有示例程序。比如consumer的启动需要下列参数 ./consumer <broker> &…

一对一聊天程序

package untitled1.src;import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.*;public class MyServer extends JFrame{private ServerSocket server; // 服务器套接字pri…

【漏洞复现】华脉智联指挥调度平台/xml_edit/fileread.php文件读取漏洞

Nx01 产品简介 深圳市华脉智联科技有限公司&#xff0c;融合通信系统将公网集群系统、专网宽带集群系统、不同制式、不同频段的短波/超短波对讲、模拟/数字集群系统、办公电话系统、广播系统、集群单兵视频、视频监控系统、视频会议系统等融为一体&#xff0c;集成了专业的有线…

第一课【习题】HarmonyOS应用/元服务上架

元服务发布的国家与地区仅限于“中国大陆” 编译打包的软件包存放在项目目录build > outputs > default下 创建应用时&#xff0c;应用包名需要和app.json5或者config.json文件中哪个字段保持一致&#xff1f; 发布应用时需要创建证书&#xff0c;证书类型选择什么…

web前端实现LED功能、液晶显示时间、数字

MENU 效果演示html部分JavaScript部分css部分 效果演示 html部分 <div id"app"><!-- 页面 --><div class"time-box"><!-- 时 --><div class"house-box"><bit-component :num"houseTem"></bit…

使用cmake构建Qt6.6的qt quick项目,添加应用程序图标的方法

最近&#xff0c;在学习qt的过程中&#xff0c;遇到了一个难题&#xff0c;不知道如何给应用程序添加图标&#xff0c;按照网上的方法也没有成功&#xff0c;后来终于自己摸索出了一个方法。 1、准备一张图片作为图标&#xff0c;保存到工程目录下面&#xff0c;如logo.ico。 …

mybatis的快速入门以及spring boot整合mybatis(二)

需要用到的SQL脚本&#xff1a; CREATE TABLE dept (id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT ID, 主键,name varchar(10) NOT NULL UNIQUE COMMENT 部门名称,create_time datetime DEFAULT NULL COMMENT 创建时间,update_time datetime DEFAULT NULL COMMENT 修改…

低多边形建筑3D模型纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

树莓派CSI摄像头在新系统(23年12月)中的不用设置了,没有开关,也没有raspistill

网上都是老信息&#xff0c;用的raspistill命令&#xff0c;至少新系统没有这个东西了&#xff0c;也不会在sudo raspi-config里面也没有摄像头的开关了。 ls /dev/video* 能看到摄像头video0&#xff0c;但是vcgencmd get_camera supported0&#xff0c; detected0&#xff0…

CPU的三大调度

计算机系统中的调度可以分为不同层次&#xff0c;包括作业调度、内存调度和进程调度。这三种调度分别负责管理和优化计算机系统中不同层次的资源分配和执行顺序。 高级调度&#xff1a;作业调度&#xff08;Job Scheduling&#xff09;&#xff1a; 作业调度是指对提交到计算…

了解c++11中的新增

一&#xff0c;统一的初始化列表 在引入c11后&#xff0c;我们得出计划都可以用初始化列表进行初始化。 C11 扩大了用大括号括起的列表 ( 初始化列表 ) 的使用范围&#xff0c;使其可用于所有的内置类型和用户自 定义的类型&#xff0c; 使用初始化列表时&#xff0c;可添加等…

Vue学习计划-Vue2--VueCLi(二)vuecli脚手架创建的项目内部主要文件分析

1. 文件分析 1. 补充&#xff1a; 什么叫单文件组件&#xff1f; 一个文件中只有一个组件 vue-cli创建的项目中&#xff0c;.vue的文件都是单文件组件&#xff0c;例如App.vue 2. 进入分析 1. package.json: 项目依赖配置文件&#xff1a; 如图&#xff0c;我们说主要的属性…

性能测试经典面试题(带答案)!

概述一下性能测试流程&#xff1f; 1.分析性能需求。挑选用户使用最频繁的场景来测试。确定性能指标&#xff0c;比如&#xff1a;事务通过率 为100%&#xff0c;TOP99%是5秒&#xff0c;最大并发用户为1000人&#xff0c;CPU和内存的使用率在70%以下2.制定性能测试计划&…