6 月 25 号,母亲打来电话,说妹妹的高考成绩离二本线差 9 分。我听完随口扔了一句,“在我的意料之中。”因为她平时的成绩也就在二本线上下徘徊。

这句话挺伤人的,尤其是对于高考失利的妹妹来说,她听完我的话,立马就哭了起来,情绪非常激动,质问母亲为什么要打电话告诉我(玻璃心)。

我参加高考了两次,两次都离二本差了 6 分,最后不得已上了大专——当时也陷入了人生的低谷,情绪很低落。一路走来,能体会到学历对于一个人的重要性,尤其像我这种从农村走出来,缺乏生意头脑,不善言谈,急于改变命运的人。

后来,我通过培训正式进入了程序员的行业,自认为是一名合格的程序员吧——把本职工作做得很好,对得起自己的薪水,在生活与工作之间也找到了平衡点

鉴于我的“成功”——买了房、结了婚、生了娃、买了车、出了书,父母就打算让我妹也成为一名程序员。说实话,我也有这样的打算,还曾创作过《教妹学 Java》的系列文章。

程序员属于一个僧多粥少的群体,女性自然而然的会受到男性的照顾。因为在我做程序员的 8 年时间里,就无偿、自愿、主动地帮助过不少(此处不能用许多)程序媛。

不管怎么说,我是热爱“程序员”这个职业的,假如妹妹也有做程序员的意愿,那我这个做哥哥的就要给出 3 条真诚的建议了——这也是义不容辞的事情。

01、能够解决问题

我认为,作为一名合格的程序员,首先要具备的能力就是“阶段性”解决问题。

所谓的阶段性,指的是初级程序员解决初级问题,中级程序员解决中级问题,高级程序员解决高级问题。

记得有一名小伙伴在知识星球提问题说,“二哥,我有不到 1 年的工作经验,领导总让我看源码去解决问题,我看得头大,有什么好的建议吗?”

我只能安慰这名小伙伴说,“你的领导不是一名称职的领导啊。”看源码是一件好事,这是毋庸置疑的,但如果强迫 1 年工作经验不到的程序员去看源码解决问题就属于强人所难了——天赋异禀的除外。

说实话,在我 8 年多的职业生涯中,很少通过看源码解决问题。当然了,你可以指责我不是一名优秀的程序员,我接受,因为我的首要目标是做一名合格的程序员。

合格的程序员,有自己解决问题的手段,比如我的手段就是:

1)找度娘。

2)找谷歌。

3)在博客园问题社区提问。

4)在 CSDN 论坛提问。

5)在 Stack Overflow 提问。

6)找同事帮忙。

7)找领导帮忙。

8)在大牛的群里提问。

实在是解决不了,也不要熬夜通宵,哭天喊地,回家踏踏实实地睡一觉,没准第二天一早就想到了解决办法。

你可能会觉得我这话很玄乎,但我时常有这种感觉,第二天睁开眼的时候,突然就有一个叫“答案”的东西慢慢地从天花板上飘落下来,然后我就伸出双手接住了它

怎么解释这种感觉呢?我也说不清楚,但有个英文单词似乎可以解释——“epiphany”,中文意思为“对事物真谛的顿悟”,我喜欢称之为“天启”(灵感来自于 X 战警)。

可以这么说,这 8 年来,我还没有遇到解决不了的问题(就是这么信誓旦旦)。随着年纪的增长、技术能力的提升,看源码也就不像年轻时那么痛苦——渐渐地,看源码成为了我解决问题最后的杀手锏。

02、一颗不是“玻璃”的心

不得不承认,年轻的时候,我的心非常非常的“玻璃”。把自己拿出来做例子,实在是情非得已啊。

把时间拨回到 7 年前,我当时还在苏州的一家日企工作。有一次,团队中的一名成员在使用 if 进行条件判断的时候,使用了 = 而不是 ==,导致程序出现了严重的 bug,而作为 Team Leader 的我竟然没有在 Review 和测试的时候检出这个“见不得人”的 bug。

领导在日本出差,被日本人骂的狗血喷头;而我,被领导的越洋电话骂的狗血喷头。当时气不过的我,躲在厕所委屈得流泪,还伴随着难以抑制的抽噎声。

