【职场分享】资深工程师的挑战和策略 Challenges and Strategies of Being a Staff Engineer

这篇文章是我第一次用ChatGPT写的博客。以ChatGPT英语访谈的形式讨论做Staff Engineer的挑战和策略,ChatGPT提问,我回答,然后由ChatGPT整理成博客文章,并生成了这张封面图片。

提示/Prompt

Now let’s pretend to have an interview. You are the interviewer, and I’m a staff machine learning engineer in the advertising business.

中文版

作为一名资深工程师,我意识到我的职责远远超出了技术执行的范畴。这个层级的领导力不仅在于管理技术复杂性,还包括引导团队、推动基础设施改进、培养指导关系,并做出影响整个团队方向的艰难但必要的决策。作为一名在男性主导领域工作的女性,我还面临着另一层复杂性,经常需要在保持合作和亲和力的同时坚持自己的立场。

在这篇博客中,我将分享我的职业经历,提供如何应对领导力挑战、指导他人并在坚持合作与包容的团队文化的同时保持坚定的见解。我将深入探讨一些具体案例,说明我如何应对技术障碍、人际关系动态以及在为团队成功做出贡献的同时保持不越界的平衡。

推动变革:基础设施迁移

我主导的一个重大项目是推动团队采用公司标准的机器学习工具。当时,团队使用了各种非标准工具,效率低下且难以维护。这些工具在开发的早期阶段非常有效,但随着公司的发展和基础设施的成熟,转向更标准化的解决方案变得势在必行。

我们公司有一个名为“GoldenPath”的概念,指的是针对不同领域的标准框架和最佳实践。比如,后端开发、数据工程和机器学习都有对应的GoldenPath。我希望将团队的机器学习工作流与公司的GoldenPath基础设施对齐,从而让我们更容易维护和迭代模型。

获得团队的支持并不容易,特别是一些工程师已经习惯了旧工具,并且不愿意改变。尤其是我的一位同事担心迁移会阻碍她正在开发的新模型项目。她担心迁移到新基础设施会减缓她的进度,这让我处于一个两难的境地。

为了解决这些担忧,我撰写了一份详细的RFC,列出了迁移的范围以及每个步骤的具体时间表。我明确表示,这个过渡将被精心规划,以避免阻碍她的项目进行。实际上,我强调了迁移完成后,新基础设施将消除她目前面临的许多效率低下问题,从而加速她的开发工作。

通过提供透明的信息,并将我的项目时间表与她的项目对齐,我成功地消除了她的顾虑,并得到了团队的支持。这次经历让我认识到,在推动变革时,清晰的沟通和周密的计划是多么重要。它也让我意识到,必须以长期利益为框架来推销基础设施改进。

在男性主导领域中坚定表达自我

作为一名女性,在一个男性主导的领域中,我经常面临这样的挑战:如何坚定地表达自我,而不显得过于咄咄逼人或对抗性太强。在与男性资深工程师开会时,我注意到他们往往更加直言不讳,表达自己的想法非常自信。刚开始时,我担心如果我不以同样的方式表达自己,可能会被认为能力不足或信心不够。

为了解决这个问题,我开发了一些策略,以确保我能够自信地表达自己的想法,同时保持合作的态度。一个有效的策略是充分准备会议。我通常会提前制定议程,帮助我组织思路,确保我能清晰地阐述自己的观点。有时,我会与其他与会者分享议程,而有时则只是为了自己的参考。

另一个对我很有帮助的策略是,在表达我的想法时不急于求成。如果我被打断,我不会犹豫,坚定地要求完成我的发言。我会以一种坚定但尊重的语气说:“请让我说完。”这样可以让其他人知道我的发言同样重要,我也不惧怕在讨论中表达自己的立场。

一个重要的教训是不要怀疑自己。作为女性,我们常常担心会被认为过于强势,而实际上,我们只是在坚持自己的立场。我经理的反馈让我知道,我的坚定程度在许多情况下不仅适当,而且是必要的。这些反馈帮助我克服了在男性主导环境中工作时的自我怀疑。

然而,我也意识到,有时在与较为资浅的工程师合作时,坚定的态度需要适当收敛。在这些情况下,我更多地充当引导者,提出问题以鼓励他们发表意见,而不是直接表明自己的看法。这种平衡使我能够有效地领导,而不抑制其他人的声音。

通过指导他人建立信心

作为一名资深工程师,指导他人是我角色中至关重要的一部分,我对此非常重视。对我来说,指导不仅仅是传授技术知识,更是赋予初级工程师自信,鼓励他们发表意见,并让他们对自己的工作负责。我努力营造一个支持性的环境,使受指导者能够放心地进行尝试、犯错并从中学习。

