简介:技术战略入门
让我们探讨一下商业影响和技术如何影响你的编程职业生涯。
代码本身并无独立价值
这是技术战略的一个极高层次概述。它关注的是软件的商业本质,而非创造软件的艺术与科学本身。
显而易见,你的编码工作本身并不具备独立价值。只有在切实解决某个经济问题并产生实际应用价值时,才能带来可持续的真实世界影响。
技术战略与你的职业生涯
对你职业生涯而言,这一点尤为重要:你的编程能力将与公司的成功紧密关联。即便不了解具体贡献,人们也会认为早期加入Uber的工程师能力更强,而相比之下,一个默默无闻初创公司里的工程师,即使实际成就更突出,也往往不被认可。
理解你的业务
即使你对业务层面不感兴趣,也不打算成为创始人,但对所在业务的理解,能让你提出有价值的建议,并根据经济机会合理安排工作的优先级。
这看似微不足道,但作为离代码最近的人,你拥有极大的自主权来塑造最终交付的产品体验:
- 你负责估算交付时间,并预警严重的技术瓶颈。
- 你在“快速实现”和“正确实现”之间做出技术权衡。
- 你决定是否抽象以支持扩展性和可插拔性,或拒绝过早抽象。
- 你评估商业解决方案与自研方案的成本,即著名的“自建 vs. 采购”决策。
- 你可以选择为可能的系统故障进行防御性编码,或判断某些失败比修复更可接受。
- 你关注无障碍、UI/UX、系统可用性、响应时间等细节,因为这些直接影响用户体验。
- 你能从数据模型和现有框架(及插件)中发现容易实现的“低垂果实”式改进点,并主动向产品负责人提出建议。
开发者也是设计师和产品经理
随着自主权提升,你将有机会选择自己参与的项目,甚至提出并主导新方向(这是极佳的职业发展路径)。
如果你读过谷歌地图卫星视图差点被命名为“鸟瞰模式”的故事——这个名称由CEO提出,却被产品团队忽视——你就会明白,你的影响力甚至可以延伸到命名产品这一行为,而这本不在任何开发者的职责范围内。当关键时刻来临,开发者就是设计师,也是最后的救火产品经理。
商业判断力
随着职位晋升,你还需要不断提升自己的商业判断力。事实上,只要看看任何一份工程职业发展阶梯,就能清楚地看到:你的商业影响力直接决定了职业成长的速度。
你所使用的工具和技术
最后,你所使用的技术平台也深受其背后的经济激励驱动。“开源免费”并不等于“完全脱离商业考量”,也不意味着发展方向由民主投票决定。无论是浏览器、公有云、数据库、支付与履约平台,还是编程语言发行版本,背后都投入了巨额资金——有些甚至超过十亿美元。