10年软件开发中获得的最宝贵的经验!非常值得你一读

本文分享了作者十年软件开发的经验教训,包括合理建模的重要性、有效沟通的技巧、拒绝的艺术以及优先级设定等。作者强调实际操作胜过过度规划,并提倡了解整个软件开发流程中的各个角色。

from: http://www.ipc.me/ten-years-of-software-development-has-taught-me.html

 

面向对象”比你想象的要难得多

也许只有我有这种想法,不过我曾经以为计算机科学课上学过的“面向对象”是很简单的东西。我的意思 是,创建一些类来模拟现实世界能有多难啊?其实,那还真是挺难的。 十年之后,我仍然在学习如何合理地建模。我后悔以前我没有花更多的时间来学习面向对象和设计模式。优秀的建模技术对于每一个开发 团队都是非常有价值的。

软件开发的难点在于沟通

这里的沟通是指与人的沟通,而不是socket编程。有时你的确会遇上棘手的技术问题,但是这种情况根本不常见。常见的问题在于那些你和项目经理之间的、你和客户之间的、还有你和其他开发者之间的误解。培养你的软技能吧。

学会拒绝

当我刚开始工作的时候,我非常急切的想要去讨好别人。这也就是说,我几乎不能去回绝别人对我的要求。我加了很多班,但是还是不能完成他们交代给我的所有事情。结果他们表示不满意,而我也表示要崩溃了。

如果你从不回绝别人,你的答应就显得毫无意义。承担能力所及的事情,如果别人不停地指派给你更多的事情,你需要明确的表示那意味着将会耽误其他的工作。

为了应付这种事情,我会随身携带一张列有待办事项的纸(To-do list)。当人们叫我去做什么事情的时候,我就给他们看这张纸,并且问他们我应该为他们挤掉哪个事情。这是我用来拒绝别人的一种好办法。

如果每件事都重要,那就什么事都不重要

我们这一行,总是强调每种特性都是同等重要的,其实并不是这样。敦促你的同事,让他们承担起工作
如果你不强迫他们选择该做和不该做的事情,你会轻松很多。相反,让他们来为你选择你这周的任务。这会让你生产出来的东西变得最有价值。如果其他的部分都还是乱糟糟的,至少你已经完成了最重要的。

不要过度考虑问题

我可以站在白板前面一整天策划事情,但是这并不意味着事情会向更好的方向发展,这仅意味着事情将变得更复杂。
我的意思并不是“你不应该去做任何策划”,只是如果我会在实现程序的时候会很快遇到我没考虑过的问题的话,那为什么我不去尝试把它做好呢?像戴夫·法洛所说的,“魔鬼居住于细节中,而驱走魔鬼的方法是实践,而不是理论”。

去钻研一些东西,但不要钻牛角尖

克里斯和我花费了大量的时间钻研SQL服务器的深层部分。那真的很有趣,我也学到了很多知识,但是过了一段时间我意识到,知道了那么多的知识并不能帮助我解决业务上的问题。

举个例子:我知道在数据表层次,SQL服务器不会接受IU锁——它只会接受IX锁。这是一个性能调整,因为在大多数情况下,IU锁都会升级成IX锁。为了了解这些,我花掉了无数天做实验,我读了很多的书,还在会议上向微软的员工了解情况。然而我用过这个技术 知识吗?没有。

了解软件开发系统的其他方面

这对成为一个优秀的开发者是很重要的,但是若要在一个开发软件的系统中成为优秀的一员,你还需要去了解开发系统中剩下的部分在干什么。QA是如何工作的?项目经理在干什么?业务分析员在忙些什么?这些知识会让你与其他员工产生联系,并使你和他们之间的互动顺畅。

向你周围的人寻求帮助,以便学到更多的知识。有什么好书呢?大多数人都会为你的关注而高兴,并且很乐意帮助你。在这上花一点小时间会对你有很大的帮助。

同事是你最好的老师

在我找到第一份工作的一年后,我们和另一所公司合并了。突然之间身边就多出很多聪明又经验丰富的人。我深刻的记得这是我感到多么自卑和愚蠢。我努力地学习,读了一本又一本的书,还是还是赶不上他们。我发现他们和我比起来有非常突出的优势。

现在,我不会因为和优秀的人一起工作而感到难受。我认为我有一生的时间去学习。我提出问题,并且非常努力地去了解我的同事们是怎么做出结论的。这也是为什么我加入了ThoughtWorks。把你的同事们看成财富,而不是竞争对手。

关 于学习,不论是哪个行业,都是永恒的话题,正如 Jonathan Danylko在总结自己20年的编程经验时所说到,“诚然,总有很多你不知道的技术,你可以从中学习以保持不落后。如果你有一种灵巧的方式来获取你需要 的新技术,那你每天都应该坚持学习。”(编注:ThoughtWorks是一家全球知名的IT咨询公司。)

做出可用的软件是最终目标