有一个具体的例子是一位团队中的初级工程师在开发机器学习模型时遇到了困难。与其直接帮助她解决问题,我通过一系列问题引导她自己找到解决方案。通过这样做,我不仅强化了她的批判性思维能力,还提升了她对自己能力的信心。

此外,我还特别鼓励冒险,尤其是在初级工程师对尝试新方法或学习新技能感到犹豫时。我在中国的成长经历对我探索和冒险的态度产生了深远的影响。我的父母虽然没有上过大学,却一直鼓励我去探索和好奇。我记得小时候我尝试自己包饺子,尽管有风险和挑战,但父母支持我的努力,这让我在尝试新事物时充满信心。正是这种支持性的环境,培养了我拥抱创新和冒险的心态,我也将这一点带入了我的职业生涯。通过分享自己的冒险经历,我向她保证失败是学习过程的一部分,冒险往往会带来意想不到的突破。

创造包容的团队动态

在小组环境中,我经常发现自己扮演组织者的角色,确保大家步调一致。我的朋友们开玩笑地称我为“小组妈妈”,因为我总是确保事情顺利进行并按时完成。虽然这有时可能显得有些控制欲,但我的真正目标是创造一个有组织和结构化的环境,让每个人都能有所贡献。

然而,在专业团队环境中,我意识到过于强势有时会压制更内向的团队成员的贡献,尤其是在与资浅工程师开会时,他们可能因为感到害怕而不敢发言。

我应对这种情况的方法是故意为其他人留出表达意见的空间。我会直接询问那些较安静的团队成员的意见,比如说:“我们还没有听到某某的意见,你怎么看?”或“还有其他人想补充的吗?”通过点名或开放发言机会,我鼓励每个人参与讨论并感到自己的发言被重视。

尽管我抱着最好的意图,我也明白,坚定和直言不讳并不总是一帆风顺。有时候,我无意中在会议上占据了太多发言空间,或者在推动某个解决方案时过于坚持,没有给其他人机会发表意见。在这些情况下,我会反思哪里出了问题,并在今后调整我的做法。

平衡短期成果与长期目标

我面临的更具挑战性的经历之一是开发新模型的项目。项目最初看起来很有前景,但随着时间的推移,模型在离线测试中的表现不佳。尽管团队付出了很大努力,但在改进结果方面几乎没有进展。我们陷入了一个十字路口:是继续投资于一个未见成效的项目,还是重新集中精力于更高影响力的事情?

作为一名资深工程师,我处于一个艰难的境地。项目由另一位同事领导,我不想越俎代庖,但我也无法忽视团队资源被消耗却没有看到明显的回报。最终,我决定后者。在与我的经理讨论并得到他的建议后,我在团队会议上表达了我的担忧。我没有直接批评项目或另一位工程师的领导,而是从大局出发,提出重新审视所有正在进行的项目,以确定我们的时间应如何最好地分配。最终,团队决定重新考虑该模型项目,并将我们的精力转向更有即时影响的项目。

紧跟机器学习趋势

在快速发展的机器学习领域,保持技术的前沿非常重要。为了确保团队能够利用最有效的工具和方法,我采取了多种方法来保持学习和适应。

首先,我定期安排时间阅读行业博客、研究论文,并参加研讨会或会议。这些资源为我提供了关于新算法、工具和应用的见解,帮助我了解该领域的前沿动态。我还与机器学习领域的思想领袖和社区保持联系,这帮助我判断行业的发展方向以及哪些创新可能对我的团队有用。其次,我相信亲自进行实验操作。每当有新的框架或工具引起关注时,我都会亲自测试。这不仅帮助我理解技术细节,还让我能够判断这些解决方案是否对我的团队有潜在的价值。例如,我花时间构建小型项目或复现算法,以确定这些解决方案是否适合我们的用例。最后,我与团队保持开放的对话。我们经常举行技术讨论或学习会议,分享知识。这些讨论为同事提供了分享他们自身发现的平台,确保我们集体走在行业前沿。通过将个人研究与团队学习相结合,我营造了一个创新和成长共同承担的环境。

English version

As a staff engineer, I’ve come to realize that my responsibilities go far beyond just technical execution. Leadership at this level is about balancing several important roles — managing technical complexity, guiding teams, advocating for infrastructure improvements, fostering mentorship, and making difficult but essential decisions that affect the entire team’s direction. Being a woman in a male-dominated field adds another layer of complexity, often requiring me to assert myself while ensuring that I remain collaborative and approachable.

In this blog, I will share experiences from my career, offering insights on navigating leadership challenges, mentorship, and assertiveness while still staying true to a collaborative and inclusive team culture. I’ll dive into specific examples where I faced technical roadblocks, interpersonal dynamics, and the constant balance of contributing to the team’s overall success without overstepping boundaries.

