初级开发人员的缺点_作为一名初级开发人员,我如何努力克服自己的挣扎

初级开发人员的缺点

by Syeda Aimen Batool

通过Syeda Aimen Batool

作为一名初级开发人员,我如何努力克服自己的挣扎 (How I’m working to overcome my struggles as a junior developer)

I believe the other name for coding is the “struggle”. And if you are a beginner or a junior developer, this struggle often is multiplied by 100. Learning to code, finding the right resources, making a portfolio, hunting an internship or a junior dev job, and then working on a real-life project — everything can be a struggle.

我相信编码的另一个名称是“奋斗”。 而且,如果您是初学者或初级开发人员,那么这种挣扎通常会乘以100。学习编码,找到合适的资源,进行投资组合,寻找实习或初级开发人员的工作,然后再进行实际项目-一切都会很艰难。

But the good thing about struggling is that you learn and come out of your comfort zone to experience new things and implement new ideas, eventually polishing yourself to be a better version of you.

但是,奋斗的好处是,您可以学习并走出舒适区来体验新事物并实施新想法,最终使自己变得更好。

In the tech industry, there are a lot of success stories presenting a long journey of struggle and learning. Everything looks fascinating from the outside. Especially for junior developers, their senior colleagues and mentors are the best people who come up with great logic and astonish them with their amazing ways of writing code.

在技​​术行业中,有许多成功的故事,这些故事讲述了奋斗和学习的漫长旅程。 从外面看,一切看起来都很迷人。 特别是对于初级开发人员而言,他们的高级同事和导师是最好的人,他们能提出出色的逻辑并以惊人的代码编写方式令他们惊讶。

But when we get closer and see things clearly we realize that everyone has to face challenges, everyone gets stuck with bugs and errors. But through time and experience, we see that they just get stuck on bigger and complex challenges than we do.

但是,当我们靠近并清楚地看到事物时,我们意识到每个人都必须面对挑战,每个人都会陷入错误和错误中。 但是通过时间和经验,我们看到他们只是比我们陷于更大,更复杂的挑战中。

Let me share my two favorite tweets from two people from whom I learned a lot. These tweets always make me smile and motivate me. I realize that perhaps we are all in the same boat and sharing the same vision for the same destination.

让我分享我从中学到很多东西的两个人最喜欢的两条推文。 这些推文总是让我微笑并激励我。 我意识到也许我们都在同一条船上,对同一目的地拥有相同的愿景。

Life let me see this tweet at the time when I was a struggler and trying hard to get JavaScript into my brain. It was an awful concept a few months ago. And it took me around 10 months to learn, explore, implement things and finally getting a remote paid internship.

当我奋斗并努力使JavaScript进入我的大脑时,生活让我看到了这则推文。 几个月前,这是一个可怕的概念。 我花了大约10个月的时间来学习,探索,实现事物并最终获得远程带薪实习

In the learning phase, I was always in search of appreciation and acknowledgment that I would ever become a good programmer. I wanted to know if programming was my thing or not, or if I would ever be able to write good logic and code as other great programmers do.

在学习阶段,我一直在寻求欣赏和承认自己将成为一名优秀的程序员。 我想知道编程是否是我的本能,或者我是否能够像其他出色的程序员一样编写良好的逻辑和代码。

Getting stuck on small issues and not being able to fix things quickly used to make me flustered and frustrated. But seeing some top programming celebrities being honest and displaying to their followers that they are also not perfect helped me believe in myself.

卡在小问题上,无法快速解决问题,这使我感到沮丧和沮丧。 但是看到一些顶尖的编程名人诚实并向他们的追随者展示他们也并不完美,这使我相信自己。

And my second most favorite tweet during my time of struggle was from one of the finest developers and the author of the You Don’t know JS series, Kyle Simpson.

在我奋斗的时候,我最喜欢的第二条推文来自最优秀的开发人员之一,也是《你不知道JS》系列的作者Kyle Simpson。

Haah! Feeling good? I’m not sure about you but this made me feel a bit more relaxed for some time at least.

哈哈! 感觉好吗? 我不确定您的身份,但这至少让我感到有些放松。

After sharing my story of learning and not earning in my previous article, today I’m going to share another phase of my technical journey: after a long struggle of getting a job, struggling to survive in that job.

在分享我的学习故事并在上一篇文章中没有赚钱后,今天,我将分享技术之旅的另一个阶段:在长期找工作之后,为在这份工作中生存而奋斗。

回顾一下 (A bit of recap)

