初级开发人员的缺点

Coding is hard. Really hard. There are times when you’ll think “this is amazing! I love this!”

编码很难。 真的很难。 有时您会认为“这太神奇了! 我喜欢这个!”

But you’ll also have the not so amazing times. The times when you are staring at the same error for days or stuck trying to understand a new concept. You may be thinking, “I am just not cut out for this. Why am I trying?”

但是您也将拥有不那么美好的时光。 数天盯着同一错误或试图理解一个新概念而停滞不前的时间。 您可能会想:“我只是为此而感到失望。 我为什么要尝试?”

So what do you do if you feel yourself wanting to give up? I’ve got some tips for you, but first, here’s my story about when I almost gave up, and what I did about it…

那么,如果您觉得自己想放弃,该怎么办? 我为您提供了一些提示,但是首先,这是我的故事,讲述我几乎什么时候放弃的,以及我的所作所为……

Note: You can skip straight to the tips: Take a step back, and realize it’s normal.

注意 :您可以直接跳到提示 : 退后一步,这是正常的。

*Lights dim & dramatic intro music plays*

*灯光昏暗和戏剧性的前奏音乐播放*

When I first started programming as part of my Computer Science course, I felt super lost. People will say you’re not supposed to know much when you’re just starting out, but I really struggled in the beginning.

当我第一次在计算机科学课程中开始编程时,我感到非常迷茫。 人们会说,刚起步时您不应该了解太多,但是一开始我确实很挣扎。

I just couldn’t grasp any coding concepts:

我只是无法掌握任何编码概念:

Abstraction: The idea of focusing on the ideas, rather than, the implementations… “OK Yoda, what does that mean?”

抽象: 专注于想法,而不是实现的想法 ……“好的,尤达,这是什么意思?”

Interfaces: “Ah! I know this one! That's the thing the user uses to interact with the…oh wait”

接口: “啊! 我知道这个! 这就是用户用来与……互动的东西……等等!

Functions and Objects: “Not overly sure how many of these things I need or when I need them. So I’ll just use one for now” *creates monolith file called MyClass.js*

功能和对象: “不太确定我需要多少这些东西,什么时候需要。 因此,我现在只使用一个。” *创建名为MyClass.js的整体文件*

Arrays: “Arrays hold things. Got it. But only one type of thing. OK, fair enough I guess. Oooh look, you can make a 2D array…an array of arrays. EASY! I’m ready to start this assignment”:

数组: “数组容纳东西。 得到它了。 但是只有一种类型的东西。 好吧,我猜很公平。 噢,看起来,您可以制作一个2D数组…一个数组的数组。 简单! 我已经准备好开始这项作业”:

Assignment: The following code is a 3D array, which is an array of arrays of arrays, containing random numbers. Iterate over the array and print the prime numbers and the frequency in which they appear, in order. Consider time complexity.

分配:以下代码是3D数组,它是包含随机数的数组数组的数组。 遍历数组,并按顺序打印质数及其出现的频率。 考虑时间复杂度。

“…hmm…”

“……嗯……”

*leaves the building*

*离开建筑物*

And don’t get me started on data structures and algorithms…

而且不要让我开始研究数据结构和算法...

I wasn’t sure why I was so far behind in my course.

我不确定为什么我的课程如此落后。

Was it that I just wasn’t cut out for coding?

难道我只是没有被编码所吸引吗?

Was it the quality of my course and lecturers?

这是我的课程和讲师的质量吗?

Was it the copious amounts of beer and partying I did in my first few weeks of university (Nah, it couldn’t have been that).

是我上大学的前几周做的大量啤酒和派对吗(不,不是那样)。

After a few years of struggling and scraping by, I still couldn’t code the simplest apps. The final straw was being told by one particular company that I should consider another field when I was interviewing for an internship.

经过几年的苦苦挣扎,我仍然无法编写最简单的应用程序。 一个特定的公司告诉最后一根稻草,我在面试实习时应该考虑另一个领域

