关闭

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

时间: 2020-03-12阅读: 421标签: 程序员

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

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

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


编写可读性强的代码

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

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

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

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


推理不快乐路径

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

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

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

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


创建自动测试

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

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

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


证明你的抉择

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

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

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


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

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

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

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

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

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


对职业的思考

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

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/8617

关闭

程序员,你为什么值这么多钱?

近两年,有了点余钱就开始考虑起投资来,比如:投资股票首先需要判断的就是关于公司价值和价格的关系。回到个人身上,似乎工资也就是个人价值在市场上的一个价格。那我们的工资是如何被定义或确定的?

当我开始编程时,我希望知道的 30 件事

如果你想成为一名程序员,这个建议可以帮助你走上正确的道路。程序员不是一个容易的职业,每年都有许多人从国内顶尖院校的计算机科学专业毕业,这是任何人都能从事的竞争最大的职业之一。同时,编程也是令人兴奋的。

程序员的思考:一年管理成富翁,三年市场路路通,十年技术一场空

程序员的思考:在中国,做技术的出路非常有限。首先做技术需要跟对老板,其次做技术的要和老板有共同的价值观,再有最最重要的是需要有一个好的身体。

程序员为什么要时刻保持危机感?

明白了之后,当时有点情绪,因为技术本身是架构性质的团队,一个人架构,多个人实施,而且多个平台之间还具有耦合,如果不是有一个整体负责的人,很难把系统做好,最终白做。但是随后更多的还是反思自己

年薪50万的程序员在北京过着怎样的生活?

收入只是别人看到的表面,体面和光鲜下掩盖的真相只有自己知道。如鱼饮水,冷暖自知。对于很多人来说,北京是个既熟悉又陌生、既摩登又端庄、既富贵又繁华的地方

程序员这碗青春饭,还能再多吃几年了!

很多人说多挣钱就完事儿了,多挣钱是能力层面,是一个变量,这个变量基数越大,自然可以使总数越高,但是你不要忽略了基本成本常量,这个常量是所有人包括整个社会基数,这个基数可不是个人所能决定。

如何成为一名开源程序员

科技世界的探索总是让我们兴奋不已。很多科技日新月异,你探索得越深远,你看到的世界就越广阔无穷,这就像是一只驼一只的海龟一样。因此,科技世界也像宇宙一样无穷无尽。

最令程序员沮丧的 10 件事

软件开发是一个伟大的工作——和任何其他工作一样,它也有它的缺点。下面的10件事就是大多数程序员关于编程所无法苟同的。对于非软件开发人员来说,开发人员的工作看起来一定很甜蜜

程序员的寂寞

白天的写字楼中闪现着一个个忙碌的身影,夜晚的出租屋里栖息着一个个寂寞的灵魂。忙碌和寂寞对于无数漂泊在大都市之中的年轻人来说,是硬币的两面,谁也不能幸免,连那些被“996”和加班所束缚的程序员也不能幸免。

是不是人人都可以做程序员?

在项目实际开展过程中展示的成果结果差别都有几倍的关系了。大家都是在一个起跑线上为啥差异这么大?是不是什么人都能做程序员?一系列的疑问在脑中呈现,这么多疑问归结起来:什么样的人适合做程序员?

点击更多...

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