10种阻碍程序员职业生涯发展的行为,你有吗?

成为一名更好的程序员 如何成为一个更好的程序员?本书介绍了很多实用的方法。适合每个励志成为优秀程序员的人仔细阅读! 立即下载

                             

1. 太害怕学不会新的工具、语言和框架

一般的程序员会墨守他们最喜欢的工具,而不希望学习新的,因为他们认为,离开了那些语言和工具,多年的经验就会付诸东流。而强大的程序员会拥抱那些挑战和机会,积极地学习新的工作方式。

2. 直到特性“完成”的时候才会提交。(但永远都不会完成!)

他在MarkedUp公司中把这种行为叫做“囤积提交(commit hoarding)”。有些程序员没有足够的信心来承受团队中其他成员的批评和审查,因此会把自己的工作藏起来,直到“完成”状态才提交。

                                                 

 

这种开发者会损害团队中其他人员的生产力,因为团队看不到他每天的成果,而且他也不会在正常开发的过程中寻求帮助,这样就会造成很多“最后一分钟”的缺陷,从而让交付延迟。而强大的程序员会知道,代码并不是他们自己,因此会把代码经常自信地呈现在其他团队成员的眼前,获得批评和建议。

3. 只是“知其然”会很危险

在这里Aaron举了微软最近在C# 5.0中引入的async和await关键字为例,这两个关键字会让创建和管理异步调用变得很容易,但是也会造成上下文切换、对共享资源进行多线程访问的成本,仅仅对此有基本了解的程序员会盲目地使用这些特性,把所有I/O调用都封装成C#中的Task对象,这会创建出危险的、不可预测的而且非常难以测试的代码。

好的开发者不仅“知其然”,而且会了解为什么这么做以及应该在什么样的条件下使用。

4. 分析瘫痪(Analysis paralysis)

分析瘫痪是指在程序开发初期进行系统分析,常因为太过执着于控制所有可能的变化和意外,而造成大量时间的浪费,裹足不前。这是一种很经典的问题,会影响很多一般的程序员。它通常是由过度分析造成的,但是Aaron认为其根本原因在于不敢做出坏的决定。一般的程序员会担心犯错,只想一次成功。

                                       

 

而强大的程序员不会害怕,他们会编写很烂的代码,对其进行单元测试,如果认为无法达到目的,就会在45分钟之内把它抛弃。强大的程序员会积极地限制用来研究的时间,因为他们知道那是个陷阱——看起来是有效的,但经常都无效。

5. 没有对工具和开发过程投入

如果你想要成为天才程序员,那么就需要投入时间提升技能和知识,而将你和普通的代码工人区分开来的是快速编写出生产级别代码的能力。你可以同时拥有好的代码和速度,但是你需要先对你用于构建的过程投入。

一般的程序员不会对工具、过程和环境投入,只会使用大量的时间学习新的语言特性和API如何工作,但那并不会改变什么。

通常,你作为程序员所能够做出的最大改进并不是专注于你所编写的代码,而是优化你编写代码的过程。

6. 羞于请求帮助

一般的程序员羞于或者不想让人知道自己不懂,所以他们装作什么都知道,但这样就有可能提交某种非常可怕的代码到库中。说“我不知道怎么做。”没什么错,强大的程序员知道这一点,所以当被问题难住的时候就会请求帮助。

                                                        

 

7. 不知道如何让其他程序员更容易使用你的代码

在所有技术团队中,工作很重要的一部分就是人员的并行(human parallelism),也就是多个人能够同时对同一代码库工作的能力。但是对于团队来说,能够异步工作也很重要,当你不在的时候我可以修改你的代码,反之亦然。

一般的开发者并不这么认为,他们会开始对一项任务编写代码,认为他们会永远拥有这段代码。而强大的开发者会知道技术债务的说法,从而试图通过设计代码来对其限制,让它尽可能可维护和自解释。