当时的画面现在依然记忆犹新。

现在想想,真没啥好哭的,自己的确负有一定的责任,被领导骂一骂出出气,也是再正常不过的事了。但那时候的“玻璃心”经受不住批评,哭过之后还闹着要换部门。

我劝你们忍住别笑啊。

初入职场时,我们不被领导当众训斥的概率几乎为零。如果这时候玻璃心作怪的话,几乎会毁掉我们的职业生涯。我庆幸自己当时没有换部门,因为领导出差回来后,还特意请我吃了一顿大餐;后来涨薪的时候还特意照顾了一下。

作为一名程序员,我们要懂得自嘲、自黑,懂得释放自己的压力,我现在觉得,敢于称呼自己为“码农”、“IT 民工”的程序员特别可爱,特别有勇气。

如果是现在的我,再因为少个 = 被领导训斥的话,我就敢肆无忌惮地说:“领导大人请息怒!写个 bug 咋地啦,小王同学又不是故意的,我现在去改一下,马上再发布一个版本;另外,下次 Review 的时候我一定再仔细一点。”

领导没准还会被逗笑。你看,不是玻璃心多好啊。

03、乐于分享

首先说一下我为什么乐于分享的原因:

  • 作为知识的总结
  • 作为备忘录
  • 想帮助他人
  • 建立个人品牌

说句实在话,我已经分享了数百篇文章,但这些文章并没有给我带来金钱上的直接利益。我之所以还在坚持,是因为我觉得未来有一天,我可能因此挣到一些钱;假如还挣不到的话,我在分享的过程中已经自我升华了。

很多程序员不敢分享的原因也很简单:

  • 大牛已经分享过了
  • 分享出来会不会被喷
  • 技术深度不够
  • 词不达意
  • 没啥可分享的

再说句实在话,我在程序生涯的前 3 年时间里,也从来不分享。原因不外乎上面列的这几种。但当我从苏州回到洛阳后,自由时间一大把,没开始分享的那段时间里,除了打游戏就是看游戏攻略——游戏玩腻了,就觉得生活百无聊赖。

实在是不知道干啥,就开始读书,读完书,总觉得想说点啥,就开始在博客上分享读书笔记。写了一段时间后,竟然还有人阅读和评论;再加上公司也开始鼓励写博客(绩效奖),我就把工作当中解决 bug 的辛酸历程也分享了出来。

写着写着,我就发现了一个天大的好处:有些 bug 竟然在十天半月后重新跑出来吓我,但吓不着我了,因为之前的解决办法已经被我记下来了,按图索骥,轻松搞定。再也不用重新找解决办法,省掉大量的时间。

再写着写着,我发现写作水平也提高了(你可以翻看一下我以前写的文章,感受一下之前和现在之间的差距),所谓输出倒逼输入,技术功底也更扎实了,解决问题的知识库也更丰富了。如果稿费能再多点,就更完美了。

04、最后

我是一名极其普通的程序员,勉强算是合格,但和优秀的程序员相比,真的是自惭形秽。

但我总觉得自己身上有着某种特质,往好里说就是持之以恒的精神,尤其是在写作方面,我希望我的分享能够给你带来一点启发,那真是再好不过了。如果你真的从中得到了一点点益处,我会感到非常的高兴。

为了能够首尾相应,我还得透露一点我妹妹最新的情况,究竟是选择复读,还是上大专成为一名程序员(重复我当年的老路),她还在犹豫当中。如果你有更好的建议,还请和我交流交流。

