在谈论所有的软件设计原则、开发软件的目标和软件设计本身的科学之前,有一个不得不提的决定软件开发者是成功还是失败的独特秘密:

越是理解你正在做的事情,就越是能把它做好。

“明星”程序员比一般或者平庸的程序员更透彻地理解了他们正在做的事情。仅此而已。

那些能够在一天之内掌握一门全新编程语言的高级工程师,和那些在这个行业挣扎了十年只为保住饭碗,一直按别人的设计方案编程,还因为自我提升不够而始终无法得到晋升的初级开发者之间的区别就在于此。通过它也将糟糕的程序员同优秀的程序员、优秀的程序员同伟大的程序员、伟大的程序员同那些通过精湛技艺建立起几十亿商业帝国的“明星”程序员区分了开来。

正如你所看到的,这一点也不复杂,并不是什么难以掌握的技巧。也不是需要你拥有与生俱来的某种特殊天赋或者“把代码写好的神奇能力”才能办到的事。成为杰出的程序员还是糟糕的程序员与个体的自然属性无关:

想要成为一名杰出的程序员,你所要做的仅仅是完完全全地理解你正在做的事情

或许有些人会告诉你他们已经掌握了所有的知识。你可以通过观察他们能否将他所理解的内容应用到实际工作中,来检测他们的说法正确与否。他们能否构建出一个易于维护并具有优雅架构的系统?他们是否能比大多数程序员更有效率地解决问题?在被寻求帮助时,他们是否能用浅显易懂的概念清晰地解释清楚?如果以上都能做到,那么他们确实是杰出的程序员,并且的确对领域内的知识了如指掌。

但是,与相信自己“对一切了如指掌”相距甚远的是,许多程序员(包括我在内)常常感觉自己身处于浩瀚无垠的信息海洋里,受困在一场史诗级战争中。有太多东西需要知道,以至于哪怕穷极一生致力于学习研究,可能依然只了解了90%的计算机知识。

这场史诗级战争中的神秘武器,击败计算机知识的王者之剑,就是对你所学习到的知识的理解。

越是理解所处领域的底层知识,学习高级别的知识就越容易。越是理解当前级别的知识,学习下一个级别的知识就越容易,以此类推总是成立的。如果你自认为对某一门学科内从基础到高深的知识要点都统统掌握了,那不妨选择从头开始温习一遍,相信你会惊奇地发现在底层还有如此多的东西需要学习。

这听上去简单得难以置信,但事实就是如此。成为杰出程序员的必经之路就是保证对知识完全和完整的理解,从对基础知识的深刻掌握,到对大多数先进概念的扎实了解都必不可少。

我不想骗你,有时候这条路走起来非常漫长。但它是值得的。在道路的尽头,你或许会发现自己突然成长为了一位了不起的高级工程师,人人都会来向你征求意见。或者你会成为被所有同行钦羡的无往不利的神奇程序员。又或者你会造就一款价值数百万美元,并且取得难以置信的成功的“明星”级产品,谁知道呢?

我无法告诉你应该做些什么或者应该成为什么样的人。我只能将一些我发现的有效且有价值的信息分享给你。应该怎么做依然取决于你自己。

本文摘自《编程原则:来自代码大师MaxKanat-Alexander的建议》

作者:[美]马克斯·卡纳特-亚历山大(Max Kanat-Alexander)

译者:李光毅

编程大师向你展示如何让简约设计的思想回归到计算机编程中

在本书中,富有传奇色彩的编程大师马克斯·卡纳特-亚历山大(Max Kanat-Alexander)将会向你展示如何让简约设计的思想回归到计算机编程中。马克斯会解释程序员为何会感到力不从心,以及应该如何持续改善。世界上存在太多复杂的事物。复杂并不可取,因为它会给我们的工作带来隐患。

马克斯从他久负盛名的技术博客CodeSimplicity中精选了一部分文章,对如何在软件行业工作以及取得成功给出了自己的想法和建议。相信这43篇文章能够让你学会如何在工作中避免复杂,拥抱简约,从而让你的职业生涯更加顺利和成功。

推荐阅读

01

作者:[美] 兰德尔 E.布莱恩特(Randal E. Bryant)