This was the lowest point for me, and I was tempted to give up and drop out. But technology was my passion, I wanted to become a developer more than anything. I was in my final year of university, and I decided enough was enough.

这对我来说是最低点,我很想放弃并退出。 但是技术是我的激情,我最想成为一名开发人员。 我上大学的最后一年,我决定足够了。

I sat down, opened my laptop, put on some AC/DC, and started practicing.

我坐下,打开笔记本电脑,戴上AC / DC,然后开始练习

I would practice day in and day out. On coding websites, on my own small projects, following tutorials, if there was a way to practice code, I was doing it. When I wasn’t writing code, I was reading about code. I read other peoples code. I read about the people who wrote good code.

我会日复一日地练习。 在编码网站上,在我自己的小型项目中,按照教程进行操作,如果有一种练习代码的方法,我就是这么做的。 当我不写代码时,我正在阅读代码。 我读了其他人的代码。 我读到了写好的代码的人。

Slowly but surely, it started to click. All the concepts I didn’t understand were slowly coming to me. And like a phoenix from the ashes (or, something more computer related and less dramatic), I graduated and landed my first junior developer role.

慢慢地,但是肯定地,它开始点击。 我不了解的所有概念都在慢慢传给我。 就像灰烬中的凤凰(或更多与计算机相关且不那么生动的东西)一样,我毕业并获得了第一个初级开发人员角色。

After many years of experience, learning, and mistakes (those stories are for another day!) I’ve progressed past the junior developer stage. I’m currently working at a startup leading the product development. I’m also mentoring developers more junior than myself, and loving every minute of it.

经过多年的经验,学习和错误(那些故事又改天了!),我已经从初级开发人员阶段发展了。 我目前在一家负责产品开发的初创公司工作。 我还指导开发人员比我更初级,并热爱每一分钟。

I am now on a mission to pass my knowledge to junior developers all over the world. To show that anyone can crack their way into the world of web development with some hard work, and some dedication.

我现在的任务是将我的知识传递给全世界的初级开发人员。 为了表明任何人都可以通过一些努力和奉献精神闯入Web开发领域。

Hopefully, I haven’t bored you too much — still with me? Good, let’s get onto the tips to try when you’re feeling a tad defeated.

希望我不会对您感到无聊-还是和我在一起吗? 很好,让我们继续尝试技巧,以免遇到一点失败。

退后一步,意识到这很正常 (Take a step back, and realize it’s normal)

The first thing to do before you throw in the towel on your web development career is to realize that it’s perfectly natural to feel overwhelmed at times. The best way to do this is to step away from the code for a while. Go for a walk, read a book or watch TV. Basically, take a break and relax for a bit. If you need to take a few days off, that’s perfectly fine as well.

在开始从事Web开发事业之前,要做的第一件事是要意识到有时感到不知所措是很自然的。 最好的方法是暂时离开代码。 散步,看书或看电视。 基本上,休息一下并放松一下。 如果您需要休息几天,那也很好。

When you return, hopefully, you’ll feel a bit more refreshed and fired up to go again! If not, here’s a few more things you can try.

希望当您返回时,您会感到更加神清气爽,兴奋地再次出发! 如果没有,您可以尝试以下几种方法。

有耐心 (Have patience)

I don’t think this is stated enough, but patience is super important for developers of all levels. When learning to code, it can be frustrating to not understand something, especially if you’ve been looking at it for hours.

我认为这还不够,但是耐心对于所有级别的开发人员都非常重要。 在学习编码时,不理解某些内容可能会令人沮丧,特别是如果您已经看了几个小时。

But the next time you feel yourself getting frustrated at a bug and error, remember the “step back” approach from the previous point and try telling yourself:

但是,下次当您对错误和错误感到沮丧时,请记住上一点的“后退”方法,然后尝试告诉自己:

“OK this sucks, but getting frustrated won’t help anything. I’ll take a break and come back with fresh eyes and try again”.

好的,这很烂,但是沮丧无助。 我会休息一下,然后重新睁开眼睛,然后再试一次。”

You’ll be surprised how much this will help.

您会惊讶于这将有多大帮助。

获得胜利时庆祝胜利 (Celebrate the wins when you get them)

A lot of junior developers I’ve met can be quite hard on themselves and fail to properly acknowledge their accomplishments.

我遇到的许多初级开发人员可能对自己很难,并且无法正确地承认自己的成就。

“I finally got this button working on my app but it took all day!”

“我终于在我的应用程序上使用了此按钮,但是花了整整一天的时间!”

So? The point is it now works! Huzzah!

所以? 关键是它现在可以工作了! 晕!

It’s important to celebrate the wins when you get them. Whether you are trying to get your first HTML page working or trying to create your own complex web app, whenever you get something working, celebrate it.

获得胜利时庆祝胜利很重要。 无论您是要使第一个HTML页面正常工作还是要创建自己的复杂Web应用程序,只要有工作,都要庆祝一下。

Scream “SUCCESS” at the top of your voice, jump around the room, dance with the neighbors. OK, that’s probably a bit much (I didn’t do any of that, I swear…) but you get the idea. By celebrating the wins, you’re acknowledging your accomplishments, filling yourself with joy, and motivating yourself to keep going for more wins.

在声音的顶部尖叫“成功”,在房间里跳来跳去,与邻居跳舞。 好的,可能有点多(我发誓,我什么都没做……),但是您明白了。 通过庆祝胜利,您将认可自己的成就,使自己充满喜悦,并激励自己继续争取更多的胜利。

设定更小的可定义目标 (Set smaller, definable goals)

It’s easy to sit down and say “OK, my goal is to learn how to code”. This is a great goal to have, but it’s a difficult one to measure. When have you finished learning how to code? Is it when you have created your first website? When you have created your first large app? When you’ve got your first job?

坐下来说“好吧,我的目标是学习编码”,这很容易。 这是一个伟大的目标,但很难衡量。 您什么时候完成了如何编码的学习? 是您创建第一个网站时? 创建第一个大型应用程序后? 当你有第一份工作时?

However, what if you said, “Today I am going to learn what the arrow syntax is in JavaScript and ES6”? You have a clear definable goal, which is easy to measure, and you guessed it — gives you a win to celebrate once you’ve reached it.

但是,如果您说:“今天我要学习JavaScript和ES6中的箭头语法”,该怎么办? 您有一个明确的可定义目标,该目标很容易衡量,而且您猜到了-一旦达到目标,就可以赢得庆祝。

By creating and reaching smaller goals more often, you’ll feel like you’re making progress.

通过更频繁地制定和达成较小的目标,您会感觉自己正在取得进步。

记录您的进度 (Keep a journal of your progress)

Even if you set your own goals, it can be difficult to remember everything. You may have started with the intention of completing one thing, and got sidetracked and ended up learning or doing something else (this happens to me all the time!).

即使您设定了自己的目标,也很难记住所有事情。 您可能一开始只是想完成一件事,后来却陷入困境并最终学习或做其他事情(这一直在我身上发生!)。

A good way to keep track of your progress is to write everything down in a journal. At the start of your week, day or whatever it may be, write down the goal you plan to achieve. When you’ve met that goal, write it down, along with any notes that spring to mind that you want to remember. Didn’t meet the goal? No problem, write down why — whether it be distractions, doing something else that seemed more interesting, needed a break, and so on.

跟踪进度的一个好方法是将所有内容记录在日记中。 在一周的开始,一天或任何一天,写下您打算实现的目标。 当您达到该目标时,请将其写下来,并记下您想记住的所有便笺。 没有达到目标? 没问题,写下原因-无论是分心,做其他似乎更有趣的事情,需要休息等等。