编写可读的代码需要程序员改变他们的看法——你的代码要比你在组织中存在的时间长。

8. 不知道如何阅读其他人的代码(或者不想读)

当一位一般程序员看到用他所不熟悉的语言或框架编写的代码库时,就想立刻重写,而不考虑业务价值或者推向市场的时间。而强大的程序员会接受这样的观点,重写所导致的业务成本通常是不可接受的,所以应该避免这种行为。他们会试图坐在计算机前,理解、学习然后修改现有的代码。

阅读代码要比编写代码还难,但是强大的程序员会投入时间来学习如何超越。

9. 不能从最终用户的角度编码(你考虑的范围太狭窄)

有句话说得好:作为程序员,你的工作不是解决技术问题,你之所以解决技术问题,是为了解决业务问题。

                                          

 

一般的程序员只会陷在技术问题之中,而不知道最初是为什么要解决这个问题。更严重的是,一般程序员无法从头开始创建出具有业务价值的东西。当被要求基于简单的用户设计新特性的时候,他们会死板地、照着字面对故事或者说明书做出解释,这样交付的产品用户根本无法使用。因为他们不会考虑相关的用例;不会考虑最终用户的体验;并且在做面向用户的内容时,设计都会很笨重。这导致他们无法编写业务应用,只能做产品。

好的程序员会从最终用户的角度来看他们的代码。我怎样才能让它更轻松地解决用户的问题呢?故事的文字内容之外有哪些方面会让这个特性给用户带来更多收益呢?

10. 无法判断任何编程任务的业务价值

这个问题和上一个是相关的,很多技术上很强的程序员之所以无法意识到自己的潜力,是因为他们不会停下来,从业务或者组织本身的角度去看一下他们的工作。

强大的程序员能够自我管理,对选择如何投入时间做出很好的业务决定,他们会问这样的问题:这是我现在应该做的最有价值的事情吗?我应该为之投入多少时间?离交付日期有两个星期,我现在能做什么,从而更容易满足那个日期呢?

                                          

 

一般的程序员不会,他们只会拿着说明书,然后盲目地实现,直到结束,不关心他们的工作和公司的业务目标有什么关系,以及对其他团队和业务组会产生什么样的影响。这样,他们就会在业务价值很低的技术任务上浪费大量开发时间。

手把手教你用STM32F103实现CAN总线双机通信(基于CubeMX+HAL库) 本文详细介绍了基于STM32F103和STM32CubeMX工具实现CAN总线双机通信的完整流程。文章重点解析了CAN总线在嵌入式物联网应用中的优势,并深入讲解了波特率计算、过滤器配置、接收中断处理等关键细节,提供了实用的代码框架和可靠传输方案,帮助开发者规避常见陷阱,构建稳定的工业级通信系统。 阅读详情

相关推荐

C语言——利用矩阵LU分解法求逆、行列式

本章介绍了LU分解法,以及如何利用LU分解法求逆、行列式,针对每个公式、原理、代码进行了详细介绍,希望可以给大家带来帮助。

王元笙 1万+

如何成为强大的程序员

作者 侯伯薇 发布于 2013年2月8日 Aaron Stannard是新创公司MarkedUp的CEO,他最近花费大量时间雇佣、评估很多不同的程序员,并和他们一起协作。在这个过程中他发现并总结了十种程序员无法意识到自己潜力的原因,意在让更多程序员发掘出自己的潜力,从而成为强大的程序员。 Aaron提到,他的公司中所使用的技术非常复杂,某些大型企业都很难掌握,所以对于想要加入团队的程序员来...

weixin_30295091的博客 272

共享单车需求预测问题:建模篇

机器学习训练营——机器学习爱好者的自由交流空间(qq群号:696721295) 在上一篇里,我们使用可视化的方法分析了“共享单车”的数据集,理解了特征(变量)之间的关系。我们将在本篇建立几个模型预测单车的需求量,并比较它们的预测效果。 随机森林填充法 首先,导入必需的库、训练集和检验集。 import pylab import calendar import numpy as np impor...

