初级程序员 vs. 高级程序员!

2022 年 9 月 22 日 CSDN


整理 | 朱珂欣   

出品 | CSDN程序人生(ID:coder_life)

很多 刚刚踏入职场的“初级 程序员 常常会期待自己在不断提升技能和丰富实践经验后,有朝一日晋级为“高级程序员”。
近日,一篇《是什么造就了高级程序员?编写软件与建筑系统》的文章,在 Ha cker News 上引发了许多程序员的关注 与讨论 。不少 开发小白 感叹: 我该如何跨越成为高级程序员,需要做哪些努力?
那么,这两者之间都有哪些区别呢?

初级程序员 vs. 高级程序员


从工作内容的角度出发,两者最大的区别,其实在于更关注的是“软件”还是“系统”。

初级程序员关心编写软件。因此,会重视代码质量,采用最佳实践,尝试采用尖端技术。他们在学习新技术方面投入了大量时间。对初级程序员来说,最终的目标是创建优雅的、可执行的、可维护的软件。

高级程序员关心构建系统。编写软件只是构建系统中的一个步骤。首先,他们需要对“一个软件是否需要创建”的问题做出思考,例如它会解决什么问题、为什么解决。并且,他们还会询问谁将使用该软件以及以何种规模使用该软件。同时,他们还需考虑软件将在哪里运行,以及如何监控它是否正常工作,软件是否真正解决了问题等。


程序员的不一样经历

事实上,构建系统比编写软件更复杂且困难,但也能带来更多的不一样的经历。

作为最了解软件的人,高级程序员懂得如何运行它、监视它、扩展它,更重要的是,他们的分析思维和解决问题的能力,对产品要求的见解非常有价值。

在构建系统的过程中,高级程序员需要参与以下的工作内容(非详尽):

  • 明确需求 。在与产品经理合作时,能够了解他们的问题并高效解决;

  • 明确非功能性需求。需要与项目经理讨论系统应处理多少用户,对性能、吞吐量、延迟的要求,以及任何安全性或合规性注意事项等;

  • 规划迭代。在团队合作中提出实施计划,确保某个期限内可是实现的目标;

  • 确定依赖关系。在识别了团队外部的依赖关系后,直接与EM或团队合作,为他们获取一些ETA,随之相应地调整团队的目标;

  • 测试。根据公司运营方式,需要与自身团队或QE团队一起决定测试策略。就推出所需的质量阈值达成一致(例如,没有未解决的主要错误或测试覆盖率超过 X%);

  • 部署。与团队合作,决定如何部署系统。例如是否需要一些新的基础架构、是否可以重用现有的基础架构、成本预算等;

  • 可观察性。需要决定如何监控系统的运行状况,并设置解决生产问题的流程。同时,使用第三方解决方案(如相扑逻辑)为此目的设置监视器和仪表板;

    推出沟通。在与团队和 PM 就推出日期达成一致时,需要确保所有利益相关者了解,并检查是否需要更改文档;

    衡量成功。 确定自身知晓项目是否成功的指标,例如是否有人使用新系、用户是否完成任务等,高级程序员可以利用可观察性套件来实现。


网友:“高级”的头衔不等于“高级”的角色


从初级程序员到高级程序员,“打怪升级”之路必然会面临重重挑战。在时间的沉淀下,程序员的技能不断提成,也收获了属于自己影响力,是否就能进阶为高级程序员呢?“高级”、“大师”这类的“头衔”是否真正具备意义?

在Hacker News上,文章得到了许多程序员的反响:

  • “从初级到高级,应有一个客观的进步阶梯,不能用时间来定义”;

  • “虽然技术知识至关重要,但它不应该成为某人能否高级程序员的决定性因素”;

  • “有效沟通能力、协作能力和指导能力对高级程序员也很重要”;

  • “在我的团队中,有几个非常资深的程序员仍然在认真的编码”;

  • “当我不为工作而编码时,我学到的最有趣的技术”。

时下,拥有职场竞争力变得越来越重要。对于程序员而言,夯实自身技术知识、提升技能固然重要,但并非能成为高级程序员的关键。每一个高级程序员都不只是代码的搬运工,也不止于专注技术,他们同样具备思考、协作、沟通等其它的职业能力。如果你想进阶为一个高级程序员,会从哪个方面开始努力呢?

参考链接:

  • https://codewithstyle.info/software-vs-systems/

  • https://news.ycombinator.com/item?id=32809817

— 推荐阅读 —

   
   
     
呼吁停用 C/C++,微软 Azure CTO 更青睐 Rust
深度剖析KVM年度核心技术突破Guest PEBS
Java 19 正式发布,七大特性齐发,最常用的还是 Java 11!

登录查看更多
0

相关内容

程序员可以指在程序设计与互联网某个专业领域中的专业人士或是从事软件撰写,程序开发、维护的专业人员。
《战略思维能力建设练习》美国陆军160页指导手册
专知会员服务
42+阅读 · 2022年10月9日
分布式系统稳定性建设指南2022年(100页pdf)
专知会员服务
24+阅读 · 2022年6月24日
【干货书】Python3编程高级指南,494页pdf
专知会员服务
90+阅读 · 2022年5月18日
【2020新书】高级Python编程,620页pdf
专知会员服务
235+阅读 · 2020年7月31日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
TypeScript 这十年
CSDN
0+阅读 · 2022年10月9日
“敏捷欺骗了开发人员”
CSDN
0+阅读 · 2022年8月3日
一名大专程序员的前端转型之路
CSDN
1+阅读 · 2022年5月3日
程序员大部分时间都在“熟悉系统”
CSDN
0+阅读 · 2022年4月6日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
3+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
Arxiv
0+阅读 · 2022年11月25日
Arxiv
0+阅读 · 2022年11月23日
Arxiv
22+阅读 · 2018年8月30日
Arxiv
15+阅读 · 2018年2月4日
VIP会员
相关VIP内容
《战略思维能力建设练习》美国陆军160页指导手册
专知会员服务
42+阅读 · 2022年10月9日
分布式系统稳定性建设指南2022年(100页pdf)
专知会员服务
24+阅读 · 2022年6月24日
【干货书】Python3编程高级指南,494页pdf
专知会员服务
90+阅读 · 2022年5月18日
【2020新书】高级Python编程,620页pdf
专知会员服务
235+阅读 · 2020年7月31日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
相关资讯
相关基金
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
3+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
Top
微信扫码咨询专知VIP会员