devops开发模式流程图_2020 Web开发人员路线图–成为前端,后端或DevOps开发人员的视觉指南

devops开发模式流程图

There are many ways you can go about picking up the skills you need to become a developer.

您可以采用多种方法掌握成为开发人员所需的技能。

There are linear curriculums that teach you a bit of everything - like freeCodeCamp's full stack development curriculum.

有线性课程可以教给您很多知识,例如freeCodeCamp的全栈开发课程。

And then there are massive lists of skills - and sometimes lists of resources - you can use to "choose your own adventure" through the learning process.

然后是大量的技能列表,有时还有资源列表,您可以用来在学习过程中“选择自己的冒险”。

One of the best such list of skills is Kamran Ahmed's Developer Roadmap, which he regularly updates.

卡姆兰·艾哈迈德 ( Kamran Ahmed)的开发人员路线图是此类技能中最好的一种,他会定期进行更新。

This is no ordinary list of resources. Kamran has painstakingly mapped out all the skills he feels are essential to breaking into different fields of development.

这不是普通的资源列表。 卡姆兰(Kamran)精心设计了他认为对进入不同发展领域必不可少的所有技能。

I've written about his roadmap in the past. And to celebrate us all being half way into 2020, I'm going to share his entire roadmap here - all three of them.

我过去曾经写过关于他的路线图的文章。 为了庆祝我们进入2020年的一半,我将在这里分享他的整个路线图-所有这三个路线图。

That's right - he has lists of tools and resources that are required for the following paths:

没错-他提供了以下路径所需的工具和资源列表:

  • Front end web development

    前端网页开发
  • Back end web development

    后端网页开发
  • DevOps (also known as "site reliability" - this is sort of an evolution of the old System Administrator role)

    DevOps(也称为“站点可靠性”-这是对旧系统管理员角色的一种演变)

所有开发人员都需要的技能,无论他们的专业是什么 (The skills all developers need regardless of their specialization)

In addition to these paths, Kamran also recommends everyone who wants to work as a developer learn the following skills:

除了这些途径之外,Kamran还建议所有想成为开发人员的人学习以下技能:

Git-版本控制 (Git - Version Control)

Git is a powerful version control system that as of 2020 is used almost universally. If you don't know it - yes it's related to GitHub and GitLab, and you can learn how to use those tools, too.

Git是一个功能强大的版本控制系统,截至2020年几乎已普遍使用。 如果您不知道-是的,它与GitHub和GitLab有关,您也可以学习如何使用这些工具。

基本终端用法-Bash命令行,SSH和其他技能 (Basic Terminal Usage - The Bash Command Line, SSH, and other skills)

This could be the terminal on a Mac, a Windows DOS prompt, or Bash/ZSH. Note that regardless of which operating system you use, you should probably learn Linux. Even if you're not using it for your laptop/desktop environment, you'll almost certainly use it for servers.

这可能是Mac上的终端,Windows DOS提示符或Bash / ZSH。 请注意,无论使用哪种操作系统,都应该学习Linux。 即使您不在笔记本电脑/台式机环境中使用它,也几乎肯定会在服务器上使用它。

数据结构与算法 (Data Structures and Algorithms)

The freeCodeCamp curriculum covers these in-depth. You'll probably want to learn these by solving lots of algorithm problems on freeCodeCamp, CodeWars, Project Euler, or another drilling website. I personally recommend doing this in either JavaScript or Python but if you're up for a challenge and have lots of time on your hands, doing it in C wouldn't hurt.

freeCodeCamp课程涵盖了这些内容。 您可能想通过在freeCodeCamp,CodeWars,Project Euler或其他钻探网站上解决许多算法问题来学习这些知识。 我个人建议使用JavaScript或Python进行此操作,但是如果您面临挑战并且有很多时间在手,那么使用C进行操作不会有任何伤害。

