成为高级开发人员的捷径

If you’ve ever wondered what differentiates a junior developer from a senior developer, this article can help you figure it out.

如果您想知道初级开发人员与高级开发人员之间的区别是什么,本文可以帮助您解决。

In this article, I will talk about the technologies and concepts that I think are necessary to know to be considered a senior developer and that in my company, we take into account when hiring.

在本文中,我将讨论被认为是高级开发人员所必须了解的技术和概念,并且在我公司中,我们在招聘时会考虑这些技术和概念。

指数 (Index)

  1. Learn the Linux basic commands.

    了解Linux基本命令。
  2. Learn to connect to remote sites.

    了解如何连接到远程站点。
  3. Learn the basics of Cloud computing.

    了解云计算的基础知识。
  4. Learn The different ways to store data.

    学习存储数据的不同方法。
  5. Study the topics related to security.

    研究与安全性相关的主题。
  6. Learn about software Development Models/techniques.

    了解有关软件开发模型/技术的信息。
  7. Learn about the process to develop and put in production.

    了解开发和投入生产的过程。
  8. Learn how to build Web Apps.

    了解如何构建Web应用程序。
  9. Learn how to manage state and routing in your Web apps.

    了解如何在Web应用程序中管理状态和路由。
  10. Learn how to improve the performance of your apps.

    了解如何提高应用程序的性能。
  11. Master a couple of languages & Frameworks.

    掌握几种语言和框架。
  12. Understand REST and SOAP.

    了解REST和SOAP。
  13. Learn about the process of automating the creation of a software build.

    了解自动创建软件版本的过程。
  14. Learn about micro-frameworks.

    了解有关微框架的信息。
  15. Learn about Containers.

    了解容器。
  16. Conclusion.

    结论。

1.学习基本的Linux命令 (1. Learn the basic Linux commands)

Linux is, for many of us, the best platform to develop, and this is due in part to their command line terminal.

对于我们许多人来说,Linux是最好的开发平台,这部分是由于它们的命令行终端。

The command line is one of the best tools that we have at our disposal, and although some may find the use of this interface intimidating, the benefits we get are several. For example:

命令行是我们可以使用的最好的工具之一,尽管有些人会发现使用此界面令人生畏,但我们获得的好处却是多方面的。 例如:

  • You have greater control over operating system functions.

    您可以更好地控制操作系统功能。
  • Thanks to the command line, you can perform simple and complicated tasks just using a few commands or creating scripts to automate it.

    多亏了命令行 ,您可以使用一些命令或创建脚本来自动执行简单和复杂的任务。

  • The command line allows us to link commands and scripting.

    命令行允许我们链接命令和脚本。
  • You can use SSH that allows you to quickly connect to a remote server and log on to it. In this form, it is possible to execute commands on the remote server directly from the terminal on your local machine.

    您可以使用SSH,它允许您快速连接到远程服务器并登录到该服务器。 通过这种形式,可以直接从本地计算机上的终端在远程服务器上执行命令。
  • You can use NPM, which is one of the most popular tools for any developer, both frontend and backend.

    您可以使用NPM,这是前端和后端开发人员最喜欢的工具之一。
  • Although there are graphical interfaces for managing Git, most developers prefer to use it natively through the terminal because of its efficiency and agility. Also, all of the power of Git is achieved using the terminal.

    尽管有用于管理Git的图形界面,但是由于其效率和敏捷性,大多数开发人员更喜欢通过终端本地使用它。 同样,使用终端可以实现Git的所有功能。
  • You can use the Grep command to search for strings within the text of a file or directory. It is handy when working with large files that need to be filtered.

    您可以使用Grep命令在文件或目录的文本中搜索字符串。 在处理需要过滤的大文件时,它非常方便。
  • You can use Curl that allows you to make requests through the HTTP(s) protocol, FTP, and other different protocols for download files, check response headers, or access to remote data.

    您可以使用Curl,它允许您通过HTTP(s)协议,FTP和其他不同协议发出请求,以下载文件,检查响应标头或访问远程数据。

In short, it’s hard to find a senior developer who doesn’t know how to use the command line.

简而言之,很难找到一个不知道如何使用命令行的高级开发人员。

Index of the Linux command line here.

Linux命令行的索引在这里

2.学习连接到远程站点 (2. Learn to connect to remote sites)

  • Learn how to use SSH as a client and a server.

    了解如何将SSH用作客户端和服务器。

  • Learn the basic SSH Commands.

    了解基本的SSH命令

  • Learn how to handle SSH keys.

    了解如何处理SSH密钥

  • Learn how to use the Linux SFTP (SSH File Transfer Protocol) command to access, manage, and transfer files over an encrypted SSH transport on the shell.

    了解如何使用Linux SFTP (SSH文件传输协议)命令通过外壳上的加密SSH传输访问,管理和传输文件。

  • Learn how to use the SCP (Secure copy protocol) command to securely transferring files between local hosts and remote hosts or between two remote hosts on the shell.

    了解如何使用SCP (安全复制协议)命令在外壳上的本地主机和远程主机之间或两个远程主机之间安全地传输文件。

  • Learn how to use OpenVPN to create or access to VPN networks.

    了解如何使用OpenVPN创建或访问VPN网络。

3.学习云计算的基础知识 (3. Learn the basics of Cloud Computing)

Nowadays, it is common to develop using services located in the cloud, so it is convenient to know at least what the most used Cloud Computing systems offer you. Using those services, you pay only for the computing power or the storage you use.