wong2016的博客 1万+

职场生涯:程序员最害怕什么?看一看你中招没?

一、不称职的上级,无能力的同事 1、没有人喜欢跟他们认为不称职的人一起工作,没有人喜欢在没能力的人领导下工作。因为这种不称职和没能力会给程序员的工作生活在很多方面带来巨大的痛苦折磨。 2、怕听到那些高薪低能的市场部的人走近的脚步声,嘴里嘟囔着一大堆抓不住重点的话,总是要求“这事很急,要尽快完成” 3、需要再一次重写整个系统…用另外一种语言….用另外一种技术/框架….要一次完成而不是分阶段(先替换一个模块,然后另一个)….因为有些高层领导认为他们的这种实现是最好的,其它的都不好,需求立即全部替掉。 ..

C语言C++学习俱乐部:765860056 670

SecureCRT串口连接保姆级教程:从驱动安装到波特率设置(附常见问题解决)

本文提供SecureCRT串口连接的保姆级教程,涵盖从USB转串口驱动安装、端口识别到波特率等核心参数设置的完整流程。针对连接失败、乱码、键盘输入无响应等高频问题,给出了深度排查与解决方案,帮助网络与嵌入式开发新手快速掌握串口调试技能。

weixin_29281941的博客 435

AI初识—LLM、Ollama、Llama都是些个啥?

LLM指的是大语言模型(Large Language Model),是一种基于深度学习的模型,能够理解和生成自然语言。它通过大量文本数据进行训练,具备了理解上下文、生成连贯文本和回答问题的能力。著名的LLM包括OpenAI的GPT系列和Google的BERT。在AI技术快速发展的背景下,LLM、Ollama和Llama代表了现代自然语言处理的不同方面。LLM为我们提供了强大的语言理解能力,Ollama为模型的部署和管理提供了便利,而Llama则在效率和多样性上不断推进。

小蜗牛的珍贵百宝箱 4635

阻碍程序员成长的五大原因

1、任何一个人,无论他的资格如何,都可以成为软件开发人员。2、大学教育没有对人起到任何帮助。3、开发人员不注重自己的知识更新。     如果你问一个开发人员,他最后所读的书,或者是如何保证自己的知识更新。往往无法得到确切的回答。没有人想提升自己或者多做点事情。很多人甚至都没有听说过《代码大全》这本书。4、每个人都想当经理。     工作到5年左右,就有机会成为项目组长。一旦成为

My Backup 702

基于单片机直流电机调速控制系统设计

*单片机设计介绍,基于单片机直流电机调速控制系统设计。

2201_75940997的博客 2782

我这位老程序员对时代危险和机遇的一点感悟

最近有些多愁善感,忧虑我自己作为一名程序员的发展前途,就发了一些感想的小作文,没想到C站程序员们的评论非常火热,我索性将连续几篇所忧所想的小作文整合一下,作为博文发表出来,方便小伙伴们阅览。

守护石大数据 3233

Lmbench测试集 --- 延迟测试工具lat_mem_rd

lmbench测试集简介 以及 lat_mem_rd延迟测试工具: 如何测试、测试结果、源码分析

MonologueYY的博客 1万+

注意力机制模块:CA(坐标注意力)二次创新:融合深度可分离卷积,打造 CADS 模块

本文提出CADS模块,将坐标注意力(CA)与深度可分离卷积(DSC)深度融合,优化移动端AI部署效率。通过重构CA的计算范式,用深度卷积替代传统1×1卷积,在保持精度的同时显著降低计算开销。文章深入分析了CA的计算瓶颈和DSC的实际效率问题,详细阐述了CADS的设计原理与PyTorch实现,并提供了多组性能对比数据。该模块可直接应用于YOLO、UNet等主流模型,为移动端AI部署提供高效解决方案。

ZXSXJ的博客 96