If you’re ever feeling defeated, look into your journal of wins — you’ll be surprised at how far you have come!

如果您感到自己被打败了,请查看您的胜利日记-您会惊讶地发现自己走了多远!

回头看看您的早期项目 (Look back at your early projects)

Another great approach to seeing how far you have come is to look at your early code exercises and projects. This is your paper trail of progression, whether it was your very first HTML page, your first “Hello World” app or your first TODO app.

了解您的发展的另一种好方法是查看早期的代码练习和项目。 这是您进度的书面记录,无论是您的第一个HTML页面,您的第一个“ Hello World”应用程序还是您的第一个TODO应用程序。

You might look back and think, “Oh I remember that it took me forever to figure out how to add those check-boxes! Now I can do it with my eyes closed”.

您可能回头想,“哦,我记得我花了很长时间才弄清楚如何添加这些复选框! 现在,我可以闭着眼睛做到这一点”。

So put everything you do onto GitHub, or keep it saved on your computer. No matter how small it is, it was a part of your journey, and it’s important to remember.

因此,将您所做的所有事情都放到GitHub上,或者将其保存在您的计算机上。 不管它有多小,它都是您旅行的一部分,记住这一点很重要。

加入社区 (Join the community)

There is no better community than the web development community. From the open source software to the free resources to learning to code, it really is great to be a part of.

没有比Web开发社区更好的社区了。 从开源软件到免费资源,再到学习代码,参与其中确实很棒。

I wish I had gotten involved with the community earlier — it would have made the difficult parts of my web development journey a lot easier.

我希望我能早些加入社区,这会使我的Web开发过程中的困难部分变得容易得多。

Why? Because of the support. There are many great communities from freeCodeCamp and CodeNewbie, to Subreddit and Twitter groups that are built to support fellow coders.

为什么? 因为有支持。 有许多很棒的社区,从freeCodeCamp和CodeNewbie到Subreddit和Twitter组,其目的是为了支持其他编码人员。

I highly recommend getting involved in these communities. Share what you’re doing, see what other people are doing, and get involved in the discussions. It’s a great motivator when you get a few likes, thanks or replies to a post you’ve made.

我强烈建议您参与这些社区。 分享您在做什么,看看其他人在做什么,并参与讨论。 当您对自己发表的帖子表示喜欢,感谢或回复时,这是一个很好的动力。

努力工作,不要放弃 (Work hard, and don’t give up)

As I said in the beginning, coding is hard. Continue to put in the work, celebrate the wins when you get them, and don’t give up. It’ll be worth it in the end! In the words of Nelson Mandela:

正如我在一开始所说的那样,编码很难。 继续投入工作,在获得胜利时庆祝胜利,不要放弃。 最后值得! 用纳尔逊·曼德拉的话说:

Everything seems impossible before its done.

一切似乎都不可能在完成之前完成。

Thanks for reading!

谢谢阅读!

I’m currently creating a bunch of guides, articles, and video courses to help you along your journey into web development. If you would like to be a part of it, make sure to join the mailing list over at chrisblakely.dev!

我目前正在创建大量指南,文章和视频课程,以帮助您进行Web开发。 如果您想加入其中,请确保通过chrisblakely.dev加入邮件列表!

翻译自: https://www.freecodecamp.org/news/heres-what-i-did-when-i-wanted-to-give-up-as-a-junior-developer-af41d5aa2edd/

初级开发人员的缺点