如今,使用位于云中的服务进行开发很普遍,因此至少知道最常用的云计算系统为您提供了什么是很方便的。 使用这些服务,您只需为所使用的计算能力或存储付费。

  • Explore the Amazon AWS cloud and know the different services that give you. You can try out for free a lot of services like S2 instances, S3 storage, or Lambda.

    探索Amazon AWS云并了解为您提供的不同服务。 您可以免费试用许多服务,例如S2实例,S3存储或Lambda

  • Explore the Microsoft Azure cloud.

    探索Microsoft Azure云。

  • Explore the IBM cloud.

    探索IBM云。

4.学习存储数据的不同方法 (4. Learn The different ways to store data)

  • Learn the difference between Relational databases (SQL-RDBMS databases) and Non-relational databases (NoSQL databases).

    了解关系数据库(SQL-RDBMS数据库)和非关系数据库(NoSQL数据库)之间的区别。
  • Learn about the database consistency models and the key differences between ACID (atomicity, consistency, isolation, and durability) and BASE (Basic Availability, Soft-state, and Eventual consistency) models.

    了解数据库一致性模型以及ACID (原子性,一致性,隔离性和持久性)与BASE (基本可用性,软状态和最终一致性)模型之间的关键区别。

  • Learn how to use the SQL language.

    了解如何使用SQL语言。

  • Learn how to use Window Functions.

    了解如何使用窗口函数

  • Learn the basics of typical cloud storage systems like Amazon S3.

    了解典型的云存储系统(如Amazon S3)的基础知识。

  • Learn the basics of BigData and understand the batch Processing map-reduce paradigm.

    了解BigData的基础知识,并了解批处理map-reduce范式。

  • Learn about the different methods to store data on the client-side with JavaScript (Cookies, Web Storage API, IndexDB, CacheStorage).

    了解使用JavaScript在客户端上存储数据的不同方法(Cookies,Web Storage API,IndexDB,CacheStorage)。

5.研究与安全性相关的主题 (5. Study the topics related to security)

6.了解软件开发模型/技术 (6. Learn about Software Development models/techniques)

7.了解开发和投入生产的过程 (7. Learn about the process to develop and put in production)

When you start working on projects of a specific size or working within a team, it is essential to take this into account.

当您开始进行特定规模的项目或在团队中工作时,必须考虑到这一点。

  • Learn about continuous integration and continuous delivery using tools like Jenkins.

    了解有关使用Jenkins之类的工具进行持续集成和持续交付的信息。

  • Use a distributed version control systems like Git or Bitbucket.

    使用分布式版本控制系统,如GitBitbucket

  • Use tools that help you work and collaborate like Trello or Jira.

    使用诸如TrelloJira之类的可帮助您进行工作和协作的工具。

8.了解如何构建Web应用程序 (8. Learn how to build Web Apps)

9.了解如何在Web应用程序中管理状态和路由。 (9. Learn how to manage state and routing in your Web apps.)

10.了解如何改善应用程序的性能 (10. Learn how to improve the performance of your apps)

11.掌握几种语言和框架 (11. Master a couple of languages & Frameworks)

Don’t try to know everything and nothing at once. Master a couple of general-purpose and widely used languages, and it will make a difference.

不要试图一无所知。 掌握几种通用和广泛使用的语言,它将有所作为。

  • Learn how to use a language like Java or .Net programming languages.

    了解如何使用Java或.Net编程语言之类的语言。
  • Learn about Javascript vanilla (VanillaJS).

    了解Javascript Vanilla(VanillaJS)。

  • Learn about a widely used framework like Spring-boot.

    了解诸如Spring-boot之类的广泛使用的框架。

12.了解REST和SOAP (12. Understand REST and SOAP)

13.了解自动创建软件版本的过程 (13. Learn about the process of automating the creation of a software build)

Build automation is the way to automatize the creation of a software build and includes, among other things: compiling source code, packaging binary code, and running automated tests.

生成自动化是一种自动创建软件的方式,其中包括:编译源代码,打包二进制代码和运行自动化测试。

  • Know some widely used tools like the Apache Maven or the Gradle.

    了解一些广泛使用的工具,例如Apache MavenGradle

  • Learn how to use the npm package manager.

    了解如何使用npm软件包管理器。

14.了解微框架 (14. Learn about micro-frameworks)

A microframework is a term used to refer to minimalistic frameworks that provide advantages for smaller projects that require simplicity versus the complexity of a full framework.

框架是用于指代简约框架的术语,该框架为要求简单性而非完整框架复杂性的较小项目提供了优势。

  • Spark for Java is a simple micro-framework to create web applications in Kotlin and Java 8.

    Spark for Java是一个简单的微框架,可以在Kotlin和Java 8中创建Web应用程序。

  • Express.js for Node.js is another widely used micro-framework.

    用于Node.js的Express.js是另一种广泛使用的微框架。

15.了解容器 (15. Learn about containers)

A container is a unit of software that packages up code and all its dependencies so the application can runs reliably from one computing environment to another.

容器是打包代码及其所有依赖项的软件单元,因此应用程序可以从一个计算环境可靠地运行到另一个计算环境。

16.结论 (16. Conclusion)

You don’t need to be an expert in the things I present in this article, but if you know them (or know similar ones), I assure you that you will have taken a giant step to become a senior developer.

您不需要是我在本文中介绍的内容的专家,但是,如果您了解它们(或类似的知识),我向您保证,您将迈出重要的一步,成为一名高级开发人员。

So start to learn the basics to become a senior developer and enjoy the road.

因此,开始学习成为高级开发人员的基础知识并享受这条路。

Thank you very much for reading me, I appreciate it very much because writing and technology are two of the great passions of my life :)

非常感谢您阅读我,我非常感谢,因为写作和技术是我一生中的两大爱好:)

翻译自: https://medium.com/swlh/shortcuts-to-becoming-a-senior-developer-2569da244db1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值