程序员的职业危机是什么?一个12年互联网人的4点思考

上周表弟打电话给我,他说对自己的职业发展感到很困惑,想让我开导一下,表弟是91年的,2014年二本毕业后,在一年制造业公司做工程质量相关工作,他说自己做得很不舒服,感觉工作量大且工资也低,自己也越来越迷茫,想进互联网行业当个程序员,但又考虑到自己 28了,学多久能转行不好说,也不知道互联网行业、程序员职业会不会过几年就凉下来了,到时候遇到中年危机怎么办呢,他感觉到不知所措。 我给他说:“自改革开放...

IT-编程资讯 4882

【教程4>第3章>第1节】通信系统高阶调制解调概述

高阶调制(High Order Modulation)是一种先进的数字调制技术,旨在通过增加每个符号携带的信息比特数来提高无线通信系统的数据传输速率和频谱效率。这种技术特别适用于具有较高信噪比(Signal-to-Noise Ratio, SNR)的通信环境,例如卫星通信、光纤通信以及一些高质量的无线通信链路。在数字通信中,调制是将数字信号(比特流)转换为适合在物理信道上传输的模拟信号的过程。高阶调制通过使用更多的信号状态或星座点来表示不同的比特组合,从而在一个符号周期内传输更多的信息。

FPGA/MATLAB学习教程/源码/项目合作开发 1704

10种阻碍程序员职业生涯发展的行为

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33859504的博客 109

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

45-50岁的程序员,职业还有发展期吗?

接着他分享了自己的经历,多年以前,30 多岁的他在一家大型研究机构工作,里面有许多(年长的)世界著名科学家和数学家,有许多不同专业的人才。他们中的大多数人无法适应不断变化的形势,最终被“劝退”。还要有一定的忧患意识,公司每年都会输入新的年轻血液,有初学者,也有牛逼人物,我们不要让雇主逼着自己去学习,自己要有主动充电意识,这样才不会被周围的人给超越,才不会给后来者给超越。我们不能一直啃老本,干软件这一行,技术更新非常快,今年上半年学的技术,估计下半年就有了新的版本,我们要一直不停地给自己充电,不停地学习。

bdqn_zyjy的博客 621

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

那些在一家公司呆了 10 年的程序员,最后都怎么了?

来源 | 纯洁的微笑这个话题一直想和大家聊聊,但一耽搁就到了现在...首先能在一个公司呆10年,至少能证明公司活得还不错,因为 90%的公司都活不过 3 年。我在职场刚好呆了10年时间...

优快云资讯 3191

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

看看年薪100万和10万程序员的差距~

我们看武侠大片,经常有那种本来可以练就绝世武功的大虾。阴差阳错练的走火入魔。一开始还可以硬撑,还能打败一些虾兵蟹将。遇见真正的高手,这些大虾们立马就败下阵来。其实程序员的职业生涯,如同练...

272

程序员职业规划发展路线图

 http://tech.ccidnet.com/art/3089/20090908/1880563_1.html 锐哥准备为大家烹饪红烧鲤鱼,小丫主动要求跟锐哥学习烧鱼,这也使小蔡和大熊非常感兴趣变得积极主动。锐哥首先要求他们把配料准备好,小丫又进行配料准备任务分工,没有的配料分头到超市购买。用料如下: 鲤鱼(一斤半到两斤的鱼最好)、蒜头两头整的、姜片5~6片、小香葱3根、小红辣椒1

坚持,才是力量.老实做人,踏实做事. 2072

程序员需要避免的 10 个坏习惯

程序员因为长期坐在电脑前,所以身体方面多多少少会出一点问题。钱赚的多少倒无所谓,身体才是最重要,那么程序员如何在保持好身体的健康呢,一起来看看吧。 1. 休息不够 我敢肯定你们很多人或者说几乎所有人都对这个坏习惯感到十分罪恶。我也是,对没有休息或休息不够依然有罪恶感。曾有一段时间,我凌晨六点入睡,中午一点左右起来吃午饭,一直工作到第二天凌晨六七点。这简直太常见了,几乎每天都是如此...