I recently started a remote internship at Outreachy. I’m working with Mozilla on the Firefox health dashboard for the next three months. I realized that with learning and experience, my fears and insecurities about my career also changed. This article is part of my internship assignment — to write down the fears and challenges I faced during the first few weeks of the internship. I hope it helps newcomers and those junior developers who are struggling to get in the race or survive and lets them know that everyone struggles and it is necessary for learning.

我最近在Outreachy开始了远程实习。 在接下来的三个月中,我将与Firefox运行状况仪表板上的Mozilla一起使用。 我意识到,通过学习和经验,我对职业的恐惧和不安全感也发生了变化。 这篇文章是我实习任务的一部分-写下我在实习的前几周所面临的恐惧和挑战。 我希望它能帮助新手和那些努力进入竞赛或生存的初级开发人员,并让他们知道每个人都在挣扎,这是学习的必要条件。

I was excited and a bit nervous to start my first week at Mozilla with everything ready the night before. but I didn’t see an unexpected thing coming: a nine hour long electricity shortage at my place. I was unable to communicate with the mentors and start anything at work.

Mozilla开始第一周的工作让我感到兴奋和紧张,前一天晚上一切准备就绪。 但我没想到会出现意外情况:我所在的地方长达九个小时的电力短缺。 我无法与导师沟通并开始工作。

Thankfully, it came back at 5pm and I had a very welcoming onboarding meeting with Outreachy fellows and the mentors from Mozilla. Things were quite interesting and new to me, like meeting people from around the world and communicating in English for almost an hour. I met my mentors Armen and Dustin for the first time, and it was good to see them. It felt totally different than emails and messages.

幸运的是,下午5点回来了,我与Outreachy研究员和Mozilla的导师举行了非常热情的入职会议。 事情对我来说很有趣,而且很新鲜,例如与来自世界各地的人们会面,用英语交流近一个小时。 我第一次见到我的导师Armen和Dustin,很高兴见到他们。 感觉与电子邮件和消息完全不同。

My mentors already had a trello like board organized at GitHub with some issues placed according to their complexity. Starting the next day, I had to pick issues and start working on them. After starting to work on the issues I realized that the party has just begun. The previous struggles were just a trailer.

我的导师已经在GitHub 组织了一个trello like董事会 ,并根据其复杂性放置了一些问题。 从第二天开始,我不得不挑选问题并开始研究它们。 在开始处理这些问题之后,我意识到该党才刚刚开始。 以前的斗争只是一部预告片。

这都是关于理解代码的。 (It’s all about understanding the code.)

My feelings while applying for the internship were totally different from the feelings when I started. Now the fears of not getting this opportunity got replaced with the fear of not doing well and ending up losing it.

我申请实习时的感觉与我刚开始时的感觉完全不同。 现在,对没有获得机会的恐惧被不做得好并最终失去机会的恐惧所取代。

And it was really hard when I was stuck with my first issue which was to customize the graphJS tooltip according to the requirements. At first, I thought I would be able to do it easily but it really gave me a tough time. I was unable to figure out the solution for two days.

当我遇到第一个问题时(根据要求自定义graphJS工具提示),这确实很困难。 起初,我以为我可以轻松地做到这一点,但这确实给了我一个艰难的时期。 我两天都找不到解决方案。

I asked a couple of questions from the mentors and was trying my best to solve it. But for a moment, I believed that I wouldn’t be able to fix it and that was depressing.

我向导师提出了几个问题,并正在尽力解决。 但是有一段时间,我相信我将无法修复它,这令人沮丧。

At that time, my mentors didn’t pressure me. Instead, they gave me the confidence and the idea that it is totally okay to struggle with a new, large code base. Sometimes it takes time to understand things and the code written by others, so we shouldn’t be hard on ourselves. We need to take our time to grasp new things.

那时,我的导师没有向我施加压力。 相反,他们给了我信心和想法,与一个新的大型代码库进行斗争完全可以。 有时,花些时间来了解事物和他人编写的代码,因此我们不应该对自己加倍努力。 我们需要花时间来掌握新事物。

After realizing that I was struggling to understand the code base, with hundreds of functions and files, my mentor told me about the Rubber Duck Technique and asked me to explain the code to the rubber duck. This would help me get a better understanding of the code and what was going inside.

在意识到我正努力理解具有数百个功能和文件的代码库之后,我的导师向我介绍了橡皮鸭技术,并要求我向橡皮鸭解释代码。 这将帮助我更好地了解代码以及内部内容。

“It is okay to get stuck, we all get stuck with issues and errors. With the years of experience we get stuck less, but we still get stuck.” — Armen Zambrano

