助力程序员成功的几个好习惯

更新日期: 2020-03-12阅读: 1.7k标签: 程序员

老实说,如果你google搜索“程序员的好习惯”这方面的内容,那么就会有很多大同小异的文章映入你的眼帘。

但是今天我想从一个略有不同的角度来探讨这个主题。不是关于如何更擅长编程,而是如何使程序员更有市场竞争力。

不要曲解我上面的意思。更擅长编程肯定能让程序员赚更多的钱。但这方面的提高可能最终会受到边际报酬递减的影响。我今天要谈论的一些实践方法,在程序员要求加薪或寻求新工作的时候,搞不好会让收益产生巨大的爆炸。


编写可读性强的代码

我将从与人直觉相反的这一方面开始。我已经数不清我碰到过多少人认为编写一些不可思议的、复杂的代码可以为他们提供工作的保障。“如果除了我其他人都不知道薪资报告模块是如何工作的话,上面就肯定不敢炒我鱿鱼!”

当然,这在理论上可能是对的(尽管有太多的人在说这句话的时候往往高估了自己)。虽然企业老板可能不会炒掉你,但他们也不会支付你很多薪水。如果公司不能在薪资报告模块上失去你,那么自然而然也不会晋升你。它不会把你放到另一个更受人瞩目的项目上。这样做只会让你牢固地待在当前位置,就像死水一样波澜不惊。

而且,不要自欺欺人地以为这也可以测试市场反应。企业总是希望程序员能够编写干净、可维护的代码。他们需要刷掉不合格的人以满足业务需求。如果你的简历主要特点是“精通寻租行为”,那么你就不会有很多选择,因为在一次又一次的晋升考验中,你的老板总是会略过你。

不要走那条错误的路。与之相反,你需要编写能够使其他人受益的代码,并让业务灵活起来,无论是在项目人员配置上还是在对代码进行更改的时候。


推理不快乐路径

在编程世界中,所谓的“快乐路径”提出了一种高度乐观的情景。沿着快乐路径行进,没有出错的地方,也没有错误发生。

很多时候,程序员在编程中犯错误却反而发现了快乐路径。比如说,他们实现一个用户登录页面,当用户键入正确的用户名和密码时,登录成功。但是,如果她输入错误的话,app就会崩溃。但如果她有一个没填的话,那么app就会将其作为管理员登录。哇哦。

不能说明不快乐路径的场景是程序员面临的一个常见陷阱。事实上,之所以会产生这样的思维是因为我们在软件开发的过程中嵌入了自己的假设。于是就算是写代码的同一个人也无法来测试代码。

在编写和测试代码时,学会广泛地去推理不快乐路径的场景。如果作为开发者的你能够因为在推理不快乐路径方面一次成功而出名,那么你对细节的注重将为你赚到更多的酬劳。


创建自动测试

也许你一直坚持反对软件行业自动化测试的安装验收。也许你甚至能编写比那些TDD和ATDD程序员更好的代码。在某种意义上,两者之间真的没有关系。

不要误会我。我是自动测试的疯狂支持者,因为它功用巨大并且可以改进代码库。我不但自己实践TDD,还会去教别人这样去做。

但是,大家对于职业生涯中关于功用是否应该排在钱包后面的讨论,各执一词。抵制者还是支持者是否正确变得无关紧要。企业越来越多地要求这种技能出现在求职者的简历上,但却没有一家公司的职位说明上会写“绝不能编写单元测试”。学会写自动化测试,然后见证工作前景的蓬勃发展。


证明你的抉择

为什么你要在这里使用工厂模式?为什么你选择那个特定的Javascript框架?如果你在回答这类问题时使用“因为这是正确方法”诸如此类的答案,那么就不会给你带来任何好处。

这个世界在很大程度上依赖于软件和软件开发者的传递性。我们拥有经常使我们处于权威地位的专业知识,特别是在与非技术人员或不太有经验的利益相关者打交道的时候。因此,你会发现,你经常采取的是那种大家尝试的做法,“我说怎么做就怎么做”。