一名合格的程序员应该是什么样子相关推荐

  1. 如何成为一名合格的程序员?

    为何需要记录? 从C/C++转到自学Java,深知学习东西不能和啥都没学过的小白一样,在学习的过程中,更应该多关注技术的本质及其原理,而不是浮于表面简单的增删查改搬砖.以前学习C++系,深知理解技术本 ...

  2. 怎样才能学好一门编程语言?要怎样去学习才算成功?成为一名合格的程序员

    截止到目前为止,编程开发语言已经有很多种,而每个程序员根据自己的学习能力不同,掌握一到几种不同的语言. 学习目的 每个人学习一门编程语言,都是有自己的目的.比如有人想写一个App,有人想写一个小程序, ...

  3. 如何成为一名合格的程序员

    陆陆续续看过很多大V写的"如何年薪百万"."如何月入十万"."我是如何复习三个月考上浙大的",还有以前打工皇帝的<我的成功可以复制&g ...

  4. 怎样成为一个合格的程序员

    成为程序员就意味着要开启程序生涯,开始敲代码,如果说做程序员仅仅为了高工资,那么就不必做了.一天天干坐着只为等工资那么奉劝你,另谋高就. 学编程应该在编程中感受到快乐,不然每天对着没有表情的字母,很是 ...

  5. 想要成为一名优秀的程序员,这十八招必看

    文章目录 第一招:速学能力 第二招:理解能力 第三招:编程能力 第四招:使用能力 第五招:编码能力 第六招:注释能力 第七招:思维能力 第八招:英语能力 第九招:学习能力 第十招:思考能力 第十一招: ...

  6. 一个合格的程序员除了编程语言还要学什么?

    软件开发的确是一个系统性的工作,需要很多方面的知识和技能.根据我的研究,一个合格的程序员,单单是专业能力,就需要从技术栈.工具链.程序设计.架构设计.工程化.软件环境.软件开发模型.业务.产品这9个方 ...

  7. 如果你是合格的程序员或者你认为自己是计算机科学家

    如果你认为自己应该是计算机科学家,那么,你应该做如下的事情: 1,你学的第一门语言应该是C++,第二门是汇编 2,你应该对数学的掌握不差于数学专业的比较差的学生,对于数论那些东西你也应该会 3,你应该 ...

  8. 一名新晋程序员的自述:我的编程自学之路

    我相信每个程序员都具备自学的能力,因为如果没有自身的努力,我们不会成为一名优秀的程序员. 大概交代一下故事背景 2016年,我被计算机科学专业录取.计算机科学家需要研究如何使用计算机解决广泛问题及其应 ...

  9. 如何招聘一个合格的程序员?

    如何招聘一个合格的程序员? 发表于2012-12-03 16:29| 11559次阅读| 来源TheNextWeb| 23 条评论| 作者张祺 招聘程序员 摘要:作者是ApeForest和Conten ...

  10. 如何成为一个优秀的程序员_如何成为一名优秀的程序员

    如何成为一个优秀的程序员 by Amy M Haddad 通过艾米·M·哈达德(Amy M Haddad) 如何成为一名优秀的程序员 (How to be a great programmer) Wh ...

最新文章

  1. Cartographer安装
  2. 结巴分词jieba添加自定义词典
  3. [loj556][Antileaf's Round]咱们去烧菜吧
  4. 用python做透视表_用Python实现数据的透视表的方法
  5. Nginx----原理
  6. Lambda表达式的生动理解以及Java Lambda表达式常见使用场景
  7. 微软职位内部推荐-Senior Network Engineer
  8. 剑指Offer面试题:28.连续子数组的最大和
  9. 简单的扫雷游戏代码(c++)
  10. masm5.0与masm32
  11. uniappd的web-view组件无法动态加载本地html文件的解决办法
  12. 汽车诊断之UDS入门-DTC(Diagnostic Trouble Code)相关服务0x14,0x85
  13. 基于FPGA的电子计算器设计(中)
  14. numpy 数组的旋转、上下翻转、镜像
  15. 油田生产数据选取22.4.1 观察实验
  16. R语言实战Topsis综合评价法
  17. OpenStack搭建过程(随笔搭建)
  18. vs 2022连接MySQL数据库
  19. 监听元素宽高变化resize
  20. Documentum 6.7 DFC client not connecting

热门文章

  1. Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
  2. PPT流程图这样画,感动老板第一步!
  3. 微信小程序关于下拉刷新
  4. 关于ArcGIS的一些基础知识
  5. C# 添加Excel水印
  6. 傅里叶变换公式整理,意义和定义,概念及推导
  7. C++实现Base32加解码
  8. moment.js计算时间差
  9. 分库分表中间件常见方案对比分析
  10. 全志A64和瑞芯微RK3288参数对比介绍