当前位置:网站首页>漫画:优秀的程序员具备哪些属性?
漫画:优秀的程序员具备哪些属性?
2022-07-05 14:44:00 【小灰】
很多人问我,你是一个优秀的程序员吗?
我还差得远,但我在朝这个目标努力。
那么,怎样才能成为一个优秀的程序员呢?
优秀的程序员往往具有几方面的特点,这些特点里有的更重要,有的作用略低,我以个人的见解,为这些特点从低到高划分了5个星级。
1.兴趣
重要程度:*****
毋庸置疑,无论是IT还是其他领域,兴趣都是成功的第一推动力。
或许有人会问了:我对所有正经事都没兴趣,天生就喜欢吃喝玩乐,那我该怎么办啊?
没办法,对自己狠一些吧,想一想努力事业可以赚到钱,赚到的钱可以让你更好地吃喝玩乐。
2.逻辑思维能力
重要程度:***
作为一个程序员,逻辑思维主要体现在两个方面:业务逻辑和算法。对于前者,只要用心思考,实现清晰的业务逻辑并不是多难的事情;但算法却不是一朝一夕就能掌握。
不过请放心,如果你不是一名Geek,不是一名算法工程师,不是一名ACM参赛者,那么算法对你而言并不是至关重要。笔者有一位架构师朋友在华为拿着70W+的年薪,我和他聊起快速排序的问题,他居然说不出快速排序的基本原理......
3.记忆力
重要程度:****
记忆力对程序员重要吗?或许有些人会不以为然,其中包括当初的我:编程是一门灵活的学问,怎么能靠死记硬背呢?
当然不是死记硬背,但是记忆力有时候真的很重要。你写过的一行代码,你阅读过的一篇博文,你听过的一场技术分享 ...... 都是一笔需要牢记的财富。
有人问了:我天生就记性不好,我该怎么办?
好记性不如烂笔头,只有勤做笔记,用“外存”弥补“内存”的不足吧。
4.自制力
重要程度:*****
无论做什么行业,自制力都是一项很重要的素质。兴趣固然是第一驱动力,但是人很难对一件事情永远保持着浓厚的兴趣,尤其是这件事变成职业以后(少数大神除外)。
正如最近流行的一句话:业余八小时做什么,决定了你的未来成就。保持良好的自制力,加上好的学习方法,可以让程序员一天天进步。不用太长时间,只需一两年,自制力够好的人就会比一般人高出不止一个档次。
5.运气
重要程度:**
运气重要吗?可能有的人会不屑。笔者认为,对于一个刚出道的新人来说,遇上一个好的工作机会或是一个好的导师,绝对可以让人少走几年弯路。但是,随着人的实力增长,对运气的依赖程度会渐渐下降,直到他自己成为技术大牛以后,此人反而变成了别人的运气。
用金庸的武侠小说举个例子:令狐冲遇上风清扬,对于令狐冲来说是天大的运气,因为令狐冲实力太弱,风清扬可以给予他最好的指点。但设想如果东方不败遇上风清扬,并不会得到多少收获,因为东方不败已经足够强大,反而会看不起风清扬。
有人问了,我运气不好,又没有实力,我该怎么办?
请放心,看到这篇漫画的朋友,运气都不会太差。
除了以上总结的五个方面,优秀的程序员还应该具备一定的沟通能力、业务知识、耐心细心、强壮的身体、颜值等等,在此就不逐一阐述了。
关于这几方面的重要性分析,仅仅是笔者的个人看法,诸位有更多的想法,欢迎留言讨论。
—————END—————
边栏推荐
- Photoshop插件-动作相关概念-非加载执行动作文件中动作-PS插件开发
- Longest common subsequence dynamic programming
- [12 classic written questions of array and advanced pointer] these questions meet all your illusions about array and pointer, come on!
- leetcode:881. 救生艇
- PHP - fatal error: allowed memory size of 314572800 bytes exhausted
- The forked VM terminated without saying properly goodbye
- 【学习笔记】阶段测试1
- Selection and use of bceloss, crossentropyloss, sigmoid, etc. in pytorch classification
- 【NVMe2.0b 14-9】NVMe SR-IOV
- 美国费城发生“安全事故” 2名警察遭枪杀
猜你喜欢

Countermeasures of enterprise supply chain management system in UCA Era

选择排序和冒泡排序

申请代码签名证书时如何选择合适的证书品牌?

面试突击62:group by 有哪些注意事项?

Photoshop plug-in action related concepts actionlist actiondescriptor actionlist action execution load call delete PS plug-in development

Pointer operation - C language

Share 20 strange JS expressions and see how many correct answers you can get

729. My schedule I: "simulation" & "line segment tree (dynamic open point) &" block + bit operation (bucket Division) "

直播预告|如何借助自动化工具落地DevOps(文末福利)

Drive brushless DC motor based on Ti drv10970
随机推荐
CPU设计相关笔记
长列表优化虚拟滚动
Two Bi development, more than 3000 reports? How to do it?
[detailed explanation of Huawei machine test] character statistics and rearrangement
LeetCode_ 3 (longest substring without repeated characters)
Differences between IPv6 and IPv4 three departments including the office of network information technology promote IPv6 scale deployment
What about SSL certificate errors? Solutions to common SSL certificate errors in browsers
Handwriting promise and async await
How to solve the problem of garbled code when installing dependency through NPM or yarn
危机重重下的企业发展,数字化转型到底是不是企业未来救星
浅谈Dataset和Dataloader在加载数据时如何调用到__getitem__()函数
[detailed explanation of Huawei machine test] happy weekend
mysql8.0JSON_ Instructions for using contains
[learning notes] connectivity and circuit of graph
Run faster with go: use golang to serve machine learning
基于TI DRV10970驱动直流无刷电机
Thymeleaf th:with use of local variables
通过npm 或者 yarn安装依赖时 报错 出现乱码解决方式
03_ Dataimport of Solr
黑马程序员-软件测试-10阶段2-linux和数据库-44-57为什么学习数据库,数据库分类关系型数据库的说明Navicat操作数据的说明,Navicat操作数据库连接说明,Navicat的基本使用,