大卫 R. 奥哈拉伦(David R. O'Hallaron)

译者:龚奕利 贺莲

本书将所有计算机系统相关知识融会贯通

助你成为凤毛麟角的高级程序员的必备神书。

如果你研究和领会了这本书里的概念,

你将开始成为极少数的“牛人”!

本书是一本将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的最大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为,以及造成效率低下的原因。从程序员的角度来学习计算机系统是如何工作的会非常有趣。最理想的学习方法是在真正的系统上解决具体的问题,或是编写和运行程序。这个主题观念贯穿本书始终。

02

作者:[英] 佩蒂塔·史蒂文斯(Perdita Stevens)

译者:王磊 周训杰 万学凡

编程初学者、萌新程序员和编程“老兵”

必读的宝藏级编程“说明书”,赶走你的编程焦虑

学习编程并不仅仅是学习编程语言的细节:要想成为一名优秀的程序员,就必须成为调试代码、测试代码、编写清晰代码的专家,并且能解决遇到的任何疑难问题。本书通过丰富的小提示、故事和关键术语的解释,清晰地传授各种编程技巧。无论是刚开始学习编程的“学员”,还是初入职场的编程“新人”,或者是具有一定编程经验的“老兵”,都可以从这本书中汲取到新的知识。书中包含Python、Java和Haskell的示例,无论你正在学习哪一种编程语言,都能帮助你获得可移植的编程技能。

重磅推荐

点击以上图片跳转专题

扫码关注【华章计算机】视频号

每天来听华章哥讲书

更多精彩回顾

书讯 | 9月书讯 | 秋天的第一本书,来了

资讯 | 浅谈大数据风控平台的功能需求

书单 | 《数据安全法》,对所有互联网公司的大考,该如何应对?

干货 | 低代码,怎么秃然就火了?

收藏 | 不聊虚的,接地气理解数据中台

上新 | 【新书速递】UEFI开发探索

赠书 | 【第71期】破案了!库里为何会花18万美元买一个猴子头像?

点击阅读全文优惠购买

成为明星程序员的独特秘密相关推荐

  1. 成为明星程序员的独特秘密|极客原创

    当我们在谈论软件开发技巧之前,有一个不得不提的决定软件开发者是成功还是失败的独特秘密: 越理解你正在做的事情,就越能把它做好. "明星"程序员比一般或者平庸的程序员更透彻地理解了他 ...

  2. 成为明星程序员的10个提示

    原文地址是:点击打开链接 Andrew C. Oliver是Open Software Integrators公司的总裁与创始人,公司主要与一些开源公司合作,特别是那些初创公司,致力于为客户提供课程开 ...

  3. 程序员一夜暴富的秘密,终于藏不住了!

    haiy 虽然暴富的可能很小,但梦想总要有嘛,万一哪天就实现了呢~ 欢迎各位在评论区幻想一下你的暴富的妙计~ 本文原创公众号:不会笑青年,授权转载请联系微信(laughyouth369)  -- en ...

  4. 40岁“老程序员”的“辛酸”自述:

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 算法.应用程序安全.性能优化以及架构等等,这些东西衰减速度很慢,更值得认真钻研. 我 ...

  5. 一位40岁“老程序员”的经历,给你们说一些我的真实想法!

    作者 | Ben Northrop 来源 |InfoQ 翻译 | 核子可乐 策划 | Tina 算法.应用程序安全.性能优化以及架构等等,这些东西衰减速度很慢,更值得认真钻研. 我是个程序员,差不多四 ...

  6. 百度程序员推荐的书籍,今天免费送!

    各位宝,悄悄的告诉你们一个好消息: 2021年已经过去188天咯, 怎么样,立的flag还在坚挺不- 该学的技术.该码的代码.该看的书.该减的肉- 都没拉下吧! 这不,百度Geek说这一次给大家带来了 ...

  7. 一位 40 岁“老程序员”的经历,给你们说一些我的真实想法!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | J ...

  8. 我是一位40岁的“老程序员”,我有一些想法

    作者 | Ben Northrop 翻译 | 核子可乐 策划 | Tina 算法.应用程序安全.性能优化以及架构等等,这些东西衰减速度很慢,更值得认真钻研. 我是个程序员,差不多四十岁了.记得某个周六 ...

  9. 程序员需要经纪人吗?10x 最好的程序员其生产力相当于同行的 10 倍~

    原文地址 10x 起源于技术界一个流行的说法,即最好的程序员是超级明星,其生产力相当于同行的 10 倍: Google 园区以好玩的设施闻名:小憩舱.球坑.按摩.干洗.随便吃到饱的自助餐.(为了拍人才 ...

最新文章

  1. google ProtoBuf开发者指南
  2. iOS培训教程——设置默认语言
  3. 矩阵的对角化(Diagonalizing a Matrix )
  4. 【视频课】图像分类最新内容来了(言有三录制6大理论部分讲解)
  5. 移动产品经理必须要知道的11件事
  6. 34_pytorch,动量与lr衰减(momentum,learning rate)--学习笔记
  7. hdu 1443 Joseph
  8. ##MySql数据库表的操作与应用
  9. 4.4.6 数组也能无锁:AtomicIntegerArray
  10. P3825-[NOI2017]游戏【2-SAT】
  11. 处理Weblogic卡住的线程
  12. android设置错误页面,Android ViewPager设置当前项目/页面时抛出IndexOutOfBounds异常
  13. 深度学习的实用层面 —— 1.11 神经网络的权重初始化
  14. win10更新1809版本后运行Dev-cpp, dos控制台字符乱码解决方法
  15. hibernate CascadeType属性说明
  16. Android中Text文本特效处理
  17. python遍历文件夹下的所有文件
  18. 土巴兔上市未卜,群核科技换个姿势能否撑起“3D云设计第一股”?
  19. 易到暂停办理线下提现 称贾跃亭隐瞒巨额债务成影响提现关键因素
  20. Django之开发微信小程序后端-会话管理篇③

热门文章

  1. vue-cli树形结构/组织结构
  2. Functional Programming in Java venkat(5) Using Collections part3
  3. LCD1602的使用及显示
  4. element 表格显示图片
  5. 任正非接班人李一男离开华为时给属下的忠告
  6. js学习笔记--了解promise
  7. IITP:截止2017年韩国人工智能专利排名全球第三
  8. Shells:一款功能强大的反向Shell快速生成工具
  9. 小伙子利用C++设计出最难的“数独游戏”,让C++重回巅峰!
  10. 烟草行业IT规划现状、实施及工作重点分析