不管你的算法有多酷,不管你的数据库模式有多棒,不管你的什么什么有多么多么好,如果它不能搔到客户的痒处,它就不值一文。专注于做出有用的软件,同时准备继续做出后续软件,这才是正轨。

有些人真的不可理喻

在 你身边的大多数人总是很优秀的,你向他们学习,他们也向你学习。共同完成一件事情的感觉总是很好。然而不幸的是,你也有可能遇到例外。因为某些原因,人可 能会变得冷漠刻薄。萎靡不振的老板啊,满口谎言的同事啊,无知愚昧的顾客什么的。不要把他们看的太重。尽量避开他们,尽量把他们所带来的痛苦和影响降到最 小,但不要自责。只要你保持诚实并且尽力去工作 ,你就完成了你该做的事情。

<think>好的,我现在需要帮助用户评估华为OD岗位对于有10以上Java开发经验的杭州软件工程师的职业发展价值。首先,我需要仔细分析用户的问题,并确保全面覆盖各个关键点。 用户提到的是华为OD岗位,所以首先我要了解华为OD的具体情况。根据提供的引用,特别是引用[1]和[4],华为OD是部门直招,流程快,薪资范围在15-25k,Base南京,但用户问的是杭州的情况。可能杭州也有类似的机会,需要确认是否存在地域差异,但引用中没有明确提到杭州,可能需要假设OD在不同地点有类似的架构。 接下来,用户有10Java经验,这在技术深度和项目经验上都是优势。华为OD可能提供的技术挑战和项目规模对于职业发展很重要。根据引用[4],岗位要求熟悉Java/C,所以技术栈匹配。大厂项目经验对职业背书有帮助,尤其是华为这样的知名企业,能提升简历含金量,引用[1]和[4]提到OD属于华为,因此项目经验可能被认可。 职业发展路径方面,华为内部是否有转正机会?引用[1]提到OD部门直招,但未明确内部晋升机制。通常OD岗位可能有转为正式员工的机会,但需要内部表现和考核。此外,华为的技术积累和行业资源对长期发展有利,特别是在云计算、大数据等领域,这对Java工程师来说是加分项。 地域因素方面,杭州作为互联网和科技企业聚集地,华为OD岗位可能提供本地机会,减少迁移成本。同时,杭州的生活成本和工作机会平衡,对稳定性有帮助。 潜在挑战方面,OD岗位的稳定性可能不如传统岗位,引用[3]提到科锐国际的OD项目组,可能涉及外包或项目制,需确认华为OD的具体雇佣形式。此外,工作强度方面,引用[2]提到其他公司的加班情况,但华为OD的具体情况不明确,可能需要考虑华为的工作文化。 后,综合评估需权衡技术提升、职业背书、晋升机会和稳定性。对于10经验的工程师,如果寻求技术挑战和知名企业经历,华为OD可能有价值,但需确认内部发展路径和岗位性质。 现在需要将上述思考整理成结构化的回答,引用相关引用,并生成相关问题。</think>### 华为OD岗位对杭州10Java开发经验工程师的职业发展价值评估 #### 1. **岗位核心优势分析** - **技术挑战与项目资源** 华为OD岗位涉及云计算、大数据等高复杂度领域,与10经验工程师的技术深度匹配。参与大规模项目可提升架构设计能力,例如分布式系统开发经验积累[^1][^4]。 - **职业背书效应** 华为作为头部科技企业,其项目经历能显著增强简历竞争力,尤其在杭州互联网产业圈具有较高认可度。 - **转编通道可能性** OD岗位存在考核转正式编制的机制,需关注内部KPI达成情况。正式员工可享受更完整的职级体系与股权激励[^1]。 #### 2. **杭州地域特性影响** - **产业集群优势** 杭州聚集阿里、网易等科技巨头,华为杭州研究所聚焦5G、物联网等领域,与本地产业形成技术协同效应。 - **生活成本权衡** 相较于北上深,杭州房价与通勤压力相对缓和,但需确认OD岗位是否提供住房补贴等属地化福利(引用未明确说明)。 #### 3. **潜在风险提示** - **岗位性质界定** OD(Outsourcing Dispatch)可能涉及第三方派遣,需明确劳动合同主体是否为华为子公司或合作机构,影响职级认定与福利体系[^3]。 - **龄与晋升瓶颈** 10经验工程师需评估PaaS团队内部晋升空间,部分OD部门存在“技术天花板”,需提前确认技术专家路线可行性。 #### 4. **竞争力提升建议** - **重点突破领域** 强化微服务架构(Spring Cloud/Dubbo)、云原生(Kubernetes)等技能,匹配华为云业务需求。 - **内部人脉构建** 通过技术社区参与华为开发者活动(如HDC大会),增加内部转岗机会触达率。 ```java // 示例:云原生技术栈应用场景 public class CloudNativeDemo { @KubernetesPod public void deployMicroservice() { SpringBootApplication.run(OrderService.class); // 容器化部署与服务网格集成 IstioConfig.applyTrafficPolicy(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值