Advocating for Change: The Infrastructure Migration

A major initiative I led was advocating for the adoption of company-standard tools for machine learning. At the time, my team was using a variety of non-standard tools, which had become inefficient and difficult to maintain. These tools had served us well in the early stages of development, but as the company grew and the infrastructure matured, it became clear that we needed to shift to more standardized solutions.

At my company, we have a concept called the “GoldenPath,” which refers to standard frameworks and best practices for different domains. For instance, there’s a GoldenPath for backend development, data engineering, and machine learning. My goal was to align our team’s machine learning workflow with the company’s GoldenPath infrastructure, which would make it easier to maintain and iterate on models going forward.

Getting buy-in from the team wasn’t easy, particularly because some engineers had grown accustomed to the old tools and were hesitant to switch. One of my colleagues, in particular, was worried that the transition would block her ongoing project to develop a new model. She feared that moving to the new infrastructure would slow down her progress, which put me in a difficult position.

To address these concerns, I created a detailed RFC outlining the scope of the migration and the specific timelines for each step of the process. I made it clear that the transition would be carefully planned to avoid blocking her project. In fact, I emphasized how, once the migration was complete, her development efforts would be accelerated because the new infrastructure would eliminate many of the inefficiencies she had been facing.

By providing transparency and aligning my project’s timeline with hers, I was able to ease her concerns and get buy-in from the team. This experience taught me the value of clear communication and thoughtful planning when driving change. It also highlighted the importance of framing infrastructure improvements in terms of their long-term benefits for everyone involved.

Navigating Assertiveness in a Male-Dominated Space

As a woman in a male-dominated field, I’ve often faced the challenge of asserting myself without coming across as too aggressive or confrontational. In meetings with male staff engineers, I’ve noticed that they tend to be more outspoken and assertive in presenting their ideas. Early on, I worried that if I wasn’t equally assertive, I might be perceived as less capable or less confident.

To counteract this, I’ve developed strategies to ensure that I can assert my ideas confidently while maintaining a collaborative approach. One of the techniques I use is preparing thoroughly before meetings. I usually draft an agenda that helps me organize my thoughts and ensure that I can articulate my points clearly. Sometimes I share this agenda with others in the meeting, and other times I keep it for my own reference.

Another strategy I’ve found helpful is taking my time to express my ideas. If I’m interrupted, I don’t hesitate to ask for the space to finish my thought. I’ll say something like, “Please let me finish,” in a firm but respectful tone. This lets others know that my contributions are just as important and that I’m not afraid to assert my place in the discussion. 

One key lesson I’ve learned is not to second-guess myself. Often, as women, we may worry about being perceived as too assertive, when in reality, we’re simply holding our ground in discussions. I’ve received feedback from my manager that reassured me that my level of assertiveness is perfectly appropriate and even necessary in many situations. This feedback has helped me overcome some of the self-doubt that comes with working in a male-dominated environment.

However, I also recognize that there are times when assertiveness needs to be tempered, particularly when working with more junior engineers. In those cases, I take a more guiding role, asking questions to encourage input from others rather than simply stating my opinion. This balance allows me to lead effectively without stifling other voices.

Building Confidence in Others through Mentorship

Mentorship is a vital part of my role as a staff engineer, and I take it seriously. For me, mentorship goes beyond simply sharing technical knowledge — it’s about empowering junior engineers to find their confidence, voice their opinions, and take ownership of their work. I strive to create a supportive environment where mentees feel comfortable experimenting, making mistakes, and learning from them.

One specific instance where I took on a mentoring role was when a junior engineer on my team was struggling with a machine learning model she was developing. Instead of jumping in and solving the problem for her, I guided her through a series of questions that helped her arrive at the solution herself. By doing this, I was able to reinforce her critical thinking skills and boost her confidence in her own abilities.

I also make it a point to encourage risk-taking, particularly when junior engineers feel hesitant to try new approaches or learn new skills. My upbringing in China significantly shaped my approach to exploration and risk-taking. My parents, who never went to college, always encouraged me to explore and be curious. I remember a time when I was a child, trying to make dumplings on my own. Despite the risks and challenges, my parents supported my efforts, which instilled in me a sense of confidence in trying new things. This supportive environment fostered a mindset that embraces innovation and risk-taking, which I carry into my professional life. Drawing from my own experience of being encouraged to take risks, I reassured her that failure is part of the learning process and that taking calculated risks can often lead to unexpected breakthroughs.

Creating Inclusive Team Dynamics

