优秀web前端工程师必备
In this one-on-one episode of the Versioning Show, Tim and David talk about what makes a good engineer. Topics include the technical and soft skills of a good developer; the qualities of humility, curiosity, discipline and pride; time management and working effectively with others; exposing impostor syndrome for what it is; the challenges of HTML email; and … David’s intriguing leg day routine.
在Versioning Show的这一一对一节目中,Tim和David谈论了什么才是优秀的工程师。 主题包括优秀开发人员的技术和软技能; 谦卑,好奇,纪律和骄傲的品质; 时间管理并与他人有效合作; 揭露冒名顶替综合症的实质; HTML电子邮件的挑战; 和......大卫的有趣的腿一天程序。
Visit the Versioning Show Home Page
访问版本控制显示主页
Subscribe on iTunes | Subscribe on Stitcher | View All Episodes
在iTunes上订阅 | 订阅Stitcher | 查看所有剧集
The Power of Habit
习惯的力量
Slick Carousel
圆滑的旋转木马
Tim’s stale Angular Demos repository
蒂姆的陈旧 Angular Demos存储库
The Versioning Show interview Chris Coyier
Versioning Show 采访Chris Coyier
Say hello on Twitter: @mdavidgreen | @tevko | @versioningshow | @sitepointdotcom
在Twitter上问好: @mdavidgreen | @tevko | @versioningshow | @sitepointdotcom
I learned very early on in my career, number one, it’s OK to say, I don’t know something. Number two, to walk through your day-to-day job with humility, because you’ll learn a lot more that way. It’s easier to work with people that way. Overall, you become a better collaborator and thinker that way …
我很早就学会了职业第一,可以肯定地说, 我什么都不知道。 第二,谦虚地完成您的日常工作,因为这样您将学到更多。 这样与人合作更容易。 总体而言,您可以通过这种方式成为更好的合作者和思想家……
I’ve noticed a lot of the people that I follow who write code are always curious. It’s not a forced curiosity. They’re really enjoying what they’re doing. Even if it’s something that’s very tedious or extremely technical, they always have this wonder about what they’re working on.
我注意到,我关注的很多编写代码的人总是很好奇。 这不是强迫的好奇心。 他们真的很享受自己的工作。 即使这是一件非常乏味或非常技术性的工作,他们也总是对自己正在研究的东西感到好奇。
The ability of an engineer to look at each challenge as it comes up and still find ways to say, OK, this is boring. This is unrelated to my own interests, but how can I find something about this that’s going to help me grow as an engineer and help me expand my horizons?
工程师在面临每个挑战时仍然能够找到解决办法的能力,但是仍然可以找到方法说, 好的,这很无聊。 这与我自己的兴趣无关,但是我如何找到可以帮助我成长为工程师并帮助我扩大视野的东西呢?
there are certainly days where I don’t really feel like writing any code. … I feel like if I approach those situations a little bit more disciplined, I might find something that I enjoy, but I will always get more experience and get a little bit better at what I do for a living.
当然,有些日子我真的不喜欢编写任何代码。 ……我觉得如果我对这些情况要有更多的纪律处分,我可能会发现一些我喜欢的东西,但是我将始终获得更多的经验,并且在谋生方面会有所改善。
some of the best engineers that I’ve ever worked with are the ones who are the most interested in sharing information about what they’re doing, bragging about the things that they’re successful at, going out and giving talks, giving brown-bag presentations inside of their organizations, or going to meet ups and talking about what they’re doing, but sharing that information out.
我曾经与之合作过的一些最好的工程师对分享他们的工作信息,吹牛他们成功的事情,外出并发表演讲,发表演讲,最感兴趣。将演示文稿放在组织内部,或者聚会,谈论他们在做什么,但要共享这些信息。
Everybody who I’ve talked to about this, has admitted that they don’t believe that they are as skilled as other people seem to think that they are. One of the things that makes a good engineer in my opinion is the ability to move through that, despite the fact that you feel that you are an imposter. Recognize the things that you know really do have value.
我所讨论的每个人都承认,他们不相信自己像其他人所认为的那样熟练。 在我看来,成为一名优秀工程师的一件事是能够克服这些困难,尽管您认为自己是冒名顶替者。 认识到您真正知道的东西确实有价值。
I feel that the imposter syndrome comes from looking at the grass being greener everywhere else, but you’re just looking at their best grass. You’re seeing what everybody has put forward for you to see, not the bad stuff, not the failures, not the mistakes. I think that’s where the imposter syndrome comes from. It’s because you see everybody dressed up in tuxedos and you think you’re wearing rags. It’s never the case.
我觉得冒名顶替综合症源于看着其他地方的草更绿,但您只是在看他们最好的草。 您正在看到每个人都提出的要看的内容,不是坏东西,不是失败,不是错误。 我认为这就是冒名顶替综合症的来源。 这是因为您看到每个人都穿着燕尾服打扮,并且认为自己穿着破布。 从来没有。
I was genuinely afraid that I was not going to be able to get a job if I didn’t know Angular. I think that part of being a good developer is knowing how to not just avoid, but notice when you are steering towards a pattern of thinking like that, and reset and remind yourself that, all right, stick to these bases. These are the things that I’m good at. Let me develop my expertise there.
我真的很害怕,如果我不了解Angular,我将无法找到工作。 我认为,成为一名优秀的开发人员的一部分是,不仅要知道如何避免,而且要注意何时转向这种思维方式,并重新设置并提醒自己,好吧,坚持这些基础。 这些是我擅长的事情。 让我在那里发展我的专业知识。
Hey, what’s up, everybody? This is M. David Green …
嘿,大家好吗? 这是大卫·格林(M. David Green)……
Tim: 蒂姆:… and this is Tim Evko …
……这是蒂姆·埃夫科……
David: 大卫:… and you’re listening to episode 17 of the Versioning Podcast.
…,您正在收听Versioning Podcast的第17集。
Tim: 蒂姆:This is the place where we get together to discuss the industry of the web, from development to design, with some of the people making it happen today and planning where it’s headed in the next version.
在这里,我们可以聚在一起讨论从开发到设计的网络行业,其中一些人将其付诸实践,并计划下一版的发展方向。
David: 大卫:Today, Tim and I are going to be talking about what makes a good developer, and how does one become a good developer? Let’s go ahead and get this version started.
今天,蒂姆和我将要讨论什么才是优秀的开发人员,以及如何成为一名优秀的开发人员? 让我们继续以启动此版本。
In lieu of a philosophical question that we ask all of our guests, should we come up with one that we ask ourselves, since it’s just us on this episode today?
代替我们问所有客人的哲学问题,既然今天只是这一集,我们是否应该提出一个我们问自己的问题呢?
David: 大卫:[Laughs] That’s a good question. What would be a question that we could ask about being a good developer?
(笑)这是一个好问题。 关于成为一名优秀的开发人员,我们会问什么问题?
Tim: 蒂姆:Oh, man. If it has to be related to the topic, that’s a little bit difficult. I was thinking in my head, if you weren’t working with the internet, what else would you be doing?
天啊。 如果必须与该主题相关,则有点困难。 我在脑子里在想,如果您不使用互联网,您还会做什么?
David: 大卫:I would probably be banging sticks and rocks together.
我可能会把棍子和石头撞在一起。
Tim: 蒂姆:Maybe I’d be like a farmer or something.
也许我会像个农夫之类的。
David: 大卫:These days nothing doesn’t involve the internet. Every career that I can think of that I’d be involved in would have something to do with the internet.
这些天,没有什么不涉及互联网。 我能想到的每一个职业都会与互联网有关。
Tim: 蒂姆:One thing I figured that we should remind our listeners before we dive in here, is that even if you’re not a developer — like, for example, if you are a designer, or a user experience professional, or if you build for the web in any capacity — what we hope with this episode is that it will still apply to you, because we’re going to talk about technical skills, but we’re also going to talk about soft skills like time management, and working with people, and things like that.
我认为我们应该在进入这里之前提醒听众的一件事是,即使您不是开发人员,例如,如果您是设计师,用户体验专家,或者为网络的任何形式-我们希望本集的内容仍然适用于您,因为我们将要讨论技术技能,但是我们还将要讨论诸如时间管理和与人合作等软技能,诸如此类。
David: 大卫:As we’re starting to talk about what makes a good engineer, it has to do with how well they interact with the other people on the team. They’re going to need to interact with those people and get themselves available, make themselves transparent about the work that they’re doing, and be open to suggestions and ideas that come from non-technical people.
当我们开始谈论什么才是优秀工程师时,这与他们与团队中其他人的互动程度有关。 他们将需要与这些人进行互动,并使自己与他人保持联系,使自己对正在做的工作保持透明,并对来自非技术人员的建议和想法持开放态度。
I’m actually going to ask you this, Tim. You came up with this topic. What did you have in mind when you were thinking about that fabled good developer that you want to become, or that you might see yourself as, or that the qualities that when you do them, you think, That’s making me a good developer.
蒂姆,我实际上要问你。 您想到了这个主题。 当您考虑要成为那个传说中的优秀开发人员,或者可能将自己视为自己的想法时,或者当您想到他们时所想到的特质时,您的想法是什么, 这使我成为一名优秀的开发人员。
Tim: 蒂姆:Right. I’m going to save the obvious one for last. I’m not going to go into it, but the obvious one is being good at writing code. I’m going to save that one for last. I want to go with humility. It’s very important that I approach a project knowing that I don’t have all of the answers and that it’s a very real and present possibility that I don’t have the best solution to the problem in the room and amongst my coworkers.
对。 我将把显而易见的一个保存下来。 我不打算讨论它,但是显而易见的是擅长编写代码。 我要把那个保存到最后。 我要谦虚地去。 非常重要的是,我要了解一个项目,但要知道我没有所有的答案,而且这是非常现实的,现在的可能性,就是我无法在会议室和同事中找到最佳解决方案。
Even if it’s something that I claim to be an expert at. For example, something that I do a lot in my career, is building CMS solutions for non-technical users. I’ve done that so many times I could do it blindfolded. That doesn’t mean that when I go into a meeting to discuss project details — even if I’m leading the project — that I’m going to dismiss other people’s suggestions. I should never do that.
即使我声称自己是专家。 例如,我在职业生涯中经常做的事情就是为非技术用户构建CMS解决方案。 我做了很多次,我都蒙住了眼睛。 这并不意味着当我参加会议讨论项目详细信息时(即使我正在领导该项目),我也将拒绝其他人的建议。 我绝对不应该那样做。
I should also be aware of feeling over-confident about something — where, if someone asks a question and I fire off an answer, sometimes it’s not the right answer. I learned very early on in my career, number one, it’s OK to say, I don’t know something. Number two, to walk through your day-to-day job with humility, because you’ll learn a lot more that way. It’s easier to work with people that way. Overall, you become a better collaborator and thinker that way — at least in my experience.
我还应该意识到自己对某些事情过于自信-如果有人问了一个问题而我提出了一个答案,那么有时候这不是正确的答案。 我很早就学会了职业第一,可以肯定地说, 我什么都不知道。 第二,谦虚地完成您的日常工作,因为这样您将学到更多。 这样与人合作更容易。 总体而言,至少以我的经验,您可以通过这种方式成为更好的协作者和思想者。
David [3:54]: 大卫[3:54] :I love that point. One of my favorite practices, when it comes to excellence in engineering, is the ability to pair effectively with somebody. When you’re pairing with somebody, the first thing that you notice is when you’re brushing up against one of their edges, one of the things that they feel like they know more than you about — or vice versa, they might notice one of yours. And there’s that point at which you have to realize that there’s added value to bringing in other people’s perspectives on how to solve a problem, even if you have a solution that comes to mind immediately, even if it’s time-tested and it’s tried-and-true and you know exactly what you’re doing. There can be a broader perspective that can come from listening to even a junior person, listening to somebody who’s approaching it for the first time — that kind of humility about your own coding can create a dialogue. And if it ends up being that your solution was the best solution, then the other person has had the opportunity to learn from you, instead of just having it shoved down their throats. It gives the opportunity for a back-and-forth.
我喜欢这一点。 当涉及到卓越的工程技术时,我最喜欢的做法之一是能够与某人有效配对。 当您与某人配对时,您会注意到的第一件事是当您刷牙时,他们觉得自己比您更了解一件事,反之亦然,他们可能会注意到一个人你的。 在这一点上,您必须意识到,即使您有一个立即想到的解决方案,即使经过时间的考验和尝试,也可以带给他人关于如何解决问题的观点的附加价值。 -true,您就知道自己在做什么。 聆听甚至是初级人员,也可能是初次接触某个人时,可能会有更广阔的视野-对您自己的编码的这种谦虚会造成对话。 如果最终您的解决方案是最好的解决方案,那么另一个人就有机会向您学习,而不仅仅是让它步入正轨。 它为往返提供了机会。
Tim: 蒂姆:It certainly helped for me, and by no means am I perfect at this. I think it’s a struggle every single day as it is for everyone else in the world. The second thing, I think, that makes a really good developer is curiosity. The minute I stop being curious about what it is that I’m doing, the minute I stop thinking about How does this work? How does the thing that makes that work work? Things like that. The minute I stop letting that curiosity drive what I’m pursuing, I start to feel like I’m getting stale.
这无疑对我有所帮助,而我绝对不能完美。 我认为这与世界上其他所有人的每一天都是一场斗争。 我认为,使真正优秀的开发人员成为第二件事就是好奇心。 当我停止对自己正在做的事情感到好奇的那一刻,在我停止思考这是如何工作的那一刻? 使这项工作有效的东西如何运作? 像这样的东西。 当我停止让好奇心驱使我追求的那一刻,我开始觉得自己已经过时了。
That could be just a thing that’s unique to my personality, but I’ve noticed a lot of the people that I follow who write code are always curious. It’s not a forced curiosity. They’re really enjoying what they’re doing. Even if it’s something that’s very tedious or extremely technical, they always have this wonder about what they’re working on.
那可能只是我的性格特有的事情,但是我注意到,我追随的很多编写代码的人总是很好奇。 这不是强迫的好奇心。 他们真的很享受自己的工作。 即使这是一件非常乏味或非常技术性的工作,他们也总是对自己正在研究的东西感到好奇。
David: 大卫:I don’t think that’s unique to you at all. It’s something I’ve noticed in some of the best engineers that I’ve worked with, and some of the best projects that I’ve worked on. One of the interesting challenges about that, is staying curious and engaged when the project itself doesn’t really catch your imagination.
我认为这并不是您独有的。 在一些我曾与之合作的最好的工程师以及一些我从事过的最佳项目中,我已经注意到了这一点。 有趣的挑战之一是,当项目本身没有真正引起您的想象时,要保持好奇心和投入。
Often, you may be working on something that is very similar to something that you’ve worked on before. It doesn’t intrigue you, or it may be something for some aspect of the project that you find uninteresting for whatever reason. The ability of an engineer to look at each challenge as it comes up and still find ways to say, OK, this is boring. This is unrelated to my own interests, but how can I find something about this that’s going to help me grow as an engineer and help me expand my horizons?
通常,您可能正在从事与以前工作非常相似的工作。 这不会引起您的兴趣,或者可能由于某些原因使您对项目的某些方面不感兴趣。 工程师在面临每个挑战时仍然能够找到解决办法的能力,但是仍然可以找到方法说, 好的,这很无聊。 这与我自己的兴趣无关,但是我如何找到可以帮助我成长为工程师并帮助我扩大视野的东西呢?
Looking for those things, finding them, and pursuing them, I think, is part of how people can maintain that curiosity, and that curiosity helps them grow as engineers while they’re working.
我认为,寻找这些东西,找到它们并加以追求是人们保持这种好奇心的一部分,而好奇心可以帮助他们在工作时成长为工程师。
Tim: 蒂姆:It’s also a challenge sometimes. Right now, I’m working on building a set of HTML emails, which, if you’ve ever had to do, you understand just how difficult and tedious and annoying it is, because there is no standards body for email clients. Everything needs to be super-secure. There are a lot of features you can’t use, which pretty much means you’re writing tables and basic, basic HTML.
有时候这也是一个挑战。 现在,我正在构建一套HTML电子邮件,如果您曾经必须这样做,您将了解它是多么困难,繁琐和令人讨厌,因为没有针对电子邮件客户的标准机构。 一切都需要超级安全。 有很多功能您无法使用,这几乎意味着您正在编写表格和基本的基本HTML。
I personally am not very good at working with tables. At this point, unless your job day-to-day is building emails, you don’t really need to be super clever and advanced with tables. It’s very hard for me as I’m working on this project to get really into it. The thing I always need to remember is, Approach it with that curiosity.
我个人不是很擅长使用桌子。 在这一点上,除非您的日常工作是建立电子邮件,否则您实际上并不需要变得非常聪明并且可以使用表格。 对我来说,这很困难,因为我正在致力于这个项目。 我始终需要记住的事情是, 以这种好奇心来对待它。
Yeah, the specific task, of itself, may not be that fun, but there’s always some new information, there’s always something to learn of a project, even if you have done it a thousand times. There’s always just a, I don’t really want to be doing this, but let me at least see what I can learn from this specific thing right now.
是的,特定的任务本身可能并不那么有趣,但是总会有一些新信息,即使您已经完成了上千次,也总有一些项目需要学习。 总是只有一个, 我并不是很想这样做,但是至少让我看看我现在可以从这件事中学到什么。
David [8:14]: 大卫[8:14] :I’ve got a story about building emails in HTML that might help with that. I was tasked with building out a system for creating emails in a company where things were being moderated through a CMS system, so that people would have to update and constantly manage these emails who had no idea how to build even a rudimentary table, let alone how HTML worked.
我有一个关于用HTML构建电子邮件的故事,这可能会有所帮助。 我的任务是建立一个在公司中通过CMS系统进行审核的公司中创建电子邮件的系统,这样人们将不得不更新和不断管理这些电子邮件,他们甚至不知道如何构建一个基本表,更不用说了HTML的工作方式。
I worked with a coworker of mine to develop a markup language that would allow people to create elements in a fake HTML, like a very simplified HTML, with a standard set of templates. Basically, build a compliant HTML table-based email using components that they could select from. We worked with them to create a library of components that met all of their needs. We worked with the designers to make sure that they met all of the graphics requirements of the company, maybe all of the branding standards and such.
我与我的一位同事一起开发了一种标记语言,该语言允许人们使用一组标准模板在伪造HTML(例如非常简化HTML)中创建元素。 基本上,使用可以从中选择的组件来构建基于HTML表格的兼容电子邮件。 我们与他们一起创建了一个满足他们所有需求的组件库。 我们与设计师合作,以确保他们满足公司的所有图形要求,也许满足所有品牌标准等。
We made sure that they were flexible enough and versatile enough to handle long texts, short texts, etc. By entering information into this CMS using these templates that we designed, we could have them generate HTML emails that were fully compliant with all of the email clients that we were testing on. That was one way of taking the project and making a very creative solution that allowed people to build on HTML emails without having to require an engineer to build every single one the way that you’re having to right now.
我们确保它们具有足够的灵活性和通用性,可以处理长文本,短文本等。通过使用我们设计的模板在此CMS中输入信息,我们可以使它们生成完全符合所有电子邮件HTML电子邮件。我们正在测试的客户。 这是进行该项目并制作出非常有创意的解决方案的一种方法,该解决方案使人们可以在HTML电子邮件上进行构建,而无需工程师按照您现在必须的方式来构建每一个。
Tim: 蒂姆:That sounds like a really interesting project. Again, the CMS-type solutions are always very attractive to me.
这听起来像是一个非常有趣的项目。 同样,CMS型解决方案始终对我很有吸引力。
So, I think a third thing (I’ll do two more things, saving the best for last again) this third thing for me, I think that makes a really good developer is discipline.
因此,我认为第三件事(我将再做两件事,再把最好的留到最后),这对我来说,我认为使一个真正好的开发者成为纪律。
For example, outside of web development, a hobby that I like to do is weightlifting. There are days when I wake up in the morning and, again, I go to the gym before work. I wake up decently early, not super early. I feel like sleeping for an extra two hours rather than going and working out. This is something that most of the time I enjoy and I certainly want to get better at. Even on the days that I don’t super love it, I employ what little bit of discipline that I have to get myself there, because I know it’s going to pay off in the end.
例如,在Web开发之外,我喜欢做的一项爱好是举重。 有时候,我早上会醒来,然后我又去上班前去健身房。 我早起得体,而不是早起。 我想再睡两个小时,而不是出去锻炼。 这是我大部分时间都喜欢的事情,我当然想变得更好。 即使在我不超级喜欢的日子里,我也会运用自己必须遵守的一点纪律,因为我知道这最终会得到回报。
Now, with web development specifically, it’s not something we always want to come face-to-face with, but there are certainly days where I don’t really feel like writing any code. I don’t really feel like working on something. I might be a little bit bored or stale, or something new and complicated comes out, and I’m like, Maybe that’ll go away and I won’t look into it. I feel like if I approach those situations a little bit more disciplined, I might find something that I enjoy, but I will always get more experience and get a little bit better at what I do for a living.
现在,特别是对于Web开发,这并不是我们一直想与之面对面的事情,但是肯定有些日子我真的不喜欢编写任何代码。 我真的不喜欢做某事。 我可能有点无聊或陈旧,或者出现了一些新的复杂事物,我想, 也许那将会消失并且我不会研究它。 我觉得如果我对这些情况要有更多的纪律处分,我可能会发现一些我喜欢的东西,但是我将永远获得更多的经验,并且在做事上会有所改善。
Yeah, it’s great to say, I do it because I love it, but there’s certainly days where I don’t actually love it. The discipline is what I think helps me get through that and come out better on the other side.
是的,很高兴地说, 我这样做是因为我喜欢它,但是肯定有些日子我实际上并不喜欢它。 我认为,纪律可以帮助我克服这些困难,并在另一方面表现出更好的表现。
David [11:38]: 大卫[11:38] :Discipline can be very hard to develop. I know from experience. I’ve certainly had times when I’ve been working on projects and I’ve felt burned out. Yet, the project wasn’t done, and I had to continue working on it. I know one trick that’s worked for me is the ability to develop trigger habits where an event in the day occurs. It can be like a time when the clock hits a certain moment in time, but these events trigger a habit and after several days, repeatedly of always doing the same habit in response to the same trigger, it can help me get over times when I’m burned out and when my discipline might not be working for me.
学科很难发展。 我从经验中知道。 当然,当我从事项目工作时,我感到有些疲倦。 但是,该项目尚未完成,我不得不继续努力。 我知道对我有用的一个技巧是能够在一天中发生事件时养成触发习惯的能力。 就像时钟敲打某个特定时刻的时间一样,但是这些事件触发了一种习惯,几天后,对于相同的触发因素,总是反复地遵循相同的习惯,这可以帮助我克服时间的困扰。精疲力尽,当我的学科可能对我不起作用时。
One example, in my house every day is leg day. You talked about working out. I have a trigger that every time that I brush my teeth, while I’m brushing my teeth, I’m doing squats. I started doing it to see if I could get the tooth brushing/squats habit as a trigger. Now, I can’t brush my teeth without doing squats.
一个例子,我家每天都是腿部日 。 您谈到了锻炼。 我有一个触发条件,就是每次刷牙时,我都会下蹲。 我开始这样做,看看是否可以养成刷牙/蹲便的习惯。 现在,我不能不下蹲就刷牙。
Tim: 蒂姆:That’s some excellent balance and hand/eye coordination too.
这也具有出色的平衡性和手眼协调性。
[Laughter]
[笑声]
David: 大卫:There were no accidents along the way, I’ll tell you.
我会告诉你的,这期间没有发生事故。
Tim: 蒂姆:Yeah, you have to be safe. Make sure the floor isn’t slippery.
是的,你必须要安全。 确保地板不滑。
[Laughter]
[笑声]
David: 大卫:It’s been great, because every morning, every evening, I’m brushing my teeth. I’m doing my squats. I feel like I’m getting pumped and the energy is coming in. It’s time that my legs would have been wasting that time and now it’s a habit. I can’t stop it, because it’s part of my routine.
感觉很棒,因为每天早晨,每个晚上,我都在刷牙。 我在蹲。 我觉得自己正在抽水,能量正在涌入。是时候让我的双腿浪费时间了,现在这是一种习惯。 我无法阻止它,因为它是我日常工作的一部分。
Tim: 蒂姆:I actually haven’t heard of the trigger habits before. That sounds really interesting, and I’m definitely going to try it. I don’t know what my trigger is going to be yet, but that sounds really cool. Thank you for bringing that new information. It sounds like discipline is something that you struggle with, employ that scenario.
实际上,我以前从未听说过触发习惯。 听起来真的很有趣,我肯定会尝试的。 我不知道触发器会是什么,但这听起来真的很酷。 感谢您带来新信息。 听起来,纪律是您在使用该方案时遇到的困难。
For me, discipline is a thing that I was raised with. My dad went to military school. There was a lot of that in my life. It developed. I’ve never had to actually really struggle with it, but if you are listening and that is something that you find difficult, try that, try other things. Let us know if there’s something that’s worked for you in regards to employing discipline to be better as a web developer. I think that would be very interesting to share.
对我来说,纪律是我从小受到养育的。 我父亲上了军校。 我一生中有很多。 它发展了。 我从不需要真正地为此苦苦挣扎,但是,如果您正在听,并且觉得很难,那就尝试一下,再尝试其他方法。 让我们知道在采用纪律以使自己成为Web开发人员方面是否有所帮助。 我认为分享非常有趣。
David: 大卫:I’m going to find the reference for those trigger habits. I believe it’s a book called, The Power of Habit, but I’m going to confirm that. We will put the link in the show notes.
我将为这些触发习惯找到参考。 我相信这是一本名为《习惯的力量》的书,但我将对此进行确认。 我们将把链接放在显示注释中。
Tim: 蒂姆:Sounds good. The last thing. Having a large amount of technical skill. Again, I’ve saved this for the last because I think it’s the most obvious one. It’s not the only thing that makes a good developer, obviously, but it is the thing that I think stands out the most if you say, Oh, man. Such-and-such is a really good developer. She can build all these very extremely technical things and seems to have the answer all the time.
听起来不错。 最后一件事情。 具有大量的技术能力。 同样,我将其保存为最后一个,因为我认为这是最明显的一个。 显然,这并不是使一名优秀的开发人员成为唯一的人,但是如果您说, 噢,这是我认为最突出的事情。 某某某人是一个非常好的开发者。 她可以构建所有这些非常非常技术性的东西,并且似乎一直都有答案。
I think that’s an obvious one, but it’s not something that you just wake up one day and say, I want to be a developer. Let me go just attain all of the technical information. There, I just checked that off my list. I think it’s more of this constant learning and trying things out and employing things like curiosity and discipline, in regard specifically to technical knowledge.
我认为这很明显,但这不是您一天就醒来并说我想成为一名开发人员的事情。 让我继续获取所有技术信息。 在那里,我只是将其从清单中剔除。 我认为这更多的是不断学习,尝试并运用好奇心和纪律性知识,尤其是技术知识。
David: 大卫:It sounds more like it’s a composite of what happens if you have the other set of skills, because in some cases, one of the things we’ve noticed — and we’ve talked to a bunch of folks now on this show — a lot of them do not have technical degrees. They didn’t go to school for studying these things. They just went out and they were curious about what they wanted to learn. They had the discipline to spend the time focusing on something.
听起来更像是如果您拥有另一套技能会发生的事情的综合,因为在某些情况下,我们注意到的一件事-并且我们已经在此节目中与很多人进行了交谈-很多他们中没有技术学位。 他们没有去学校学习这些东西。 他们刚出去,对他们想学习的东西感到好奇。 他们有纪律,要花时间专注于某些事情。
They had a project that drew their curiosity and kept them moving forward. As a result, they became good enough engineers that they were able to launch projects that inspire people who are listening to them here on the show and that engage open-source audiences and internal audiences around the world.
他们的项目吸引了他们的好奇心,并使他们前进。 结果,他们成为了足够好的工程师,他们能够启动项目,激励那些正在节目中听他们讲话的人们,并吸引全世界的开源受众和内部受众。
Tim [16:00]: 蒂姆[16:00] :Yeah. That’s something that I always love hearing when interviewing others — that this was something that they fell into, and loved it, and just continued to pursue it.
是的 我经常喜欢在采访其他人时听到的东西–那是他们爱上并喜欢的东西,并且一直在继续追求。
I will share my — and I’m not claiming to have superior technical knowledge — but the thing that has always worked for me in terms of getting more technical knowledge, is that when I’m working on a project, if there is a thing that will take a reasonable amount of time for me to build myself, I will build it myself.
我将分享我的个人资料-我并不是自称拥有高级技术知识-但在获取更多技术知识方面一直对我有用的是,当我在项目中工作时,如果有我需要花相当长的时间才能建立自己,我会自己建立。
Let’s face it. If someone says, I want a slider, you can go download Ken Wheeler’s Slick Carousel, and it’ll work perfectly. It’ll probably work better than what you build yourself. But if you build it yourself, there is so much you can learn about different ways to instantiate objects in JavaScript, or maybe work with classes, or ways to lazy load images. What if you want responsive images on your carousel? There is just so much for you to learn there.
面对现实吧。 如果有人说, 我想要一个滑块,则可以下载Ken Wheeler的Slick Carousel ,它会完美运行。 它可能会比您自己构建的东西更好。 但是,如果您自己构建它,那么您将学到很多东西,以了解不同的方法来实例化JavaScript中的对象,或者使用类,或者延迟加载图像。 如果您想在轮播上添加响应式图像怎么办? 您在那里可以学到很多东西。
My strategy has always been, if it’s not going to derail the project, maybe I’ll put in some extra hours here-and-there, but I want to build this thing myself because I want to learn exactly how it works. I want to learn the common design patterns. I want to learn the mistakes and make those myself and learn and get better there. That has so far never failed to help improve the amount of technical skill that I have.
我的策略一直是,如果不致使项目脱轨,也许我会在这里和那里花一些额外的时间,但是我想自己构建这个东西,因为我想确切地了解它是如何工作的。 我想学习常见的设计模式。 我想学习错误,使自己成为错误,并在那里学习并不断进步。 到目前为止,这从来没有帮助我提高技术水平。
David: 大卫:It’s interesting. It’s a challenge, because sometimes you’re working on a team, and you’re working with other people who are relying on not only your speed, but also on the resilience of your code. I know you code with absolutely perfect standards.
这真有趣。 这是一个挑战,因为有时您正在团队中工作,并且您正在与其他不仅依赖您的速度而且还依赖于代码弹性的人一起工作。 我知道您使用绝对完美的标准进行编码。
Tim: 蒂姆:Every time!
每次!
David: 大卫:Nothing’s ever buggy. When you look at something you wrote five years ago, you can step right back into it as if it were yesterday. That’s not the case for all of us. [Laughs] There is definitely a skill to being able to take something out of a library and use it effectively, but it comes down to something I know we’ve discussed also in previous episodes of the show: the importance of focused, modular elements being released into the public domain, so that they can be used and understood and built upon, but the element itself is as focused as possible on the narrowest definition of the task. And then it can be enhanced.
从来没有越野车。 当您看一下五年前写的东西时,就可以像昨天一样直接回到它。 对于我们所有人而言并非如此。 [笑]绝对有能力从库中取出某些东西并有效地使用它,但这归结为我知道我们在展览的前几集中也已经讨论过:集中的模块化元素的重要性被发布到公共领域,以便可以被使用,理解和建立,但是元素本身尽可能地集中在任务的最狭窄定义上。 然后可以对其进行增强。
I do love building on code that I appreciate and that I admire. I often learned a lot from reading other people’s code as well.
我喜欢基于我欣赏和欣赏的代码。 我也经常从阅读别人的代码中学到很多东西。
Tim: 蒂姆:Yeah. I have to echo that sentiment. The smaller the code, the better the code. I think I released a couple of things lately. Sometimes, it’s hard to keep them small. Sometimes, you just really want to add this feature, add that feature …
是的 我必须回应这种情绪。 代码越小,代码越好。 我想我最近发布了几件事。 有时很难将它们缩小。 有时,您只是真的想要添加此功能,请添加该功能...
David: 大卫:It depends on whether you’re trying to solve a problem for yourself, in which case you know exactly what parameters you need to deal with, or if you’re trying to create something that other people can build on, in which case you want to build the foundation and then let them adapt it for their purposes.
这取决于您是否要自己解决问题,在这种情况下,您确切地知道需要处理哪些参数,或者是否要创建其他人可以依靠的东西,在这种情况下,您要建立基础,然后让他们根据自己的目的进行调整。
Tim: 蒂姆:Yes, definitely.
当然是。
So, what makes, in your mind, a good developer?
那么,什么使您成为优秀的开发人员呢?
David: 大卫:I think we touched on a lot of things. I wanted to circle back to the very first one that you mentioned, which was the humility. One of the things that I think is missing — that some of the best engineers that I have seen have — is pride, completely on the opposite side of humility. A lot of working effectively in a team and in an organization, has to do with the ability to let other people know what you’re capable of and also let other people know what you’re working on.
我认为我们谈到了很多事情。 我想回到你提到的第一个谦虚。 我认为缺少的一件事-我见过的一些最好的工程师都感到骄傲-完全与谦卑相反。 在团队和组织中进行有效工作的很多原因,都在于让其他人知道您的能力并让其他人知道您的工作能力。
The lack of transparency that I’ve seen in some engineers who keep their code hidden inside of a little box and don’t let anybody else know what they’re working on, they don’t bring other engineers into collaborate on things. It creates stovepipes of information inside of organizations. I think some of the best engineers that I’ve ever worked with are the ones who are the most interested in sharing information about what they’re doing, bragging about the things that they’re successful at, going out and giving talks, giving brown-bag presentations inside of their organizations, or going to meet ups and talking about what they’re doing, but sharing that information out.
我见过一些工程师缺乏透明性,他们将代码隐藏在一个小盒子中,并且不让其他人知道他们在做什么,他们没有让其他工程师在事情上进行协作。 它会在组织内部创建大量信息。 我认为与我合作过的最好的工程师中的一些最愿意分享他们正在做的事情的信息,吹嘘自己成功的事情,外出并进行演讲,给予帮助。组织内部的简报演示,或者见面开会并谈论他们在做什么,但要共享这些信息。
It’s like the other side to humility. Be humble in terms of recognizing that there’s something you can learn, but also be proud of what you know and willing to share it, and willing to put it out there. I think that’s something that’s missing in some engineers.
就像谦卑的另一面。 在认识到可以学到的东西方面要谦虚,但也要为自己所知道的,愿意分享的,并愿意将其发布而感到自豪。 我认为这是某些工程师所缺少的。
Tim [20:40]: 蒂姆[20:40] :I agree with that. I think there’s definitely something to be said for being proud of what it is that you’re doing and working on and wanting to show other people. When I build something that I think … [laughs] … I was about to say, when I build something really cool, and that’s probably never happened, but when I build something that I think is really cool, there’s so many times where I want to show everybody and say, Look what I did here with this new technology. Look how this works. It’s progressive. It helps users do this thing.
我同意这一点。 我认为绝对值得为您为自己正在做的事情和正在努力的工作以及想向他人展示而感到自豪。 当我构建一个我认为很酷的东西时 [笑] ...我要说的是, 当我构建一个非常酷的东西时 ,可能从来没有发生过,但是当我构建了一个我认为非常酷的东西时,有很多次我想要向所有人展示并说, 看看我在这项新技术上所做的。 看看这是如何工作的。 它是进步的。 它可以帮助用户执行此操作。
But, in showing it, and teaching other people about it, something really good and helpful could come out of it. That’s why I think it’s important to be prideful about the work that you do. Maybe not prideful, but to be excited about the thing that you’re working on, so that you can teach other people about it and show other people what you’ve been doing. Through that collaboration, something better might come.
但是,在展示它并教别人关于它的过程中,可能会产生真正好的和有用的东西。 这就是为什么我认为对您所做的工作感到自豪很重要。 也许并不骄傲,但是对您正在做的事情感到兴奋,以便您可以教其他人并向他人展示您的工作。 通过这种合作,可能会有更好的结果。
David: 大卫:I’ve got no buttons on the word, pride. I like the word, pride. In particular, it speaks to an issue that I know I’ve suffered from in the past. I promise I won’t look. Everybody raise your hands if you’ve had experience with imposter syndrome, where you feel like, Oh my God! How did they give me this job? How did I get this responsibility? I’ve got no idea what I’m doing. I’m completely unqualified. How did I fool them into letting me take responsibility for this?
我没有这个词, 骄傲。 我喜欢这个词, 骄傲。 特别是,它谈到了我知道过去遭受的一个问题。 我保证我不会看。 如果您有过冒名顶替综合症的经历,每个人都会举手,您会觉得,“ 天哪!” 他们是怎么给我这份工作的? 我是如何获得这项责任的? 我不知道我在做什么。 我完全没有资格。 我怎么骗他们让我对此负责?
I think it’s universal among engineers that I’ve met. Everybody who I’ve talked to about this, has admitted that they don’t believe that they are as skilled as other people seem to think that they are. One of the things that makes a good engineer in my opinion is the ability to move through that, despite the fact that you feel that you are an imposter. Recognize the things that you know really do have value.
我认为这在我遇到的工程师中很普遍。 我所讨论的每个人都承认,他们不相信自己像其他人所认为的那样熟练。 在我看来,成为一名优秀工程师的一件事是能够克服这些困难,尽管您认为自己是冒名顶替者。 认识到您真正知道的东西确实有价值。
It ties back to the ability to teach other people. If you don’t value the things that you know, because you know them, it couldn’t possibly be worth learning if you already know them, then you won’t feel that there’s something that you have to teach other people. That ties back into what makes a good engineer — the ability to share that information and to be proud of the things that you do know.
它与教别人的能力息息相关。 如果您不重视所知道的东西,因为您了解它们,那么如果您已经知道它们,那么可能就不值得学习,那么您将不会觉得有什么需要教别人的。 这与成为一名优秀工程师的能力有关—能够共享信息并为您所知道的事情感到自豪。
Tim: 蒂姆:Can we talk about imposter syndrome for a second? I feel like I’ve had this long-standing bone to pick with imposter syndrome. See, the thing I hate so much about the idea of imposter syndrome — which I have experienced, and I think everybody in the world has experienced. It’s like only looking through windows and never at a mirror, because we build the tools that allow people to constantly have a window into other people’s lives. But it’s not actually a window. It’s like a window and behind it is a picture frame with all the best moments picked out.
我们可以谈谈冒名顶替综合症吗? 我觉得自己有这种长久的骨头可以冒充综合症。 瞧,我非常讨厌冒名顶替综合症的概念-我已经经历了,而且我认为世界上每个人都经历过。 这就像只透过窗户看,而不是照镜子一样,因为我们建立了可以让人们不断窥视他人生活的工具。 但这实际上不是窗口。 它就像一扇窗户,在它的后面是一幅相框,上面记录了所有美好的时光。
When you see on social media or even out in the general world, you are most likely seeing a presentation of someone’s true self. You’re never seeing the complete picture. When you collect those pictures and best presentations of other people and you build profiles … All right, this person is this, that person is that. That whole time, even if you are looking in the mirror and saying, I’m this. I’m that, your best representation of other people is not truly them, it’s mostly them at their best selves.
当您在社交媒体上甚至在整个世界看到时,您很可能会看到某人的真实自我的展现。 您永远不会看到完整的图片。 当您收集这些图片和其他人的最佳演示文稿并建立个人资料时…好吧,这个人就是这个,那个人就是那个。 在整个过程中,即使您正对着镜子说, 我就是这个。 我的意思是,您对其他人的最佳代表不是真正的他们,而多数是他们自己的最佳表现。
I feel that the imposter syndrome comes from looking at the grass being greener everywhere else, but you’re just looking at their best grass. You’re seeing what everybody has put forward for you to see, not the bad stuff, not the failures, not the mistakes. I think that’s where the imposter syndrome comes from. It’s because you see everybody dressed up in tuxedos and you think you’re wearing rags. It’s never the case.
我觉得冒名顶替综合症源于看着其他地方的草更绿,但您只是在看他们最好的草。 您正在看到每个人都提出的要看的内容,不是坏东西,不是失败,不是错误。 我认为这就是冒名顶替综合症的来源。 这是因为您看到每个人都穿着燕尾服打扮,并且认为自己穿着破布。 从来没有。
David [24:45]: 大卫[24:45] :You’re seeing everybody’s demo reel, but you see your own outtakes.
您看到的是每个人的演示卷轴,但您看到的是自己的花絮。
Tim: 蒂姆:Exactly. It’s such a hard thing to identify, but I think it’s so important to remember that almost every single experience where you come into contact with another human being, there is a barrier in front of it. There’s a guard. That other human being is putting forth their best self. You can’t compare against that because only they know their full, true self. Only you know your full, true self. The minute you try to say, Oh, well, that person is just better, and I am just an imposter — the minute you fall into that trap of comparing everything you know about yourself to seemingly nothing you know about the interaction with the other person; you know everything about yourself, but you only know what that other person has shown you. I think that’s where the imposter syndrome comes from.
究竟。 很难识别,但我认为记住如此重要的一点是,几乎每一次您与他人接触的经历都存在障碍。 有个警卫 另一个人正在展现自己的最佳自我。 您无法与之相比,因为只有他们知道自己完整,真实的自我。 只有你知道自己完整,真实的自我。 您尝试说的那一刻, 哦,那个人更好,而我只是一个冒名顶替者 -当您陷入将自己了解的所有内容与与对方的互动一无所知的陷阱时; 您了解自己的一切,但您只知道其他人向您展示的内容。 我认为这就是冒名顶替综合症的来源。
A word of warning to anyone who starts to feel imposter syndrome grip them is to remember that every single interaction you’ve had with another human being has been carefully combed over and presented to you in the right way. To compare yourself against that, it’s not real. It’s not logical. It’s not a thing to do that actually has any value. I know that’s easy to sit back in my chair and say that, especially as someone who has experienced imposter syndrome before. But I would say, just try to remember that. If you struggle with this and it’s something that you often find yourself thinking, just remember that you’re comparing yourself to someone else’s best moments.
对于任何开始感到冒名顶替综合症的人,要警告他们的一点是要记住,您与另一个人的每一次互动都经过精心梳理,并以正确的方式呈现给您。 与此相比,这是不真实的。 这是不合逻辑的。 这样做实际上没有任何价值,这不是一件事情。 我知道这很容易坐在我的椅子上说出来,尤其是对于以前经历过冒名顶替综合症的人。 但我会说,只是想记住这一点。 如果您为此感到挣扎,并且经常想起这件事,请记住,您正在将自己与他人的最佳时机进行比较。
David: 大卫:And of course, everybody knows that the Versioning Show isn’t at all edited. You’re hearing us completely raw and exactly the way that we spoke with no edits and no cuts. It came across just as perfectly as you’re hearing it today.
当然,每个人都知道Versioning Show根本没有被编辑。 您正在完全无聊地听到我们的讲话,而我们没有任何修改和削减。 它就像您今天听到的一样完美。
[Laughter]
[笑声]
Tim: 蒂姆:Back to good developers. Here’s a question now. I am just starting out in my career. I’m new to all of this — either just out of college, or just out of high school, and I want to be a web developer. What steps do I take to be good at web development?
回到优秀的开发人员。 现在是一个问题。 我刚刚开始我的职业生涯。 对于这一切我都是陌生的–要么刚上大学,要么刚上高中,我想成为一名Web开发人员。 我应该采取什么步骤才能擅长Web开发?
David: 大卫:Well, let’s go back through our list of things that we discussed.
好吧,让我们回顾一下我们讨论过的事情清单。
Tim: 蒂姆:We had humility, curiosity, discipline. Then, of course, technical skill, which is those other three things help you get the fourth one. And pride. If I want to learn how to be humble when I walk into a room of peers, and someone either asks me for an answer for something, or I’m brainstorming with other people and I don’t want to steamroll anybody … Yeah, how is it something that I develop that behavior?
我们谦卑,好奇,有纪律。 然后,当然,是技术技能,这三者帮助您获得第四项。 和骄傲。 如果我想学习走进同龄人的房间时如何谦虚,或者有人要我为某事提供答案,或者我正在与其他人进行头脑风暴,并且我不想让任何人动摇……是的,如何是我发展这种行为的东西吗?
David: 大卫:I’m going to punt on this. What I’m going to say is that I think it’s a false equation to say that you can separate these behaviors out and look at them independently in isolation. I think that that’s a phenomenon of trying to apply the human mind to something that is more holistic than that. The things that we’ve discussed, while they’re facets, I don’t think that they can be looked at in isolation. I think, for example, that humility, the way that we’ve defined it in this context, comes out of curiosity.
我要对此进行讨论。 我要说的是,我认为可以将这些行为分离出来并孤立地单独查看它们是一个错误的方程式。 我认为这是试图将人的思想运用到比这更全面的事物上的现象。 我们已经讨论过的东西虽然是多面的,但我认为不能孤立地看待它们。 我认为,举例来说,谦卑是我们出于好奇心而定义的方式。
Tim [28:13]: 蒂姆[28:13] :Wow! You made this circle. It totally makes sense. Yeah, that’s very true and very interesting. If you’re constantly staying curious about what it is that you’re doing, then I think you will be less inclined to jump to an immediate answer that you would otherwise be unsure of, or to not let someone else answer a question that you think you know better than. Yeah, I definitely see curiosity as being something that really helps that. That’s a very interesting point.
哇! 你做了这个圈子。 完全有道理。 是的,这是真的,非常有趣。 如果您一直对自己在做什么感到好奇,那么我认为您将不太愿意跳到您可能不确定的即时答案,或者不让其他人回答您的问题。以为你知道得比。 是的,我绝对会认为好奇心确实可以帮助他们。 这是非常有趣的一点。
David: 大卫:As engineers, I think that we want to divide things up into categories and look at them objectively. But really, when you think about the people you’ve worked with who have been the mentors that you’ve wanted to work with, or the people you’ve learned the most from. It’s not really about, I want to learn humility from this person. I want to learn creativity from this person. I want to learn discipline from that person. I think these tend to be things that, if it’s somebody we admire, and somebody that we want to benefit from interacting with, these are people who usually combine this set of things, and it’s because they go together.
作为工程师,我认为我们希望将事物划分为几类,并客观地进行研究。 但是,实际上,当您考虑与您一起工作过的人时,曾是您想与之共事的导师,或者您从中学到了最多的人。 这不是真的, 我想向这个人学习谦卑。 我想向这个人学习创造力。 我想向那个人学习纪律。 我认为这些东西往往是这样的东西,如果这是我们敬佩的人,而我们希望从与之互动中受益的人,则这些人通常将这一系列东西结合在一起,这是因为它们在一起。
Tim: 蒂姆:Yeah, very interesting. So, we’ve talked about the characteristics and qualities of a good developer. If we’re going to talk about how to become a good developer, what suggestions would you have?
是的,非常有趣。 因此,我们已经讨论了优秀开发人员的特征和品质。 如果我们要谈论如何成为一名优秀的开发人员,您有什么建议?
David: 大卫:Well, I threw out the word mentor.
好吧,我淘汰了导师一词。
Tim: 蒂姆:Yes.
是。
David: 大卫:I think that modeling is one of the best approaches to developing an approach that you don’t have at the moment. If you recognize and can see in somebody else the behaviors and characteristics that you want to adopt, the ability to find somebody you can learn from, somebody who might be willing to mentor you, or somebody you can simply gain mentorship by observing or by researching. Then, modeling the behaviors that you see.
我认为建模是开发目前尚无方法的最佳方法之一。 如果您认识并可以在其他人中看到您想要采用的行为和特征,找到可以向您学习的人,可能愿意为您提供指导的人,或者您只是通过观察或研究即可获得指导的人。 然后,对您看到的行为进行建模。
The whole fake it till you make it concept is actually very applicable, because if you put yourself out there and embody the characteristics that you want to see in a good developer by putting them on; figuring out ways that you can project those characteristics and put them into your highly curated stream of information that you share with the world, people will start to see you that way, and they’ll start to treat you that way. You can develop those abilities, those super-powers, simply by embodying them.
假冒它直到您提出它的概念实际上是非常适用的,因为如果您将自己摆在那儿,并通过将其体现出来,就可以体现出您希望在优秀开发人员中看到的特征; figuring out ways that you can project those characteristics and put them into your highly curated stream of information that you share with the world, people will start to see you that way, and they'll start to treat you that way. You can develop those abilities, those super-powers, simply by embodying them.
Tim: 蒂姆:I’ve taken the fake it till you make it path. It can get rocky. When I first started out, I was a consultant, which means I really knew nothing and I was cold emailing people on Craigslist for work for the web. I told them I knew what I was doing. I had no idea what I was doing, but I stayed up sometimes all night figuring it out, and I got it done.
I've taken the fake it till you make it path. It can get rocky. When I first started out, I was a consultant, which means I really knew nothing and I was cold emailing people on Craigslist for work for the web. I told them I knew what I was doing. I had no idea what I was doing, but I stayed up sometimes all night figuring it out, and I got it done.
Most often, the most challenging parts of those situations was when I actually got started working on it and realized, there’s a lot to this; there’s a potential bit-off-more-than-I-can-chew situation, but because I needed to pay the bills, I bundled right through it.
Most often, the most challenging parts of those situations was when I actually got started working on it and realized, there's a lot to this; there's a potential bit-off-more-than-I-can-chew situation, but because I needed to pay the bills, I bundled right through it.
David: 大卫:I can see that. It’s important to challenge yourself. You wouldn’t have bothered to learn a lot of those things if you didn’t have a project that was forcing you to go through them. Discipline is one thing, but I find for myself at least, unless there’s somebody out there who’s expecting something from me, I’m probably not as likely to go out and learn that new framework, unless there’s some project that I really want to build with it, or unless there’s something specific I want to do with it.
我理解了。 It's important to challenge yourself. You wouldn't have bothered to learn a lot of those things if you didn't have a project that was forcing you to go through them. Discipline is one thing, but I find for myself at least, unless there's somebody out there who's expecting something from me, I'm probably not as likely to go out and learn that new framework, unless there's some project that I really want to build with it, or unless there's something specific I want to do with it.
Tim [31:52]: Tim [31:52] :Yeah. I think that touches on another thing — the ability to prevent yourself from getting obsessed. What I mean by getting obsessed is in a dangerous sort of way. There was a time when I was getting started again where I thought that I needed to read every single article and try every single technology. If I didn’t know this thing, then I was a bad developer because of it.
是的 I think that touches on another thing — the ability to prevent yourself from getting obsessed. What I mean by getting obsessed is in a dangerous sort of way. There was a time when I was getting started again where I thought that I needed to read every single article and try every single technology. If I didn't know this thing, then I was a bad developer because of it.
That led to a lot of working on weekends and not going out with friends on a Saturday night because I thought I really needed to know this thing so that I could put food on the table. In reality, it turned out to be a thing that I never used. I actually have a very stale repository and GitHub called Angular Demos, wherein I thought that I was just never going to be able to get a job if I didn’t know how to write code in Angular. And now, there’s not a lot of Angular news. I’m sorry if you’re an Angular developer. I’m sure it’s great.
That led to a lot of working on weekends and not going out with friends on a Saturday night because I thought I really needed to know this thing so that I could put food on the table. In reality, it turned out to be a thing that I never used. I actually have a very stale repository and GitHub called Angular Demos , wherein I thought that I was just never going to be able to get a job if I didn't know how to write code in Angular. And now, there's not a lot of Angular news. I'm sorry if you're an Angular developer. I'm sure it's great.
David: 大卫:There are Backbone developers out there. There are jQuery developers out there. All of these … It was the must know technology of the day.
There are Backbone developers out there. There are jQuery developers out there. All of these … It was the must know technology of the day.
Tim: 蒂姆:I was genuinely afraid that I was not going to be able to get a job if I didn’t know Angular. I think that part of being a good developer is knowing how to not just avoid, but notice when you are steering towards a pattern of thinking like that, and reset and remind yourself that, all right, stick to these bases. These are the things that I’m good at. Let me develop my expertise there.
I was genuinely afraid that I was not going to be able to get a job if I didn't know Angular. I think that part of being a good developer is knowing how to not just avoid, but notice when you are steering towards a pattern of thinking like that, and reset and remind yourself that, all right, stick to these bases. These are the things that I'm good at. Let me develop my expertise there.
You may notice trends are pivoting. For example, if I decided this ES6 / ES2015 thing is a fad, that’s probably a bad decision, but it’s good to be able to recognize patterns when, all right, a new framework is out. Everybody’s saying it’s all the rage. What has history told us? This happens a lot. This may not be mandatory for me to learn right now.
You may notice trends are pivoting. For example, if I decided this ES6 / ES2015 thing is a fad, that's probably a bad decision, but it's good to be able to recognize patterns when, all right, a new framework is out. Everybody's saying it's all the rage. What has history told us? This happens a lot. This may not be mandatory for me to learn right now.
David: 大卫:Very difficult to learn these things in the abstract anyway. It’s so much better to learn any of these, if you have a specific project, or a specific client, that you’re working toward. Ideally, it’s something that lends itself to the use of this particular framework. If you’re going to build Basecamp, you want to use Rails. If you’re going to build a to-do list, probably you want to use React these days.
Very difficult to learn these things in the abstract anyway. It's so much better to learn any of these, if you have a specific project, or a specific client, that you're working toward. Ideally, it's something that lends itself to the use of this particular framework. If you're going to build Basecamp, you want to use Rails. If you're going to build a to-do list, probably you want to use React these days.
Tim: 蒂姆:Yeah, definitely. I don’t think I’ve ever had a really intense learning experience just working on a demo. Again, I have to quote the ShopTalk show mantra. I know I’m bringing in another podcast, I’m sorry, but we interviewed Chris Coyier, so I think this is fair. To just build websites, the thing that you hear in every intro now to their podcast: that never fails to be true for me. Every time, I feel like I want to learn something new, when it’s a part of a large project, is when it really sinks in and when I really feel that, OK, now I understand, and no one can use this new thing.
是的,当然。 I don't think I've ever had a really intense learning experience just working on a demo. Again, I have to quote the ShopTalk show mantra. I know I'm bringing in another podcast, I'm sorry, but we interviewed Chris Coyier , so I think this is fair. To just build websites , the thing that you hear in every intro now to their podcast: that never fails to be true for me. Every time, I feel like I want to learn something new, when it's a part of a large project, is when it really sinks in and when I really feel that, OK, now I understand, and no one can use this new thing.
I fall into this pattern where I’ll see something new. I’ll make a to-do list thing with it. Then, I’ll say, I know this thing now. I know it. I made the to-do list. Now, I can use it on a production application. Never been the case.
I fall into this pattern where I'll see something new. I'll make a to-do list thing with it. Then, I'll say, I know this thing now. I know it. I made the to-do list. Now, I can use it on a production application. Never been the case.
[Chuckles]
[笑声]
David: 大卫:Never been the case, and it never will be the case. Yet, those things keep on getting published. People keep on trying to learn things that way. Ideally, you have your own project. You’ve got your own challenges that you’re trying to solve. You have decided that this framework is the best way to approach solving this particular problem.
Never been the case, and it never will be the case. Yet, those things keep on getting published. People keep on trying to learn things that way. Ideally, you have your own project. You've got your own challenges that you're trying to solve. You have decided that this framework is the best way to approach solving this particular problem.
Tim: 蒂姆:Yeah, I agree.
是的,我同意。
David: 大卫:We have rambled.
We have rambled.
Tim: 蒂姆:We have. We have editors and I’m sure they’ll sort this out.
我们有。 We have editors and I'm sure they'll sort this out.
David: 大卫:It’s going to be an interesting challenge, I think.
It's going to be an interesting challenge, I think.
Tim: 蒂姆:I was thinking of the idea of micro-exchanges, where we release like Episode number 12 and a half, or something. It’s like a quick little thing. I thought maybe that might be fun. I’m trying to be creative about podcasting, in general. I think our podcast specifically is not really one that’s not the type of subject matter that I usually hear being talked about. I’m trying to see what else we can do differently.
I was thinking of the idea of micro-exchanges, where we release like Episode number 12 and a half, or something. It's like a quick little thing. I thought maybe that might be fun. I'm trying to be creative about podcasting, in general. I think our podcast specifically is not really one that's not the type of subject matter that I usually hear being talked about. I'm trying to see what else we can do differently.
David: 大卫:I love that one of our listeners called it The Philosophy of Web Development.
I love that one of our listeners called it The Philosophy of Web Development.
Tim: 蒂姆:That made me very happy.
That made me very happy.
David: 大卫:Yeah. It made my heart warm. I stole that, and I’ve already started telling people that that’s what the show is about.
是的 It made my heart warm. I stole that, and I've already started telling people that that's what the show is about.
Tim: 蒂姆:Perfect. Excellent.
完善。 优秀的。
David: 大卫:Being the only show out there about the philosophy of web development, I think we’re in a good position.
Being the only show out there about the philosophy of web development, I think we're in a good position.
Tim: 蒂姆:Yeah. Market domination!
是的 Market domination!
[Chuckles]
[笑声]
Well, thank you so much for listening, everybody. We always enjoy getting to talk technology with all of you.
好,非常感谢大家的倾听。 我们总是喜欢与大家交谈技术。
David: 大卫:We’d also like to thank SitePoint.com, and our producers, Adam Roberts and Ophelie Lechat, with production help from Ralph Mason. Please feel free to send us your comments on Twitter — @versioningshow — and give us a rating on iTunes. Let us know how we’re doing.
We'd also like to thank SitePoint.com , and our producers, Adam Roberts and Ophelie Lechat, with production help from Ralph Mason. Please feel free to send us your comments on Twitter — @versioningshow — and give us a rating on iTunes . 让我们知道我们的状况。
Tim: 蒂姆:We’ll see you next time, and we hope you enjoyed this version.
下次见,我们希望您喜欢这个版本。
翻译自: https://www.sitepoint.com/versioning-show-episode-17-what-makes-a-good-engineer/
优秀web前端工程师必备