了解网络的工作原理:HTTPS和API (An understanding of how the web works: HTTPS and APIs)

There are a lot of other concepts you can learn. I recommend working through a good entry-level computer science course to get started. Here's all of Harvard's CS50 course lectures ad-free on freeCodeCamp's YouTube channel.

您还可以学习很多其他概念。 我建议您完成一门入门的入门级计算机科学课程。 以下是所有在freeCodeCamp的YouTube频道上进行的无广告的CS50课程讲座

设计模式,YAGNI,KISS,SOLID (Design Patterns, YAGNI, KISS, SOLID)

I don't think beginners need a deep understanding of these, but it wouldn't hurt.

我认为初学者不需要对此有深入的了解,但这不会有任何伤害。

Design Patterns are basically time-tested ways to implement different types of software systems and coding structures. You can learn these gradually as you progress.

设计模式基本上是经过时间考验的方法,用于实现不同类型的软件系统和编码结构。 您可以随着学习的进行逐步学习。

As for the alphabet soup, here's what these stand for:

至于字母汤,这些代表:

  • YAGNI - Ya Ain't Gonna Need It - The philosophy that most of the code you think you'll need to write and the features you'll need to implement will actually turn out to be unnecessary

    YAGNI-不需要-您认为您需要编写的大多数代码以及需要实现的功能的哲学实际上是不必要的

  • KISS - Keep it simple, silly! - The simpler you keep your projects the easier your life will be when it comes to maintenance.

    吻-保持简单,愚蠢! -保持项目越简单,维护工作就越轻松。

  • SOLID - This is a mnemonic for "Single responsibility,‌‌Open–closed, Liskov substitution, Interface segregation, Dependency inversion". Yeah - not beginner's stuff, but look into this if you're curious.

    SOLID-这是“单职责,‌‌开闭,Liskov替换,接口隔离,依赖倒置” 的助记符 。 是的-不是初学者的东西,但是如果您好奇的话,请研究一下。

前端Web开发路线图 (Front End Web Development Roadmap)

Kamran's first roadmap focuses on front end web development.

Kamran的第一个路线图侧重于前端Web开发。

Here's his Front End Roadmap in its entirety:

这是他完整的前端路线图:

我对前端路线图的想法 (My thoughts on the Front End Roadmap)

This is a solid list of fundamental skills.

这是基本技能的可靠清单。

As a front end developer, you will definitely be working with HTML, CSS, and JavaScript - lots and lots of JavaScript.

作为前端开发人员,您一定会使用HTML,CSS和JavaScript-大量JavaScript。

The only things I think are unnecessary here:

我认为这里唯一没有必要的事情是:

  • CSS Preprocessors. These use to be necessary, but CSS itself has added many of the features that made these preprocessors so useful. freeCodeCamp currently teaches Sass, but we are in the process of phasing that out as well.

    CSS预处理器。 这些是必需的,但是CSS本身添加了许多功能,使这些预处理器变得非常有用。 freeCodeCamp当前正在教授Sass ,但是我们也在逐步淘汰它。

  • CSS Architecture: I don't think these are necessary unless you designing CSS systems is a big part of your day-to-day job.

    CSS体系结构:除非您设计CSS系统是您日常工作的重要组成部分,否则我认为这些不是必需的。
  • A bit of a nitpick: TypeScript is a promising way to reduce bugs and code with confidence. We're adding this to Version 7.0 of the freeCodeCamp core curriculum. I think this should be even more prominent on the roadmap, but it is on there.

    有点挑剔:TypeScript是一种有希望的减少错误和代码的信心十足的方法。 我们将其添加到freeCodeCamp核心课程的7.0版中 。 我认为这应该在路线图上更加突出,但是它就在那里。

  • Web Assembly is a nice-to-have in my opinion. Developers are starting to do exciting things with it, but it will be a while before this technology really becomes ubiquitous.

    在我看来,Web Assembly是一个不错的选择。 开发人员开始使用它进行令人兴奋的事情,但是要真正使这项技术普及还需要一段时间。

