程序员从优秀到卓越的几点建议

和其他技术一样,编程也有层次阶段之分——业余爱好者、普通级别和专家级别。关于这个问题我问过很多很多次—— 如何从优秀到卓越?这是一个程序员应该扪心自问的最重要的问题。至少,在他们职业生涯的某些时候。

为了给出一个令人满意的答案,让我们先来讨论一下何为“专家”。特别是在软件工程中。

  • 专家能为疑难问题想出明显又简单的解决方案。
  • 当答案并不显而易见的时候,他们知道去哪里找答案以及如何找答案。
  • 他们能够更深层次地理解事物。因为理解透彻,所以他们能解释每个底层的抽象层面。虽然说没有必要了解太多的层面,但理解得越透彻,总是越好。
  • 他们的解决方案是具体的,易于维护和重新应用。
  • 他们能够来分辨出那些并不是很好的解决方案哪里出了问题,通过事实而不是个人观点来支持论点。
  • 他们的代码常常具有巧妙的表达力。

可能我列出的只是一部分内容,但是你可以发现成为专家并不是痴人说梦。只要你肯努力肯不懈地投入于写代码,你最终也可能成为你现在心中仰望的“专家”。

也许你会说要是一次又一次地练习之后依然不能让你更擅长呢?有没有可能不断练习却还是个菜鸟?

是的。

当你产生了怀疑不愿意这么“循规蹈矩”地走下去的时候,当你停止寻找更好的解决方案的时候,当你意识不到还有更好的解决方案的时候,当你很容易妥协的时候,当你缺乏应该了解的知识的时候,你就自己断绝了成长的道路。

现在还没有一个固定的框架可以让你从优秀直接奔到卓越。我能给出的只是一些建议和方向,一些能帮助大家成长和进步的途径。

  • 每天编码。发布一些可以工作的东西。
  • 不要孤单地写代码。独木难成林。互联网和网上的人都可以成为你的朋友。尤其是,当你在一家满是“哑巴”的“哑巴”公司工作的时候。
  • 阅读。阅读可以改变人的思维广度。所以多多阅读是好事。但如果你连续阅读几天,却对你读过的内容不做任何有成效/有意义的事情——那么停止这种无效的阅读方式。
  • 有互联网和网上那些真材实料的人就足够了。如果你碰巧发现自己居住的附近有人能给你提供帮助,是堪当导师的,那就更好了。当然,互联网最适合性格内向的人。

记住这些看上去幼稚却又非常重要的提高自己的方式。和所有其他忠告一样,说比做容易。我自己也正在努力中。如果关于如何从优秀到卓越,你有什么要补充的内容,欢迎留言。

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

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

相关文章

ros(7)自定义service数据