“可以卡住,我们都可以卡在问题和错误中。 凭借多年的经验,我们被困的次数减少了,但我们仍然被困了。” — 阿曼·赞布拉诺

所以这是我的发现 (So here are my findings)

知道从哪里开始是成功的一半 (Knowing where to start is half the battle)

Most of the time you know the solution, and maybe the logic, and how to implement it, but you don’t know WHERE TO BEGIN! With a lot of code files and functions, you get confused as to where this solution should be placed to work well. My mentor Dustin Mitchell suggested that I use comments to understand the code and functions, in addition to my own technique to console.log(everything that comes in the way).

大多数时候,您都知道解决方案,也许知道其逻辑以及如何实现它,但是您不知道从哪里开始! 有了许多代码文件和函数,您对于应该将该解决方案放置在哪个位置才能很好地工作感到困惑。 我的导师达斯汀·米切尔 ( Dustin Mitchell)建议,除了我自己的console.log技术(所有方式)之外,我还应使用注释来理解代码和功能。

After the first issue, things went a little smoother but were still challenging. I got stuck again on a relatively complex issue and it took a few days to get fixed. But luckily, our mentors and people in opensource are kind enough to understand that we, the junior developers, sometimes struggle — and they don’t make us feel bad for this. We need more people like these in tech who are willing to help and mentor, who provide juniors with the best resources to learn and not to burn out.

在第一个问题之后,事情进展得比较顺利,但仍然充满挑战。 我再次陷入一个相对复杂的问题,花了几天时间才解决。 但是幸运的是,我们的导师和开放源代码的人员足够善良,以至于我们这些初级开发人员有时会挣扎-他们并没有为此感到难过。 我们需要更多这样的技术人员,他们愿意提供帮助和指导,为初级人员提供最佳的学习和消磨资源。

合并冲突很痛! (Merge conflicts hurt!)

Ah!! If you are a beginner and new to opensource, I want to warn you about merge conflicts. It hurts badly when you don’t know to how to resolve them, you have spent hours on finding the solution of a problem and you end up losing your code in an attempt to fix the merge conflict.

啊!! 如果您是新手并且是开源的新手,我想警告您有关合并冲突的信息。 如果您不知道如何解决问题,花费了数小时来寻找问题的解决方案,并且最终以尝试解决合并冲突而丢失代码,这将给您带来极大的伤害。

I ran into some conflicts and I messed up with a few git commits. It was annoying and scary. But I wouldn’t have learned some new concepts in git merging, committing, and resolving conflicts if I hadn’t done this. Thanks to Sarah Clements and Dustin Mitchell for helping me get out of the merging trap.

我遇到了一些冲突,弄乱了一些git commit。 这很烦人和令人恐惧。 但是,如果我不这样做,我将不会在git合并,提交和解决冲突中学到一些新概念。 感谢Sarah ClementsDustin Mitchell帮助我摆脱了合并陷阱。

识别自己的代码很困难 (Recognizing your own code is a struggle)

This holds true for almost everyone, and it is really funny that even after a few days we fail to recognize our own code, written by our own hands. After solving a bug, I tried to solve a similar bug and went back to the previous one for reference. And I was like… how come I wrote this code and why the hell is it working?!

这几乎对每个人都适用,而且很有趣,即使几天后我们仍然无法识别由我们自己编写的代码。 解决了一个错误之后,我尝试解决一个类似的错误,并返回上一个参考。 我当时想……我是怎么写出这段代码的,为什么它在起作用呢?

Working code can be as confusing as a non-working code. In most cases, the working code gives us a tougher time. And sometimes after coming back to old code, you rethink it and you can come up with a better solution. So you don’t need to worry or feel bad if you don’t understand your own code or others’ code. Maybe you are close to learning something new.

工作代码可能与非工作代码一样令人困惑。 在大多数情况下,工作代码使我们度过了艰难的时光。 有时回到旧代码后,您需要重新考虑它,然后可以提出一个更好的解决方案。 因此,如果您不了解自己的代码或他人的代码,则无需担心或感到难过。 也许您即将学习一些新知识。

告诉我如何生存 (Tell me how to survive)

Based on my first few weeks as an intern, I have some suggestions for myself (and others) for the rest of the internship. And most of these suggestions are from my mentors and awesome people I met at Mozilla during the internship. I am sharing them with you, so that maybe they can help you, too.

根据我作为实习生的前几个星期,我为自己(和其他人)在其余的实习工作中提出了一些建议。 这些建议大部分来自我的导师和我在实习期间在Mozilla遇到的很棒的人。 我正在与您分享它们,以便他们也可以为您提供帮助。