In group settings, I often find myself taking on the role of organizing and ensuring that everyone is on the same page. As my friends jokingly call me, I can sometimes become the “mama bear” of the group, making sure things run smoothly and on time. While this can come across as controlling, I genuinely aim to create an organized and structured environment where everyone can contribute.

In a professional team setting, however, I recognize that being too assertive can sometimes overshadow the contributions of more introverted team members. This is especially true when I’m in meetings with junior engineers who may feel intimidated to speak up. 

One way I navigate this is by intentionally creating space for others to share their thoughts. I’ll ask quieter team members directly for their input, saying something like, “So-and-so, we haven’t heard from you yet. What are your thoughts on this?” or “Does anyone else have anything to add?” By calling on individuals or opening the floor for input, I encourage everyone to participate and feel valued in the conversation.vI’ve found that this not only fosters a more inclusive environment but also brings fresh perspectives to the table. Often, the quieter members of the team have insightful ideas that might otherwise go unheard if they weren’t actively invited into the conversation.

Despite my best intentions, I’ve learned that being assertive and outspoken doesn’t always go smoothly. There have been times when I’ve inadvertently taken up too much space in a meeting or pushed too hard for a particular solution without giving others a chance to weigh in. In these cases, I try to reflect on what went wrong and adjust my approach moving forward. One lesson I’ve learned is to give others more room to express themselves, particularly when brainstorming or collaborating on complex problems. By actively stepping back at times, I’ve been able to foster more collaboration and make room for different voices.

Balancing Immediate Results and Long-Term Goals

One of the more challenging experiences I encountered was a project to develop a new model. The project initially seemed promising, but as time went on, it became clear that the model wasn’t performing well during offline testing. Despite considerable efforts from the team, there was little progress in improving the results, and we found ourselves at a crossroads: should we continue investing in a project that wasn’t yielding results or refocus our efforts on something with higher impact? As a fellow staff engineer, I found myself in a difficult position. The project was being led by another peer, and I didn’t want to step on their toes. However, I couldn’t ignore the fact that the team’s resources were being drained without seeing any clear return on investment. The decision weighed heavily on me. Should I remain in my lane and trust my colleague to guide the project, or should I speak up and suggest that we pivot to more pressing initiatives?

Ultimately, I chose the latter. After speaking with my manager and getting his input, I voiced my concerns during a team meeting. Instead of directly criticizing the project or the other engineer’s leadership, I framed my suggestion in a way that focused on the bigger picture. I proposed that we take a step back and review all the ongoing projects to determine where our time would be best spent. My goal was to shift the conversation towards prioritization and efficiency without making anyone feel defensive. This experience underscored for me the importance of knowing when to assert my opinion for the good of the team and how to do so in a way that respects the contributions of my colleagues.

Staying on Top of Machine Learning Trends

It’s crucial to stay updated on the latest trends in machine learning. The field evolves rapidly, and ensuring that my team is leveraging the most effective tools and methods requires continuous learning and adaptation. I accomplish this in several ways.

First, I regularly allocate time to read industry blogs, research papers, and attend workshops or conferences. These sources offer me insights into new algorithms, tools, and applications that are making waves in the field. I stay connected with thought leaders and communities in the machine learning space, which helps me gauge where the industry is heading and what innovations could be relevant for my team. Second, I believe in hands-on experimentation. Whenever a new framework or tool gains attention, I dive in and test it myself. This not only helps me understand the technical specifics but also enables me to identify any potential value for my team. For example, I’ve spent time building small-scale projects or replicating algorithms to determine whether these solutions would be practical for our use cases. Lastly, I maintain an open dialogue with my team. We often hold technical discussions or learning sessions to exchange knowledge. These discussions serve as a platform for my colleagues to share their own discoveries, and they ensure that we collectively stay ahead of the curve. By combining personal research with team-based learning, I foster an environment where innovation and growth are shared responsibilities.

写在最后

ChatGPT最终生成的博客并没有涵盖访谈中所涉及的所有内容,不知道是因为免费版的记忆不够还是其他原因,所以我进行了微调,添加修改一些内容。用不同promot生成的博客文章也不太一样,特别是小标题和表达方式,最终的博客综合了几个不同版本加上我的编辑。根据我用ChatGPT的经验,直接用ChatGPT从无到有写文章并不能很好地表达我的逻辑和想法,而用ChatGPT修改润色我已经写好的草稿,对我的帮助更大,特别是对语法和用词的修改,

ChatGPT提的很多问题对我很有启发,让我更有目的性结构性地看待和思考自己的项目和职业发展。有些问题我答不上来,还会让ChatGPT给我一些建议。英文对话和访谈有点像mock interview,对锻炼英语口语表达有意想不到的帮助,推荐大家也试一下用ChatGPT练习。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.