软件工程师第一个bug_我作为软件工程师的第一年学到的东西

软件工程师第一个bug

I just completed my first full year as a software engineer and it absolutely flew by.

我刚完成第一年的软件工程师生涯,就这样过去了

Along the way, I learned a lot and I wanted to take some time to reflect on it and share what I've learned.

在此过程中,我学到了很多东西,我想花一些时间对此进行反思并分享我所学到的东西。

导师制 (Mentorship)

For a while, I downplayed the importance of mentorship in career growth. It takes a long time to find a good mentor, and quite frankly, I still haven't taken the time to find one.

有一阵子,我低估了导师制对职业发展的重要性。 找到一位优秀的导师要花很长时间,而且坦率地说,我仍然没有花时间去找一位。

Instead, I opted to learn as much as I could from senior engineers on my team. I was luckily comfortable enough with them to even ask career-related questions. Some examples of questions or advice I frequently asked for included:

相反,我选择向团队中的高级工程师学习尽可能多的东西。 我很幸运地与他们融洽相处,甚至可以提出与职业相关的问题。 我经常问的一些问题或建议包括:

  • What are some good resources to learn x?

    有什么好的学习x的资源?
  • What are some things you look for in code reviews?

    您在代码审查中寻找什么?
  • What are some things you wished you knew at the beginning of your career?

    您希望在职业生涯开始时知道些什么?
  • What was your salary at x years of experience?

    在x年的工作经验中,您的薪水是多少?

成为自己的拥护者 (Be your own advocate)

In my experience, when you start a new job as a junior developer, your coworkers will underestimate you at every turn. I've gotten work assigned that's unfortunately simple, uninteresting, and too easy.

以我的经验,当您开始担任初级开发人员的新工作时,您的同事会低估您。 不幸的是,我分配的工作很简单,没意思,而且太容易了。

This was really frustrating because I felt myself growing bored at my job because I was doing things that weren't appropriately challenging. And, I'm guilty of letting this go on for too long (2-2.5 months).

这真令人沮丧,因为我感到自己对工作感到无聊,因为我做的事情没有适当的挑战性。 而且,让我继续进行太长时间(2-2.5个月),我感到内。

It took a lot of internal pep talks, but I finally spoke up about it during a sprint planning meeting.

进行了许多内部鼓舞人心的演讲,但我在一次Sprint计划会议上终于谈到了这一点。

In hindsight, I didn't say much – I said I wanted more complex things to do. Then, I continued actively trying to take on tasks that I thought would be more appropriate, rather than trusting my coworkers to know what was best for me.

事后看来,我没有多说-我说我想做更复杂的事情。 然后,我继续积极尝试执行我认为更合适的任务,而不是让我的同事知道最适合我的事情。

了解如何寻求帮助 (Learn how to ask for help)

I will admit, I'm still working on this one. I used to ask for help pretty readily early on, but as time passed, I got increasingly self-conscious about it. I was worried that I wasn't showing a better understanding of the code base over time. I was worried that my coworkers might think that I wasn't learning fast enough or that I just wasn't good at coding.

我承认,我仍在从事这一工作。 我过去常常很早就寻求帮助,但是随着时间的流逝,我变得越来越自觉。 我担心随着时间的流逝,我无法对代码库有更好的了解。 我担心我的同事可能会认为我学习速度不够快,或者我只是不擅长编码。

Getting over that insecurity and general imposter syndrome has been difficult. I can't say I've truly gotten over it, but I've taken some steps to mitigate the feeling, including:

克服这种不安全感和一般冒名顶替综合症一直很困难。 我不能说我已经真正地克服了它,但是我已经采取了一些措施来减轻这种感觉,包括:

  • Writing down the question that I had or what I was having difficulty with. This showed me that over time, my questions were generally getting "smarter" and that I was asking about more complex things.

    写下我遇到的问题或遇到的困难。 这向我表明,随着时间的流逝,我的问题通常越来越“聪明”,并且我在询问更复杂的事情。
  • Teaching others what I found. If another engineer had a question that I could answer, I'd offer up my help even if I wasn't certain I was right. As you can imagine, my responses were littered with "I think", "Someone please correct me if I'm wrong", "maybe", "possibly", and "it could be"'s. Despite my fears about doing this, I tried my best to remember that it would be better for me in the long run. I could share what I had learned with others while getting feedback of my understanding from other engineers.

    教别人我发现了什么。 如果其他工程师有一个我可以回答的问题,即使我不确定自己是对的,我也会提供帮助。 可以想象,我的回答中充满了“我认为”,“如果我错了,请有人纠正我”,“也许”,“可能”和“可能是”。 尽管我担心这样做,但我尽力记住从长远来看对我来说会更好。 我可以与其他人分享我学到的东西,同时可以从其他工程师那里得到我的理解反馈。
  • Talking about what I was feeling. Another junior engineer started at the same time I did, so I found that talking to her about my insecurities was really helpful. She was able to share how she was struggling as well, and it made me feel like I wasn't alone, or falling behind.

    谈论我的感受。 我是在同一时间开始了另一位初级工程师的工作,因此我发现与她交谈有关我的不安全感确实很有帮助。 她也可以分享自己的挣扎方式,这让我感到自己并不孤单,也没有落后。