初级开发人员的缺点_这是我想放弃初级开发人员时所做的事情相关推荐

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

    初级开发人员的缺点 by Syeda Aimen Batool 通过Syeda Aimen Batool 作为一名初级开发人员,我如何努力克服自己的挣扎 (How I'm working to ove ...

  2. 初级开发人员的缺点_在您作为初级开发人员的第一年获得此建议

    初级开发人员的缺点 Are you a junior developer embarking on your software development career? 您是从事软件开发事业的初级开发人 ...

  3. 初级开发人员的缺点_如何避免我作为初级开发人员犯的这7个错误

    初级开发人员的缺点 Beginning your career as a junior developer can be scary. There will be many unknown chall ...

  4. 初级开发人员的缺点_我希望成为初级开发人员的事情

    初级开发人员的缺点 by James Munro 詹姆斯·芒罗(James Munro) 我希望成为初级开发人员的事情 (The things I wish I'd known as a junior ...

  5. 初级开发人员的缺点_成为成功的初级开发人员的10条最佳建议

    初级开发人员的缺点 重点 (Top highlight) 重点 (Top highlight) Junior developers are one of the biggest assets to a ...

  6. 初级开发人员的缺点_初级开发人员应阅读的书籍

    初级开发人员的缺点 这些书籍"基本上是作弊代码",可帮助您提高开发人员的技能和知识. (These books "are basically cheat codes&qu ...

  7. im和音视频开发哪个更好_找时间成为更好的开发人员

    im和音视频开发哪个更好 There's no time for anything. At least that's how it feels doesn't it? No time to learn ...

  8. 使用android开发移动学习平台_移动学习平台有几种开发方法,你造吗?

    平板电脑.软件以及宽带互联网的接入等技术都在发生改变,为固定式学习转向移动式学习提供了强大的动力.因此,移动学习越来越火热.那么,移动学习平台有几种开发方法? 基于现有的移动平台和设备,主要有三种开发 ...

  9. android开发入门与实践_我的新书《Android App开发入门与实战》已经出版

    前言 工作之余喜欢在CSDN平台上写一些技术文章,算下时间也有两三年了.写文章的目的一方面是自己对技术的总结,另一方面也是将平时遇到的问题和解决方案与大家分享,还有就是在这个平台上能和大家共同交流. ...

最新文章

  1. 一笔画问题【数据结构-图论】
  2. 《强化学习周刊》第18期:ICML-2021强化学习的最新研究与应用
  3. php lock sh,php文件加锁 lock_sh ,lock_ex
  4. 2016大一计算机基础操作题,2016大学计算机基础试题及答案
  5. mysql在哪儿查看表的代码_查看mysql数据库及表编码格式
  6. 爬楼梯 java_Leetcode 70.爬楼梯(Java)
  7. session过期时间控制的一些常用方法
  8. Win11控制面板里面怎么找到系统安全?
  9. RTSP摄像机为什么还保留MJPEG编码格式
  10. 海淀某互联网公司鼓励员工尽量住在公司
  11. 图解Android - Android GUI 系统 (1) - 概论
  12. python利用微信的方法_作为程序员,如何利用Python玩转微信,让你的微信与众不同...
  13. c++ 获取系统时间_错过长假,我还有时间做近视手术么?
  14. 监控mysql的存储引擎
  15. python数据分析之(6)简单绘图matplotlib.pyplot
  16. You must install libopus-dev
  17. fofa域名检测存活工具_检测cdn和寻找真实ip的一些方法总结
  18. 我能够入职世界顶尖的卡巴斯基,却被国内的安全公司拒之门外
  19. 两张图搞懂:共模干扰和差模干扰
  20. Eureka报错“EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ”

热门文章

  1. vue中点击第一次没有触发按钮怎么操作_vue如何触发某个元素的单击事件?
  2. 病虫害模型算法_基于深度学习的目标检测算法综述
  3. 折线图表动画(历史进程效果)
  4. js中函数,方法,事件对比区分,什么是方法,什么是函数
  5. 写一个 iOS 复杂表单的正确姿势
  6. 全网把Map中的hash()分析的最透彻的文章,别无二家。
  7. 嘿,程序员,你该学点经济学了!
  8. 简述DataInputStream和DataOuputStream
  9. SQL Server 一些重要视图3
  10. joomla 1.7遇到的麻烦——不能删除模板的解决办法