年长程序员,坏习惯在扼杀你的职业生涯

文章揭示了年长程序员容易形成的有害习惯,并提供了改变这些习惯、保持职业竞争力的方法。
英文原文: Older Developers: Bad Habits Are Killing Your Career

  我在最近一次《关于年长程序员的5个误传》文章评论中收获颇丰。毕竟,它有望打破被人们当做假定真理而误传了很多年的谬论。但我省略掉了一点细节:年长程序员的坏习惯正在扼杀他们的职业生涯。

  抱歉,我听到你的下巴砸到键盘上了。“什么!但是Dave,你说经验是宝贵的,而且……”

  没错,我知道我说过。每个字都是我的真心话。但年轻人有一种不同于我们的优势:他们还没有养成很多习惯。

  我不是在谈论每天价值5000美元的hooker-and-blow这种习惯。我在说的是,当你开始作为一个程序员时,那些你已经形成日常模式的实践活动。就像你(不能)写出清晰、简要,或者所有风格的评论的能力一样。当你做出大的变动时,你总是缺乏与其他组员的沟通,因为你觉得没必要。你拒绝做文档记录。或者你消极地拒绝学习新技术,因为你认为你已经有足够的知识来处理你的工作了。

  这些是我多年来收集到的所有习惯。有些习惯是好的,比如,确定你始终有一个合适的bug跟踪系统,或者像信条一样使用源代码管理。但是并非所有的习惯都像我上面提到的那些一样有帮助。如果你已经有超过10年的编程经历的话,你多少会形成一些或好或坏的习惯。

  不要笑自己。在周而复始地做同样的事情的过程中,你的惰性和自满会让这些陋习逐渐暴露。你也不必烦恼于改掉它们,只是到目前为止它们正常运行。现在没有动机去改变他们。牛顿的第一动力学适用于软件学习:  

由于重力的关系,也许我将会静止……

  “如果没有外力作用,任何运动的物体,都将保持运动状态;任何静止的物体,都将保持静止状态。”

  在你达到一定的能力之后,假设你还不能满足彼特原则(Peter Principle),并且能力还得不到提升,你进步的动机会被你维持现状的动机所削弱。你认为你当了5年的初级软件工程师,将来无论什么时候你都不想成为一个能力欠缺的老板,所以你觉得做一个初级软件工程师也挺开心。

  错误!致命的错误!

  这种想法正是产生基于年龄的偏见和歧视老员工的根源所在。自满的态度会让别人把你当做是懒虫。懒惰不会让你达到今天的成就,所以为什么你会突然觉得这个战略的转变是一个好主意?

  作为一个年轻的员工,你的头脑比大卫雕像还要空白。形成新的习惯十分容易,因为每样东西对于你的设计都是全新的,学习框架,学会评估进度。你正在用工具在脑中开发出一条思维套路。万事起头难,因为你还没迈出第一步。不过每次你完成一个项目,你的思维套路轨迹会越发深刻。10年后,思维套路已经定型,不容易转向。

  习惯很难被打破,但并非不可能。已经有研究表明,一种新的习惯需要9个星期左右才能定型,并真正固定在你的思维当中。这就意味着,假设你想集中全力在9个星期内养成一个独立的习惯,如果你真的努力工作,你一年平均可以摒除5个坏习惯,或者养成5个新习惯。

  你想想:每一年你都能够改变你的习惯,你花时间往你的能力清单上增加5种新的技术或者实践,每一种大概花费9个星期左右。你已经在考虑学习敏捷了吗?学习一种新的语言如何?也许在改变从CVS 到Mercurial的源代码库?这就是我们在不断变化的技术面前如何保持联系的问题了。

  一旦你摒除了坏习惯,你可以从你的同事那得到什么建议,他们可是看着你在6个月的时间期限之中,从只能写文档代码的菜鸟到最好的开发人员。难道他们没有因为压力太大而在说“嗨,如果那个老家伙能学习新的窍门……我就不是人。”

  如果你还没有30岁,请不要尽兴地笑话这些打破习惯的事件记录。很快就会轮到你的。你最好先养成好的习惯,才能拥有更多的好习惯而不是以后再来纠正坏习惯。

  好吧,我们回到开心的事情上来吧……不管怎么说都更加有趣:“老家伙!老家伙!加油!”

  虽然你可能也想远离hookers and blow,但我不认为这样做对你的职业有好处。我只是说,那样无经验可言。

课程设计报告:总体方案设计说明 一、软件开发环境配置 本系统采用C++作为核心编程语言,结合Qt 5.12.7框架进行图形用户界面开发。数据库管理系统选用MySQL,用于存储用户数据与小精灵信息。集成开发环境为Qt Creator,操作系统平台为Windows 10。 二、窗口界面架构设计 系统界面由多个功能模块构成,各模块职责明确,具体如下: 1. 起始界面模块(Widget) 作为应用程序的入口界面,提供初始导航功能。 2. 身份验证模块(Login) 负责处理用户登录与账户注册流程,实现身份认证机制。 3. 游戏主大厅模块(Lobby) 作为用户登录后的核心交互区域,集成各项功能入口。 4. 资源管理模块(BagWidget) 展示用户持有的全部小精灵资产,提供可视化资源管理界面。 5. 精灵详情模块(SpiritInfo) 呈现选定小精灵的完整属性数据与状态信息。 6. 用户名录模块(UserList) 系统内所有注册用户的基本信息列表展示界面。 7. 个人资料模块(UserInfo) 显示当前用户的详细账户资料与历史数据统计。 8. 服务器精灵选择模块(Choose) 对战准备阶段,从服务器可用精灵池中选取参战单位的专用界面。 9. 玩家精灵选择模块(Choose2) 对战准备阶段,从玩家自有精灵库中筛选参战单位的操作界面。 10. 对战演算模块(FightWidget) 实时模拟精灵对战过程,动态呈现战斗动画与状态变化。 11. 对战结算模块(ResultWidget) 对战结束后,系统生成并展示战斗结果报告与数据统计。 各模块通过统一的事件驱动机制实现数据通信与状态同步,确保系统功能的连贯性与数据一致性。界面布局遵循模块化设计原则,采用响应式视觉方案适配不同显示环境。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值