抵制这样做的冲动。至少,要解释你的推理。使用类比和其他方式来帮助人们理解,即使他们缺乏你拥有的技术经验。最重要的是,学习从经验出发去做案例,同时借鉴研究、实验数据或专家意见。职业生涯需要在技术的氛围中才能发展,所以那些学习将编程决策证明也是商业决策的人会发现他们占据了领导地位。


了解你的代码如何让别人赚钱

说到业务对你自己的钱包的重要性,那么你能描述你写的某一行给定代码是如何帮助业务吗?你刚添加的用于停止SQL注入的代码行——是帮助你避免砸自己的招牌吗?避免被诉讼吗?如果它实际上并不能提供任何帮助,那怎么办?

如果有人付钱让你写软件,那么你的输出结果就应该产出经济效益。学习并了解这个利益关系。发展向任何人解答这方面内容的能力。

对最新的客户端技术或在云中进行加速的能力感到兴奋的开发人员比比皆是。对这些东西感到兴奋,并且了解如何使用这些能力来赚钱的开发者就少见的多了。

如果你能针对产品特征好好培养对业务动机的理解,那么你就能做得更好。你会找到既能节省时间又同样能实现业务目标的替代方法。或者,当有一个产品特征证明不可能实现时,你可以提出能降低一部分成本的建议。

企业(特别是真正支付薪水的大boss)喜欢这种软件人的思维。这将意味着你可以晋升,提供咨询服务以及担任领导角色。


对职业的思考

正如我前面提到的,擅长编程代表了职业生涯的其中一个方面,并且是一个重要的方面。建议大家多考虑许多其他的方面,并且有目的地去发展和培养那些习惯。在你自己的时间里,你应该通过一切手段,爱上这个职业。当然还要确保你可以为他人和为自己赚到钱。

链接: https://fly63.com/article/detial/8617

1024节日的由来,程序员的你最想对自己说的是什么?【1024程序员节日】

吃饭睡觉写代码,基本都程序猿的大部分生活了,作为从事最累的职业之一的我们终于有了自己的节日,那就是1024。1024向程序员致敬,向自己致敬,向未来致敬。

一个程序员的运气有多重要

互联网注定是一个不能安宁的行业,有一些人在努力引领变化,有一些人在努力适应变化,有一些人在被时代的浪潮淘汰。这个世界唯一变的就是变化,人生唯一不能停的就是学习,说到底,要想不被淘汰,只有不断的学习。

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未来,所以我仅把10x Programmer叫做10倍速的程序员。

优秀的程序员是不看源码的,这是真的么?

仍是要永远 ctrl+v,永远拿来主义。仍是要时时刻刻对美好满怀期待,对未来充满渴望,对经典心怀敬畏。要记住啊,能原创而不原创,有源码而远源码,才是最无知的成熟。

优秀程序员的十个习惯

优秀程序员有哪些好的习惯:1. 想清楚,再动手写代码,2. 不交流,就会头破血流,3. 文档没人看,但还是要写,4. 一定要写注释,5. 别指望需求会稳定

程序员和用户

我曾经说过,程序员不是一般的人,是具有某种超能里的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情

一个程序员送给大学生弟弟的那些话

分析自己的处境; 做适合自己的选择; 以成长为目的,担负起更多责任,打破对做事的认知; 把握机遇,去锤炼自己; 抛弃一些懒惰,多一些积极;向牛逼的人靠近,向给你提供条件帮助你学习的老师靠近。以上结合了我自己的经历,希望文章能更形象。

程序猿跳槽季,为什么你的薪水总升不上去?【转载】

现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。

程序员养生攻略_程序员防猝死指南

程序员在其职业生涯中,健康问题尤为突出。但是大部分程序员只顾码字,却往往忽略了自身的健康问题。这或许是因为写代码太入神,也或许是因为来自老板的压力太大。

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!