创建Persom.srv 新建srv文件夹 在srv文件夹中创建Persom.srv,编辑文件 string name uint8 age uint8 sexuint8 unknown 0 uint8 male 1 uint8 female 2--- string result 修改package,xml add_service_files(FILESPerson.srv )generate_messages(DEPE…

Hive表 Parquet压缩 , Gzip,Snappy,uncompressed 效果对比

创建两张表,通过一种是parquet , 一种使用parquet snappy压缩 创建表 使用snappy CREATE EXTERNAL TABLE IF NOT EXISTS tableName(xxx string) partitioned by (pt_xvc string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \001 STORED AS PARQUET TB…

html中怎么自动获得搜索文本框的光标焦点

<!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <title>hello</title> </head> <body> <form action"demo_form.php"method"get"> <!--一个页面只能指定一个autofo…

ubuntu16.04 + kinetic +turtlebot2配置

安装ros-kinetic请参考ubuntu 16.0安装ros-kinetic 配置turtlebot2 1.更新 sudo apt-get update2.安装turtlebot相应的源 sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-kobuki-ftdi ros-kineti…

Impala UDF - Impala调用Hive UDF函数

Impala 中运行 Hive UDF 场景&#xff1a;部分查询需要快速返回&#xff0c;使用Impala进行快速、复杂的查询 1.简单的UDF函数过滤&#xff0c;判断是否包含“好”字&#xff0c;返回boolean类型 import org.apache.hadoop.hive.ql.exec.UDF;/*** ClassName: UdfTest* Descri…

想要成为真正优秀的程序员是不是真的很难?

很多人认为要想成为一名优秀的程序员&#xff0c;那就需要一天24小时每天不断地编程——睁开眼睛要编程&#xff0c;闭上眼睛睡觉的时候还要梦到编程——我认为这是一种矫枉过正的方法。沿着这条路走&#xff0c;只会让你精疲力尽&#xff0c;犹如夸父逐日一般&#xff0c;死在…

Impala查询 - HDFS缓存数据

HDFS缓存数据命令 查看缓存池信息 hdfs cacheadmin -listPools -stats 查看已缓存的数据信息 hdfs cacheadmin -listDirectives -stats Impala表卸载缓存数据 alter table dw_crawler.bsl_zhongda_weibo_article_hive set uncached; 创建缓存池 hdfs cacheadmin -addPool a…

Turtlebot入门-配置网络

配置网络 在工作站和Turtlebot都要同步时钟 输入如下命令&#xff1a; sudo apt-get install chrony ntpdate sudo ntpdate ntp.ubuntu.com 2.获取Turtlebot和工作站的IP地址&#xff0c;在终端执行&#xff1a; ifconfig sudo service ssh status 如果显示ssh: unrecogn…

RTTI-运行时类型识别

RTTI 编辑RTTI&#xff08;Run-Time Type Information)&#xff0c;通过运行时类型信息程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。中文名RTTI外文名Run-Time Type Information属 于程序函 数typeid目录 1 RTTI介绍 ▪ typeid函数 ▪ …

html怎样实现数据列表的下拉效果

目前支持浏览器&#xff1a;火狐、欧朋。。 谷歌不支持 <!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <title>hello</title> </head> <body> <form action"testform.php"method&q…

Java 调用 Impala - JDBC 调用Impala

java通过JDBC 调用Impala服务 Maven项目中 pom.xml引用<dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.7.1</version></dependency><dependency><groupId>…

Linux 、shell 时间函数 - 获取七天前所在周

[rootiZj6c3ral1ugubn9usrsi8Z ~]# echo $(date -d -7day %Y%W) 201912

动态创建二维数组

int **p; p new int*[10]; //注意&#xff0c;int*[10]表示一个有10个元素的指针数组 for (int i 0; i ! 10; i) { p[i] new int[5]; } 这里是将p作为一个指向指针的指针&#xff0c;它指向一个包含10个元素的指针数组&#xff0c;并且每个元素指向一个有5个元素的数…

html上传文件

<!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <title>hello</title> </head> <body> <form action"testform.php"method"get"> 请选择上传的多个文件&#xff1a;&l…

相机参数关系

焦距 f 35mm 最高分辨率&#xff1a;42562832 传感器尺寸&#xff1a;36.023.9 mm 根据以上定义可以有&#xff1a;u0 4256/2 2128 v0 2832/2 1416 dx 36.0/4256 dy 23.9/2832 fx f/dx 4137.8 fy f/dy 4147.3

Kafka 不停机修改某一个topic数据保存时间

查看topic信息 ./kafka-topics.sh --describe --zookeeper zk:2181 --topic topicName25/03/08 16:05:29 INFO zkclient.ZkClient: zookeeper state changed (SyncConnected) Topic:topicName PartitionCount:3 ReplicationFactor:3 Configs:Topic: topicName …

html中怎样实现在输入框中出现提示

<!DOCTYPE html> <html> <head> <meta charset"utf-8" /> <title>hello</title> </head> <body> <form action"testform.php"method"get"> 请输入网址&#xff1a;<input ty…

相机畸变模型

畸变参数&#xff08;与点集如何畸变的2D几何相关。&#xff09; 采用理想针孔模型&#xff0c;由于通过针孔的光线少&#xff0c;摄像机曝光太慢&#xff0c;在实际使用中均采用透镜&#xff0c;可以使图像生成迅速&#xff0c;但代价是引入了畸变。 有两种畸变对投影图像影…

HUE WorkFlow Schedule 调用Hive参数传递,外部参数传递,时间参数传递

目录 WorkFlow传静态参数 Schedule 传动态参数 oozie常用的系统常量 场景&#xff1a;HUE执行任务需要从外部传入参数&#xff0c;不能在脚本写死&#xff0c;比较麻烦 WorkFlow传静态参数 执行的脚本代码如下 CREATE EXTERNAL TABLE ${hivevar:database}.${hivevar:table…

函数调用过程简单分析

C/C函数调用过程分析 这里以一个简单的C语言代码为例&#xff0c;来分析函数调用过程 代码&#xff1a; 1 #include <stdio.h>2 3 int func(int param1 ,int param2,int param3)4 {5 int var1 param1;6 int var2 param2;7 int var3 param3;8 …