我作为技术主管的第一次经历

2025-05-26

我作为技术主管的第一次经历

大家好!一段时间没写东西了,我回来了,想重新找回状态。我想强调的是,这里分享的经验都基于我的学术和专业经验。因此,请务必记住,这里描述的内容可能只是现实的一小部分,不应被解读为特定流程、程序或服务的最终方案。

我对职业生涯的新阶段感到非常兴奋。我学到了很多,并希望与大家分享这段旅程。我希望这里提供的信息能够对读者有所帮助。

以人为本——软技能的重要性

几年前,我第一次参加招聘流程时,清楚地记得那些几乎枯燥乏味的步骤:HR面试、实践测试、技术负责人面试,最后是经理面试。在我的开发者生涯中,我参加过各种不同模式的面试。当时,我总觉得HR面试不太自在。我当时不太明白为什么,心想:“如果我能达到技术测试的要求,就已经足够胜任这个职位了。”

图片描述

当我担任技术开发主管时,我的职责之一是与人力资源部门(没错,就是那群我当时不明白为什么要参与选拔流程的人)合作,准备一份技术测试,并确定两位从后端领域入手的候选人的面试形式。我以为自己已经了解了后端领域的初级开发人员应该具备哪些能力,以及哪些方面会在测试中体现出差异化。然而,我没想到的是,尽管代码很重要,但除了项目交付之外,还有其他需求:*如何评估候选人的沟通能力?他们对这个职位有什么兴趣?他们所展现的背景如何影响他们是否适合这个职位?这些问题以及其他问题最终与两位候选人提交的代码一样重要,而这是我在早期从事开发人员时从未考虑过的问题。*

我记得当时坐在会议桌前准备做最终决定,却惊讶地发现,关于每位候选人的技术技能讨论得如此之少。部分原因是他们都是入门级候选人,技术技能自然不会那么成熟,而这并非讨论的重点。

然而,即使是更高级的职位,尤其是高级职位,也必须考虑沟通能力、文档处理能力、适应能力、积极主动性以及其他经常提到的技能。除了技术技能之外,这些软技能也是至关重要的,对于职位的成功至关重要。事实上,这正是我接下来要说的。

初级和高级(不,不是中级)之间的界限。

我知道关于经验级别相关术语的含义和分类有很多讨论,比如“高级”。有人说“高级是根据多年的经验来定义的”,也有人声称“在某些公司,一年后就能获得高级经验”。还有人说“初级和高级之间没有明确的区别”,或者“高级人员只负责代码审查和批准 PR”。这些说法有些滑稽,有些则不无道理。事实上,“高级”的概念非常多样化,我无法定义一个通用的标准,但我可以提供一些指导,以便以更个性化的方式理解这一分类。

图片描述

成为一名资深程序员不仅仅意味着拥有技术知识,尽管这无疑非常重要。真正的资深程序员,或者至少是一名优秀的资深程序员,能够解决代码和系统架构方面的复杂问题。维护代码质量、遵循良好的开发实践以及具备项目管理知识都是至关重要的。

关键的区别在于,资深开发人员必须能够独立执行所有这些工作,更重要的是,能够与不同级别和部门的团队合作,以交付尽可能优秀的项目。此外,真正的资深开发人员(或者至少是最优秀的资深开发人员)不仅要领导和指导团队,还要培养和帮助其他开发人员承担新的职位和责任。

我第一次领导项目的经历

当我接手我的第一个项目时,我的老板知道我之前没有领导过其他项目。我只是参与了开发,并制定了一些有利于与管理层沟通的方案。他问我的第一个问题是:“需要多少人以及什么样的人员才能完成这个项目?”我当时并没有立刻得到答案,因为这是一个非常复杂的问题。由于项目还处于提纲阶段,我们对技术栈、完成每个任务需要多少时间以及上级领导感兴趣的其他指标一无所知。为了能够在第二天交付成果,我彻底研究了几种项目管理方法:Pert、规划扑克。我们共同选择了最合适的方法,挑战就此开始。对于团队的每个成员来说,最好的开发平台是什么?最好的技术栈是什么?系统架构将如何运作?我研究了市场上的其他解决方案,监控了每个开发人员的水平,并与管理层进行了多次会面

图片描述

不知不觉中,我与代码的距离越来越远。我的职责变成了提出改进建议,修复一些关键错误,确保项目能够正常运行,或者至少为开发人员的上手打下坚实的基础。剩下的工作包括与开发人员沟通、分配任务、监控指标,以及基本上一只眼睛盯着 Asana(估算项目交付时间),另一只眼睛盯着 Meet,确保我的麦克风没有打开,没有任何不必要的信息“意外”漏掉。

结语与回顾——向大师致以深情

我的职业生涯始于一名开发实习生。有趣的是——你可能会觉得我的说法有点矛盾——我没有任何具体的经验(至少在我的工作记录中没有正式记录)来让我被归类为初级、正式或高级开发人员。我的大部分经验都来自个人项目和大学期间的研究。这是一个循序渐进的过程,直到我意识到我的技能自那以后一直在不断进步。

但是,是的,我作为一名开发人员在不同级别上努力工作,并有机会在我的整个职业生涯中结识不同类型的高级专业人士:

  1. 这位非常能干、高效的高级职员,但不善于沟通,他解决问题时却不解释他的方法。
  2. 这位学长沟通能力和教学能力都很好,但是经常有紧急任务,没时间授课。
  3. 这位资深人士热衷于过度设计和集中技术,但他能按时完成任务并兑现承诺。

最重要的是,尽管这些专业人士存在一些不足之处(虽然可能存在,但平衡需求非常困难),但他们都提供了宝贵的经验。这些经验帮助我塑造了我的职业生涯,让我清楚地认识到系统开发中什么有效,什么无效。

文章来源:https://dev.to/sampseiol1/my-first-experience-as-a-tech-lead-5g28
PREV
初学者入门 CI/CD
NEXT
10个用于SEO的HTML标签