CodingPs的博客 227

程序员如何发掘出自己的潜力,从而成为强大的程序员 编辑

Aaron Stannard是新创公司MarkedUp的CEO,他最近花费大量时间雇佣、评估很多不同的程序员,并和他们一起协作。在这个过程中他发现并总结了十种程序员无法意识到自己潜力的原因,意在让更多程序员发掘出自己的潜力,从而成为强大的程序员。1. 太害怕学不会新的工具、语言和框架2. 直到特性“完成”的时候才会提交。(但永远都不会完成!)3. 只是“知其然”会很危险4....

weixin_34362991的博客 120

职业生涯记录

之前在某吧记录过自己工作时的想法,不知不觉写成了职业生涯记录,回头看看曾经的困惑很是感动,所以打算继续坚持下去,也算是我程序员生活的一个记录吧,之前因为一些违规行为被此吧封号,感觉还是有违我对他的信任,所以放到这儿了~ 2017-12-10 22:44 算是第一次在吧里发言吧,也是受到前辈们的指导内心有些触动,所以在这里说一些最近的感慨吧。最近有些颓废,主要是因为很迷茫,对于工作我感觉有些心累,总感觉自己没有做好分配的任务,总感觉自己什么都做不好,还经常容易出错,不知道自己到底是...

qq_35470489的博客 466

2、x10的程序员是如何思考的?

在上一篇中我们提到,程序员在工作中遇到的很多问题,大多不是程序问题,辛苦而低效的工作,多数是由偶然复杂度导致的。那这个由于偶然复杂度造成的差距会有多大呢?1975 年,弗雷德里克·布鲁克斯(Frederick Brooks)出版了软件行业的名著《人月神话》,成为10x程序员是很多程序员的追求。但工作产出并不只是由写代码的效率决定的,一些不恰当工作方法很大程度上影响着你的产出。作为一个程序员,该如何更高效地工作,怎样才能把时间和精力尽可能地放在处理本质复杂度的事情上,减少在偶然复杂度上的消耗。

清风慕竹 636

在一家公司呆了 10 年的程序员,最后都怎么了?

作者 |纯洁的微笑来源 | 纯洁的微笑(ID:keeppuresmile)这个话题一直想和大家聊聊,但一耽搁就到了现在...首先能在一个公司呆10年,至少能证明公司活得还不错,因为 9...

程序人生的博客 983

专科程序员与本科程序员的区别,你怎么看

专科程序员与本科程序员之间有什么区别? 很多人觉得答案显然,专科和本科程序员区别存在是必然的。不论是武大的雷布斯,还是深大的Pony马,都是从优秀本科院校的快乐小码农,成长为今天的互联网大佬。去年互联网大会的这张大佬聚餐图,就体现了一个残酷事实——他们连吃饭,都不带杭州师范的马云一起。 不说那么远的,从 offer 君最了解的互联网就业市场来看,专科生与本科生之间的差异,最直接的证据...

qq_34573534的博客 825

程序员的10大老大难问题

点击上方“程序员大咖”,选择“置顶公众号”关键时刻,第一时间送达!程序员最艰巨的任务跟编写代码没有多少关系。编码是逻辑思路的一种实践,这跟程序员日常工作中的其它任务比起来相对简单。如果你认为自己还是一个水平一般的程序员,在你真正的能进入到高手行列前,请确保你已经克服了下列晋级的障碍。1. 解释你在干什么解释软件开发过程是一个很困难的事情。那些非程序员职业的人也许知道很多关于编程的事情,但很显然,他

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 1887
上一篇: Redis中设置了过期时间的Key,有哪些需要注意的事项?
下一篇: B+树的正确打开方式?你知道吗?
加班不秃顶
博客等级 码龄7年 1822粉丝 599原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值