-bash-退出

by Alexander Petkov

通过亚历山大·佩特科夫(Alexander Petkov)

为什么这么多开发人员在找到工作之前就退出了。 请-不要。 (Why so Many Developers Quit Before Ever Getting a Job. Please — don’t.)

“Prototypes, objects, algorithms…those small steps between steps you don’t know how to implement.

“原型,对象,算法...您不知道如何实现的步骤之间的小步骤。

Grrr…thinking like a programmer.”

Grrr……像程序员一样思考。”

Finish this sentence:

完成这句话:

My last coding session was…

我上一次编码会议是…

  1. Smooth as silk. I sat down comfortably, fired up my editor and dove into the lovely world of 0s and 1s. Those 3 hours passed like 30 minutes!

    像丝绸一样光滑。 我舒适地坐下,解雇了编辑器,并进入了0和1的可爱世界。 那三个小时过去了大约30分钟!

  2. Sooo boring. I barely forced myself to sit down and code. Nothing quite worked very well, errors were popping all the time and still not everything makes sense to me. These 30 minutes felt like 3 hours!

    太无聊了。 我几乎没有强迫自己坐下来编码。 没有一件事情做的很好,错误一直在弹出,但仍然不是所有事情对我来说都是有意义的。 这30分钟感觉就像3个小时!

My guess is answer #2.

我的猜测是答案2。

And not because it’s so common and also has happened to me (even after 8 years of programming).

但这并不是因为它是如此普遍并且在我身上也发生过(即使经过8年的编程)。

Answer #1 is weird. Who even talks like that?

答案1很奇怪。 谁会这样说话?

Ok, ok. We’ll talk about overwhelm in programming. I know we’ve all been there — it happens way too often and we hate it.

好的好的。 我们将讨论不堪重负的编程。 我知道我们都在那里-它发生的方式太频繁,我们恨它。

But I tried to go deeper.

但是我试图更深入。

Over the past few years, I’ve dealt with plenty of junior developers. Including some who:

在过去的几年中,我与许多初级开发人员打交道。 包括一些谁:

  1. Recently broke into tech and felt lost最近闯入科技领域,感到迷失
  2. Got stuck in the “tutorial phase” and cringed every time they had to code without supervision陷入了“教程阶段”,每次他们不得不在没有监督的情况下进行编码时都会畏惧
  3. Were actually talented but failed at interviews or never even got a call实际上很有才华,但在面试中失败,甚至从未接到电话

突破点在哪里? (Where is the breaking point?)

As the essence of my work is helping new developers find a job, I took the time to study their problems and really try to empathize with their needs.

由于我工作的实质是帮助新开发人员找到工作,所以我花了一些时间研究他们的问题,并真正地体谅他们的需求。

I talked to colleagues at my company. I researched Facebook groups, forums, Q&A websites, huge Reddit threads and even surveyed a couple of small communities.

我与公司的同事交谈。 我研究了Facebook团体,论坛,问答网站,庞大的Reddit主题,甚至调查了几个小社区。

Here’s part of what I found:

这是我发现的一部分:

“I felt like I just copied what was in the videos and that was it.”

“我觉得我只是复制了视频中的内容而已。”

“I have to make do with googling for existing examples that someone else has already written. I feel like a 3-year-old trying to solve calculus puzzles. It’s so frustrating.”

“我必须使用Google搜索其他人已经写过的现有示例。 我感觉像是三岁的孩子,试图解决微积分难题。 真令人沮丧。”

“I just can’t think like a programmer.”

“我只是不能像程序员一样思考。”

And my favorite one:

我最喜欢的一个:

“This is what I’ve learned about learning to code: You feel confused and completely unworthy like 99% of the time. But that one time you make something work, it’s MAGIC.”

“这是我从学习编码中学到的:大约99%的时间,您感到困惑和完全不值得。 但是有一次您使某件事起作用,那就太神奇了。”

Do you notice something?

你有注意到吗?