不要亲自去做,而要专注于学习 (Don’t take things personally and focus on learning)

This suggestion is by Sarah and I second that. It is hard to not take things personally and feel insulted when a senior dev or mentor makes a correction or suggestion. It’s even harder when you’re working in open source and it’s in a public platform.

这个建议是莎拉的 ,我赞成。 当高级开发人员或指导者提出更正或建议时,很难不以个人为由而感到被侮辱。 当您在开放源代码中并且在公共平台上工作时,难度甚至更大。

But I recommend that you focus on this point and have a learning attitude. You won’t be able to learn new concepts and good coding practices unless you have a humble and learning attitude. Put all your ego aside and focus on learning from the experience and knowledge of others.

但是我建议您专注于这一点并保持学习态度。 除非您具有谦虚和学习的态度,否则您将无法学习新的概念和良好的编码习惯。 放下所有的自我,专注于从他人的经验和知识中学习。

吸收最大量的信息并询问新事物 (Absorb the maximum amount of information and ask about new things)

Keep your eyes and ears open and try to absorb the maximum amount of information and have a thirst to learn new things. Don’t be afraid of trying new and different things which are not in your comfort zone. Sometimes we feel comfortable with our way of thinking and writing code but there are some good practices and design patterns we aren’t aware of. Try to learn as much as you can. This is only possible if you follow the advice mentioned in the first point.

睁大你的眼睛和耳朵,尝试吸收最多的信息,并渴望学习新事物。 不要害怕尝试那些不在您舒适范围内的新颖事物。 有时,我们对思考和编写代码的方式感到满意,但是有些我们尚不了解的良好实践和设计模式。 尽可能多地学习。 只有遵循第一点中提到的建议,才有可能。

提出问题之前先做功课 (Do your homework before asking questions)

Asking questions is not a bad thing, and especially when you are stuck. But it is good practice to do your homework and due diligence first and come up with some valid questions or a solution. Then you can get a review from your mentor or seniors.

提出问题不是一件坏事,尤其是当您陷入困境时。 但是,最好先做功课和尽职调查,并提出一些有效的问题或解决方案。 然后,您可以从您的导师或前辈那里获得评论。

This will help you to figure out how to do things on your own. Your mentors will also not feel that you are not putting in the effort before asking. People in open source and in senior positions are often nice and willing to help you if you come up with a valid question.

这将帮助您弄清楚如何自己做事。 您的导师也不会觉得您在问之前没有付出任何努力。 开源和担任高级职位的人通常都很友善,如果您提出有效的问题,他们愿意为您提供帮助。

不要将自己与他人进行比较 (Do not compare yourself with others)

Do not keep comparing yourself with others. It will affect your performance and you will end up losing your confidence. Remember, every master was once a beginner. Everyone struggles, and even your seniors were also at your place in the beginning. They are familiar with the pain and the challenges a junior developer goes through. No one becomes a master just in one night — there is a process and everyone has to pass through the process. Wait for your time to come, and until then, work hard.

不要继续将自己与他人进行比较。 它会影响您的表现,最终使您失去信心。 记住,每个大师都是一个初学者。 每个人都在挣扎,甚至您的前辈一开始也在您的位置。 他们熟悉初级开发人员所经历的痛苦和挑战。 没有人会在一夜之间成为大师-这是一个过程,每个人都必须经历这个过程。 等待时间到来,然后再努力工作。

Remember, every junior developer is in the same boat you are — you are not an exception. What we study in college is very different from what we have to implement in real life, and we need to learn a lot of things to be a competent developer in the industry. And every senior has been at your place and is familiar with the pain you are in. You just need to focus and have a learning attitude to keep learning and keep growing.

请记住,每个初级开发人员都在同一条船上-您也不例外。 我们在大学学习的东西与我们在现实生活中必须实现的东西有很大的不同,我们需要学习很多东西才能成为行业中合格的开发人员。 每位大四学生都在您的位置,并且熟悉您所处的痛苦。您只需要专注并拥有学习态度,即可不断学习并保持成长。

I’m planning to share more things based on my experience and learning. This is the 2nd article of the series I am writing after getting my remote, paid internship through Outreachy.

我计划根据我的经验和学习来分享更多的东西。 这是我通过Outreachy获得远程,带薪实习后所写的系列文章的第二篇。

Feel free to share your thoughts @aimenbatool.

随时分享您的想法@aimenbatool

翻译自: https://www.freecodecamp.org/news/how-im-working-to-overcome-my-struggles-as-a-junior-developer-a6ab18ac29b2/

初级开发人员的缺点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值