后端Web开发路线图 (Back End Web Development Roadmap)

Kamran's second roadmap focuses on back end web development. If you combine this with his front end map, you get a pretty good path to becoming a full stack developer.

Kamran的第二个路线图侧重于后端Web开发。 如果将此与他的前端图结合起来,您将成为成为全栈开发人员的绝妙途径。

Here's his entire Back End Roadmap:

这是他的整个后端路线图:

我对后端路线图的想法 (My thoughts on the Back End Roadmap)

I agree with everything here.

我同意这里的一切。

是的,您应该学习SQL和关系数据库 (Yes you should learn SQL and relational databases)

I want to strongly agree with his recommendation that you learn a relational database.

我非常同意他关于您学习关系数据库的建议。

Yes - databases like MongoDB and Neo4j can do a lot for you, and are better suited to certain types of applications than relational databases.

是的-MongoDB和Neo4j等数据库可以为您做很多事情,并且比关系数据库更适合某些类型的应用程序。

But you should still learn SQL and understand how relational databases work.

但是您仍然应该学习SQL并了解关系数据库如何工作。

I recommend PostgreSQL (which we use for several projects at freeCodeCamp), but other relational databases are pretty similar.

我建议使用PostgreSQL(我们在freeCodeCamp的几个项目中使用了PostgreSQL),但是其他关系数据库却非常相似。

Here's freeCodeCamp's free 4-hour course on SQL, which will teach you the basics.

这是freeCodeCamp 关于SQL的4小时免费课程 ,它将教您一些基础知识。

And if you want to dive even deeper, here's our free 8-hour course on relational database design.

如果您想更深入地学习,这是我们有关关系数据库设计的8小时免费课程

如何选择正确的后端开发编程语言 (How to choose the right back end development programming language)

I also want to add a note on choosing a language.

我还想添加关于选择语言的注释。

Even though there are many languages - and you can do essentially anything with any language - I strongly recommend learning either Node.js (JavaScript) or Python as your first language.

即使有许多种语言-而且您几乎可以用任何一种语言做任何事情-我还是强烈建议您学习Node.js(JavaScript)或Python作为您的第一语言。

Here is a detailed guide to which programming language should you learn first.

这是您应该首先学习哪种编程语言的详细指南。

DevOps路线图 (DevOps Roadmap)

Finally, Kamran covers how to become a DevOps, or Site Reliability Engineer. This involves working with a lot of cloud services and overseeing infrastructure.

最后,Kamran介绍了如何成为DevOps或站点可靠性工程师。 这涉及使用大量云服务和监督基础架构。

Here's his entire DevOps roadmap:

这是他的整个DevOps路线图:

我对DevOps路线图的看法 (My thoughts on the DevOps roadmap)

Linux, Linux, Linux.

Linux,Linux,Linux。

Also, I would recommend working as a developer first, then gradually coming to specialize in DevOps.

另外,我建议先作为开发人员工作,然后逐渐专注于DevOps。

Here's a quick 30-minute introduction to the field of DevOps that should give you a better idea of whether DevOps is something you're interested.

这里是对DevOps领域的30分钟快速介绍,它应该使您更好地了解DevOps是否是您感兴趣的东西。

That's all. What do you think? Did Kamran leave out any essential skills or technologies? Leave a comment and let's hash this out.

就这样。 你怎么看? Kamran是否遗漏了任何必不可少的技能或技术? 发表评论,让我们对其进行散列。

Also, if you have any resources that have worked really well for you learning these skills, share them below as a comment.

另外,如果您有任何资源对您学习这些技能非常有用,请在下面以评论的方式分享。

Happy coding!

编码愉快!

– Quincy

–昆西

翻译自: https://www.freecodecamp.org/news/2019-web-developer-roadmap/

devops开发模式流程图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值