These people’s struggles do not come from a lack of effort. Neither from a bad learning strategy or bad discipline.

这些人的奋斗并非来自缺乏努力。 既不是因为学习策略不好,也不是因为纪律不好。

他们只是没有足够的经验。 (They simply don’t have enough experience.)

Yet, many of those people were on the verge of giving up programming.

但是,其中许多人濒临放弃编程的境地。

归结为两个神话 (What it boils down to — Two myths)

I found that at the bottom of most struggles newbie developers face lay two popular myths about careers in software development.

我发现,在大多数斗争的最底层,新手开发人员面临着两个关于软件开发职业的流行神话。

I want to break them right now and hopefully avoid the overwhelm and extra pressure they cause to learners.

我现在想打破它们,并希望避免它们给学习者带来不堪重负的压力。

误解1:如果您不喜欢编程,那不是为您准备的。 (Myth 1: If you don’t love programming, it’s not for you.)

This is something I hear newbie programmers say a lot.

这是我听到的新手程序员说了很多

And I absolutely disagree.

我绝对不同意。

No, you don’t have to love programming to become a programmer. In fact, over 50% of professional developers sometimes hate it (my personal observation).

不,您不必热衷于编程就可以成为程序员。 实际上,超过50%的专业开发人员有时会讨厌它(我个人观察)。

See, it’s nice when you solve a problem elegantly. It feels good when your code is neat, clean, well-tested and solves people’s problems.

瞧,当您优雅地解决问题时,这很好。 当您的代码简洁,干净,经过良好测试并解决人们的问题时,感觉很好。

But that’s not 100% of the time — not even remotely. Most working days of programmers don’t pass by them thinking:

但这不是100%的时间-甚至不​​是远程的。 程序员的大多数工作日都不会忽略他们的想法:

“Oh, how I applied the dependency injection design pattern to elegantly decouple my classes and make my codebase easier to maintain in future.” (self-high-five)

“哦,我如何应用依赖注入设计模式来优雅地解耦我的类,并使我的代码库将来更容易维护。” (高五)

Nope.

不。

Even those who talk as if they love every second of it spend significant time on boring, monotonous or frustrating work. You can hear cursing in a programming office at least as much as in a car service. Honestly!

即使是那些说话的人,似乎都喜欢每一秒钟,他们也会在无聊,单调或令人沮丧的工作上花费大量时间。 您可以在编程室听到的诅咒声至少与汽车服务一样。 老实说!

It’s perfectly fine if you sometimes hate programming.

如果您有时讨厌编程,那就太好了。

Yes, “maybe it’s not for me?” is a common question when you’re overwhelmed and frustrated. It’s just normal. Yet, programming is for you. If you’re reading this, this means you care. If you care, you will make it.

是的, “也许不适合我吗?” 当您不知所措和沮丧时,这是一个常见问题。 这很正常。 但是,编程适合您。 如果您正在阅读此书,则表示您在乎。 如果您在乎,您一定会成功。

误区2:有太多我不知道的东西。 我永远都不会学这一切! (Myth 2: There is so much I don’t know. I’m never gonna learn all this!)