Another reason I stopped asking for help was that often times, I got too much help. I would go to a senior engineer with what I thought was one simple question, and I would leave with all of the interesting parts of the task completed for me. I've been working on trying to ask more specific questions, and speaking up when I think I've got what I wanted, so the help I receive stops right there.

我停止寻求帮助的另一个原因是,我常常得到太多帮助。 我会去找一个高级工程师,我认为这是一个简单的问题,而我会把所有有趣的部分留给我完成。 我一直在努力尝试提出更具体的问题,并在我认为自己有想要的东西时大声说出来,因此得到的帮助就在那里停下来。

您真的不必成为专家-确实如此。 (You really don't have to be an expert – really.)

"You don't have to be an expert". I heard this so many times while I was considering speaking at local meetups and conferences, and when I started trying to write technical articles. I didn't believe it for a long time – surely that's just what people are saying while they're already really good at said thing.

“您不必成为专家”。 当我考虑在当地的聚会和会议上演讲以及尝试撰写技术文章时,我听到了很多次这样的话。 我很久没有相信它了-当然,这就是人们所说的,尽管他们已经非常擅长于所说的事情。

But one week, work had me diving into a very specific problem – we were upgrading react-router from v3 to v4. This upgrade required a lot of research as some key libraries were deprecated, and there were a ton of breaking changes.

但是有一个星期,工作使我陷入了一个非常具体的问题–我们正在将react-router从v3升级到v4。 由于不推荐使用某些关键库,因此此升级需要大量研究,并且存在大量重大更改。

I ended up learning so much about this one specific library. Over the course of many days, I had read so much documentation, github issues, and guides. I took all of the information I found and consolidated it since I hadn't found any one guide that would help explain what was going on in depth.

我最终对这个特定的图书馆学到了很多东西。 在许多天的过程中,我阅读了很多文档,github问题和指南。 由于没有找到任何指南可以帮助您深入解释所发生的事情,因此我将所找到的所有信息都进行了合并。

So, I wrote one myself. It didn't get too much attention, of course. More importantly, I was relieved no one came after me with pitchforks.

所以,我自己写了一封信 。 当然,它并没有引起太多关注。 更重要的是,让我感到宽慰的是没有人用干草叉来追赶我。

Then, I thought about how many "intro to x" articles I read when I first started to learn a new language or framework. They were pretty basic articles, requiring a bit of background knowledge, but overall nothing too technically-controversial.

然后,我想到了当我第一次开始学习一种新的语言或框架时,阅读了多少篇“ x入门”文章。 它们是非常基础的文章,需要一些背景知识,但总体而言,在技术上没有太大争议。

That's when I decided that React Hooks was going to be the topic of my next article. I wasn't an expert on React Hooks by any measure. It had literally just come out and I'd only used it for some personal projects, but I'd written an article about it. So, really, you don't need to be an expert.

那是我决定React Hooks将成为下一篇文章的主题的时候。 无论如何,我都不是React Hooks的专家。 它只是从字面上出来,我只用于一些个人项目,但是我写了一篇有关它的文章。 因此,实际上,您不需要成为专家。

与您的经理一对一地利用 (Take advantage of one-on-ones with your manager)

And if you don't do them currently, ask for them. I have mine once every two weeks. For me, I found these one-on-ones were a great opportunity for me to reflect on my work, ask questions about things I was confused about, and give general feedback about things that were working well and things that weren't.

如果您目前不这样做,请提出要求。 我每两周有一次。 对我而言,我发现这些一对一的机会对我来说是反思自己的工作,询问有关我困惑的事情的问题,并就运行良好和不正常的问题提供一般性反馈。

Some specific questions and feedback included:

一些特定的问题和反馈包括:

  • How does this piece of the product work?

    这件产品如何工作?
  • Do you see a consistent theme of things in my PRs that could be improved?

    您认为我的PR中有一个一致的主题可以改进吗?
  • I'm enjoyed working on x, but I want to continue exploring other things, so do you think I could start getting work related to y?

    我很喜欢x的工作,但是我想继续探索其他事物,那么您认为我可以开始从事与y相关的工作吗?

Because of these dialogues, I was able to get different kinds of tasks that I was more interested in, learn a lot more about the code base, and generally make parts of my job easier.

通过这些对话,我能够获得自己更感兴趣的各种任务,了解更多有关代码库的知识,并通常使我的工作更加轻松。

Each manager is different, though – so you may not be comfortable with asking the kinds of questions I've suggested, but at the very least, hopefully you can get some useful feedback on your work.

不过,每个经理都是不同的–因此,您可能不愿意问我提出的各种问题,但至少,希望您能对您的工作获得一些有用的反馈。

文件 (Document)

When you're early in your career especially, it's important to document what you're doing on a daily basis. It helps you see your growth, understand your work better, and overall, will help you reflect and understand what you've been working on. As a bonus, you'll be able to come up with points on your resume way easier!

尤其是在您的职业生涯初期,记录每天的工作非常重要。 它可以帮助您看到自己的成长,更好地了解您的工作,并且可以从总体上帮助您反思和了解自己的工作。 作为奖励,您将可以轻松地在简历中提出积分!

I'm admittedly pretty bad at this. I jot things down in a notebook every week or so, and when I do, I only really take notes of the more complicated parts of our product. Ideally, you'd want to jot down what you accomplished that day and take notes on the code base and general "business logic" more often.

我承认这很糟糕。 我每周左右都会在笔记本上记笔记,当我这样做时,我只会真正记下产品中较复杂的部分。 理想情况下,您希望记下当天完成的工作,并更频繁地记下代码库和一般的“业务逻辑”。

I don't think this is something that's talked/written about enough, but one of the people I follow on twitter, Cecelia Martinez, recently asked her Twitter followers about tools they use to document things, so definitely check it out if that's something you're interested in.

我认为这不是足够谈论/写的东西,但是我在Twitter上关注的一个人Cecelia Martinez最近向她的Twitter关注者询问了他们用于记录事物的工具,因此请务必检查一下这是否是您需要的东西有兴趣。

参与整个社区 (Engage in the community at large)

The tech industry is problematic in many ways, but as a woman in tech, it helped me to follow others who had experienced similar things to me. Tracy Lee (CEO of This Dot Labs) has an excellent list of women in tech to follow.

科技行业在很多方面都存在问题,但是作为一名科技女性,它帮助我追随了经历过与我相似的其他人。 特蕾西•李 ( This Dot Labs的首席执行官)拥有大量的科技女性

I also joined my city's women who code chapter and I go to a few local meetups. As someone who gets very nervous meeting new people, I found it was a great way to network in a welcoming and friendly environment.

我还加入了我所在城市的女性代码编写部门,并参加了一些当地聚会。 作为一个在结识新朋友时非常紧张的人,我发现这是在热情友好的环境中建立联系的一种好方法。

查找非编码爱好 (Find non-coding hobbies)

When I first started working, I felt a lot of pressure to keep up with the newest tech and to continue learning new things. But, I burnt out quickly because that was all I did.

刚开始工作时,我感到跟上最新技术并继续学习新事物的压力很大。 但是,我很快就筋疲力尽,因为那是我所做的一切。

I took a few steps back and decided to explore doing things I enjoy that weren't coding-related. I starting learning how to play the guitar and how to speak Hindi, I joined a book club, and I started going to the gym more.

我退后了几步,决定探索我喜欢的与编码无关的事情。 我开始学习如何弹吉他以及如何讲北印度语,我加入了读书俱乐部,然后开始更多地去体育馆。

All in all, I've learned a lot, and hopefully you've taken away some lessons from my experiences. I'm excited for what this next year holds for me!

总而言之,我学到了很多东西,希望您从我的经验中学到了一些教训。 我为明年的比赛感到兴奋!

翻译自: https://www.freecodecamp.org/news/my-first-year-as-a-software-engineer/

软件工程师第一个bug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值