This is another highly common thought (maybe more important than Myth #1). I’ve heard many of my readers complain about it. And I can absolutely see the reasoning behind it.

这是另一个非常普遍的想法(也许比神话1更重要)。 我听说许多读者对此有所抱怨。 我完全可以理解其背后的原因。

We’re in a field so broad that the deeper you dig in, the more you realize you don’t know.

我们的领域如此之广,以至于您越深入,就越会发现自己不知道。

Even thinking about this made me feel bad. Man, it’s that easy to get overwhelmed.

即使想到这个,我也感到难过。 男人,就这么容易变得不知所措。

优点:您不必一无所知。 您需要知道的足够多,以了解如何找出您不知道的内容。 (The good part: You don’t have to know everything. You need to know just enough to be aware of how to find out what you don’t know.)

For now, be sure you are aware of the high-level basics of whatever you’re working with.

现在,请确保您了解所使用的高级知识。

Let’s back this up with an example.

让我们用一个示例对此进行支持。

If you’re experimenting with CSS, you should know it is for applying styles to HTML elements. You can make a button have border, color, shadow or animation. You can’t say what should happen when you click the button (you need JavaScript for this).

如果您正在尝试CSS,则应该知道它是将样式应用于HTML元素。 您可以使按钮具有边框,颜色,阴影或动画。 您不能说单击按钮时会发生什么(为此需要JavaScript)。

So if you need to animate an image when a button is clicked:

因此,如果需要在单击按钮时对图像进行动画处理:

  1. First, you must have the image and the button elements (HTML)首先,您必须具有图片和按钮元素(HTML)
  2. Then you can set animation for a specific class (CSS)然后,您可以为特定类(CSS)设置动画
  3. And you can add the class to the image when the button is clicked (JavaScript)您可以在单击按钮时将类添加到图像(JavaScript)

Say you read this in a tutorial once. A week later, you must add a shadow to an image when a form is submitted. You know what to look for. You have an overall understanding of HTML, CSS, and JavaScript and which part they are responsible for in this functionality.

假设您一次在教程中阅读了此内容。 一周后,提交表单时必须在图像上添加阴影。 你知道要寻找什么。 您对HTML,CSS和JavaScript以及它们在此功能中负责的部分有一个整体的了解。

The rest is Googling the right words. In this case, “css add shadow” and “javascript callback form submit”.

剩下的就是谷歌搜索正确的单词。 在这种情况下,“ css添加阴影”和“ javascript回调表单提交”。

See what we did there?

看看我们在那里做了什么?

以“正确”的方式学习编程 (Learning programming the “right” way)

As you see and probably know from your own experience, learning programming takes time — sometimes years. Despite what some “learn programming in 2 weeks” courses say!

如您所见,并可能从您自己的经验中学到的知识,学习编程需要时间-有时是数年。 尽管有些“两周内学习编程”课程说了什么!

When starting out, it’s important to build the right habits to learn efficiently. Most of the early days you spend on tutorials, guidelines, documentation or often all three at the same time. This is what we all do.

开始时,养成正确的习惯以有效学习很重要。 您在早期的大部分时间里都花在教程,指南,文档上,或者经常同时花在这三个方面。 这就是我们所有人所做的。

Some make the most out of their learning hours. Meanwhile others feel like they make progress but actually only copy and paste commands and follow instructions.

有些人会充分利用他们的学习时间。 同时,其他人觉得他们取得了进步,但实际上仅复制和粘贴命令并遵循说明。

有一个习惯来最大化学习时间,这被称为“ 缓慢学习 ”。 (There is a habit for maximizing learning hours and it’s called “Learning Slowly”.)

It’s a slightly different way of approaching tutorials which:

与本教程的学习方式略有不同:

  1. Makes programming more fun (as boredom is a common problem)使编程更有趣(因为无聊是一个普遍的问题)
  2. Makes you less dependant on tutorials使您减少对教程的依赖
  3. Uses gamification使用游戏化

You can try it out with this 4-minute exercise at the end of the article. Let me know how it goes!

您可以通过本文结尾的4分钟练习来尝试一下。 让我知道事情的后续!

This post was originally published on MyFirstITJob.

这篇文章最初发表在MyFirstITJob上 。

下一步是什么? (What’s next?)

Not giving up and learning efficiently is great — but sometimes not enough to get you a programming job.

不放弃和有效学习是一件好事,但有时还不足以让您完成编程工作。

Next, I’ll focus on what employers look for in a junior developer and how to stand out from the crowd for any job position.

接下来,我将重点介绍雇主在初级开发人员中的需求以及如何在人群中脱颖而出。

翻译自: https://www.freecodecamp.org/news/why-so-many-developers-quit-before-ever-getting-a-job-please-dont-1c0fd6459e5e/

-bash-退出

-bash-退出_为什么这么多开发人员在找到工作之前就退出了。 请-不要。相关推荐

  1. 出现字迹模糊迹象_缺乏经验的开发人员的4个迹象

    出现字迹模糊迹象 Experience is the hardest kind of teacher. It gives you the test first and the lesson after ...

  2. 全栈开发和web开发_成为全栈开发人员

    全栈开发和web开发 This popular article has been updated in June 2017 to include modern technologies. 该热门文章已 ...

  3. 愉快的舞会c++_项目经理和开发人员如何才能(愉快地!)给出实际的发货日期...

    愉快的舞会c++ by Roy Yuen 袁y 项目经理和开发人员如何才能(愉快地!)给出实际的发货日期 (How project managers and developers can both ( ...

  4. 哈希在线计算工具_哈希:开发人员的绝佳工具

    哈希在线计算工具 Hashing is an important topic for programmers and computer science students to be familiar ...

  5. react项目开发步骤_成为专业React开发人员的31个步骤

    react项目开发步骤 我为达到可雇用水平而进行的每个项目和课程. (Every single project and course I took to reach a hireable level. ...

  6. web开发指南_成为专业Web开发人员的实用指南

    web开发指南 This article is meant to serve as a practical guide to becoming a professional web developer ...

  7. 如果成为一名高级安卓开发_什么是高级开发人员,我如何成为一名开发人员?

    如果成为一名高级安卓开发 Becoming a Senior Developer is something many of us strive for as we continue our code ...

  8. devops开发运维训练营_嗨,网络开发人员训练营的毕业生:这是您第一份工作需要了解的内容。...

    devops开发运维训练营 by Rachel Bird 雷切尔·伯德(Rachel Bird) 嗨,网络开发人员训练营的毕业生:这是您第一份工作需要了解的内容. (Hey web dev bootc ...

  9. 测试开发人员与开发人员_如何升级为开发人员

    测试开发人员与开发人员 by Will Hughes 威尔休斯(Will Hughes) 如何升级为开发人员 (How to Level up as a Developer) Being a prod ...

最新文章

  1. 是否注意过isEmpty 和 isBlank 区别?
  2. 机器学习实战读书笔记--k邻近算法KNN
  3. [转自天涯]很多年以前,我是一个中锋
  4. 一文回顾阿里云弹性计算云栖大会精彩看点
  5. ubuntu18.04安装mysql8
  6. Spring实战——通过Java代码装配bean
  7. java中methods方法_java中Class.getMethod方法
  8. Maven手工管理项目
  9. leetcode__Longest Substring Without Repeating Characters
  10. 1-判断数字所在区间
  11. 英魂之刃服务器维护中修改,英魂之刃gg修改教程 | 手游网游页游攻略大全
  12. tekla钢结构算量_吉林省中润钢结构科技有限公司应用BIM技术助力润德華城项目建设...
  13. eps格式图像空白边缘裁剪
  14. 程序员的奋斗史(三十)——近期微信公众平台更新文章集锦
  15. 第020篇:SPM(Salford Predictive Modeler)中CART决策树的创建方法一:Model和Categorical 面板
  16. matlab含未知数矩阵方程组,solve函数求解含有未知数的矩阵方程问题
  17. 通过主成分分析实现三维模型对齐【Principal Component Analysis】
  18. [转]拍照怎么搜题?(上)
  19. 小白深度学习起步中——读取人像图像
  20. CorelDRAW2023新增了哪些功能?

热门文章

  1. final 最终 演练 java
  2. 窗体传值 父子窗体传值情况 c# 1231
  3. css定位小结 1216
  4. 前端开发 锚点链接 简单轮播图 0302
  5. django-配置模板的路径-0223
  6. fastdfs-客户端配置
  7. django-反向解析-有位置参数的情况-视图反解-模板反解
  8. HDU 2208 唉,可爱的小朋友(DFS)
  9. 使用 Swagger 2 构建 RESTful APIs
  10. Java Concurrent--死锁/饥饿/活锁