What Is a Back-End Developer?

Jamie Juviler
Jamie Juviler

发布:

您访问过的每个网站都可以分为两个部分:您看到的内容(包括页面和内容)以及其他所有内容。

Man learning how to become a back end developer and showing his wife what he's learned

在科技界,我们分别将其称为“前端”和“后端”。从事这些组件的人将被称为“前端开发人员”和“后端开发人员”。创建网站的前端和后端都有其自身的挑战,但是一个没有另一个就不可能存在。

If you’re more interested in the unseen part of websitesthe part that keeps everything runningyou might consider pursuing a career in back-end development. And, there’s never been a better time to do so: According to the U.S. Bureau of Labor Statistics, the role of “Web Developer” is expected to increase by 13% from 2020 to 2030, well above an average of 8% for all occupations.

In this guide, we’ll unpack the role of the back-end developer inwebsite development。我们将解释这些开发人员对这些开发人员的负责,他们的日常外观以及在该领域拥有富有成果的职业所需的技能。

Download Now: Free HTML & CSS Hacks

How much does a back-end developer make?

后端开发人员的薪水在很大程度上取决于他们在哪里工作。但是总的来说,这个行业的人们期望得到充分的补偿。Back-end developers are highly sought after, and can expect to make around $95,000 on average per indeed.com

What is back-end development?

So, what does the back end actually look like? Nothing, really, at least not to the user. However, the back end is always chugging along behind the scenes to power the front-end experience for visitors.

Take this blog post, for example. What you’re viewing on your screen is the front end, the interface of the website. Everything that you see here, including text, images, and buttons, makes up the front end of the HubSpot blog.

But, how did this front end get to your computer in the first place? The text and image files for this post are stored in a database on a HubSpot web server, as are the files that determine how colors, fonts, and sizing all look. When you (or, to be exact, your browser) requested to view this web page, the server took the request, gathered all the necessary files from its database, compiled them into web page files, then sent those files to your browser. This is the back end at work.

或者,如果您在我们的网站上提交表格怎么办?我们将您的表单数据存储在有组织的数据库中,然后在使用数据库时从数据库中提取您的数据,例如向您发送电子邮件。这些操作也是后端的一部分,因此是后端开发人员的责任。

This is the gist of back-end development: fielding user data from the front end of an application, storing it in a database, modifying the contents of the database when needed, performing a variety of operations on this stored data, and sending data back to the front end. Back-end developers come up with the solutions and write the code to make all of this happen. Whew.

仍然困惑吗?这是一个有用的视频,可以说明后端的工作方式

Back-end development is also called “server-side” development because its code executes on web servers, powerful computers built to store a website’s files and run its code. This is in contrast to “client-side” code, which runs in users’ web browsers and is written mostly by front-end developers.

后端开发人员做什么?

Back-end developers build, maintain, and debug the back end that runs an application. As you might imagine, this is a pretty large responsibility that can be broken down into many tasks. Depending on the company, a back-end developer will be responsible for some, most, or all of the following:

  • Developing the systems and processes to meet the application’s specified requirements
  • Maintaining databases, including data storage and retrieval, organization, backups, and security
  • 在后端代码中查找和修复错误
  • Managing any APIs the company uses to integrate applications, both externally and internally
  • Conducting performance optimization to increase efficiency and improve the user experience
  • 创建和维护代码的库,整个组织可以重复使用这些库
  • 帮助开发应用程序后端的整体体系结构
  • 从网络攻击中获得申请

Back-end developers also collaborate with front-end developers to translate their functions to user-facing content in the app’s interface, as well as with product managers, project managers, architects, user experience designers and researchers, security developers, and many more to bringweb applicationsto life.

Like how the back end and front end of software need each other to form a complete application, back-end developers and front-end developers collaborate to produce a product.

However, these roles differ in their areas of expertise: While front-end developers primarily code inhtml,CSS,JavaScript, and their associated frameworks, back-end developers specialize in server-side programming languages likePython,Java, and PHP.

最终,前端团队的目标是使界面引人入胜且易于访问,而后端团队则构建了该应用程序的无形基础架构以支持前端。

Here’s a helpful video going over some of the differences in detail:

Back-end Developer Skills

We’ve discussed what back-end developers do, but what do they need to know in order to do it?In this section, we’ll cover the key skills you should know if you’re looking to hire a back-end developer or become one yourself.

Programming Languages

Back-end developers employ a variety of programming languages in their work to manage servers, databases, and application logic. Here are the key ones:

Python

Pythonis a general-purpose programming language commonly used to build the back-end of software programs and web applications. A flexible, user-friendly, and powerful language, it’s one that all back-end programmers should at least familiarize themselves with.

Pythonis easy to learn and implement, and is high-level, meaning the code is readable by humans and you generally have to write less code than low-level languages. Its syntax is relatively simple and logical to read, and there are many libraries you can use to adapt Python to just about any need, including server-side functions and data visualizations.

Thanks in large part to its low learning curve, Python is one of the most widely used programming languages among developers today — it’scurrently tied with Java in second place。So, what’s Java?

Java

Java is another general-purpose programming language often used in the back end of application development. It was built to be deployable across a wide range of environments and is flexible enough to support complex, high-performing software projects.

Java is harder to learn than Python and often more code-heavy in implementation. Even still, it’s powerful and intuitive once you’re comfortable with it, and is another must-know for back-end developers.

如果您已经阅读了Web编程语言,则可能听说过另一种名为JavaScript的语言。尽管他们相似的names, Java and JavaScript are做不同事情的不同语言: Java is a back-end programming language, while JavaScript is a front-end programming language more frequently written by front-end developers.

PHP

PHP (Hypertext Preprocessor) is a server-side programming language, often used to create dynamic websites — those which change content based on the user or browser requesting the page. PHP dynamically constructs web pages on the server from database content. This process is the opposite of static web pages, which are stored on servers in their entirety and look the same to all visitors.

PHP在全球范围内为数百万个网站提供了动力,并且是初学者可以接收的另一种相对简单的服务器端语言。这也是WordPress, the most popular content management system today.

Other Languages

当然,还有许多其他的programming languages out there that back-end developers might prefer. Other popular options include Ruby, a high-level language for quickly building web and mobile applications, C, a lower-level language (as well as the most popular language currently), and .NET, a framework developed by Microsoft for building websites and web apps.

此外,后端开发人员可以专门用于数据库管理(例如SQL)(我们将在后面讨论)。

前端语言

Wait a minute, aren’t we talking about back-end development? Why are we wasting time talking about front-end code too?

While it’s true that back-end developers spend most of their time working with server-side programming languages, understanding the fundamentals of front-end languages will prove valuable when working on web-based projects. These three front-end languages arehtml, CSS, and JavaScript

html(HyperText Markup Language) is the most important language in front-end development, and you’ve probably at least heard about it. HTML sets the content (text, links, and media) and structure of web pages. Almost all web pages are built with HTML, and their files end with the extension .html.

CSS(级联样式的表)为HTML增添了样式,例如字体和颜色。换句话说,它使网页看起来不错。没有CSS,互联网将是一个非常无聊的地方 - 每个页面都将只是未经风格的文本和图像的墙壁。CSS也有帮助make page content responsivefor different devices and screen sizes.

JavaScript(通常是缩短JS)处理web页面功能阳极lity beyond basic style and content. While CSS and HTML are not technically programming languages, JavaScript is, and this opens up enormous possibilities. Developers use it to control animations, dynamically update page content, and generally execute scripts on web pages (without needing to consult the back end).

An understanding of these three languages will make collaborating with front-end developers and designers much easier and may help in diagnosing problems that involve both front-end and back-end resources. They’re also useful career skills to have in general, especially if you want to pursue design orfull-stack development

Database Management

All websites store data — including site content and any information gathered from visitors — in databases. A big part of the back-end developer’s job is pushing data into or pulling data from the application’s database, so knowledge of modern database technologies is essential.

数据库可以分为两类:relational databases and non-relational databases. Relational databases store data points that are related — for example, a customer’s name and their associated email, phone number, account ID, and purchases. Relational databases are structured as tables with related data points placed in the same row.

SQL (Structured Query Language, often pronounced like “sequel”) is a language for querying, modifying, and managing relational databases. MySQL, a database management system built on SQL, is widely used in web applications and should be in your tool belt. Databases that utilize SQL are called SQL databases.

By contrast, non-relational databases (also called NoSQL databases) do not store data points based on their relationships (though the data can still be related). Instead of tables, non-relational databases structure their data withExtensible Markup Language (XML)and/or JavaScript Object Notation (JSON). Knowledge of NoSQL database programs like Redis and MongoDB can be useful on the back end in addition to SQL.

服务器端软件bob电竞官方下载

Back-end developers write programs to run on servers. You should be familiar with common server software like Apache, Nginx, Microsoft IIS, and the Linux operating system. You’ll also need to understand how web servers receive and process requests for web pages, how they store data, and at least the basics of how to keep them high-performing and secure.

蜜蜂

Anapplication programming interface (API)is a set of definitions and protocols that allows two applications to interact and share data with each other. An API works by fielding requests from external applications, then responding by fulfilling the request. This request may be to retrieve or modify some set of data in the API’s database.

back end developer: diagram of an API interacting with a web browser over the internet

Image Source

如今,API是基于Web的集成背后的技术。类似于您通过其用户界面与软件程序进行交互的方式,一个软件可以通过应用程bob电竞官方下载序编程界面与另一个软件进行交互。每当您看到一个网络应用程序在另一个网络上使用的技术时,API都会实现。诸如Facebook,YouTube,Google或Spotify之类的应用程序可以通过他们的大部分数据来访问他们的大部分数据public APIs

There are many types of APIs in use today, the most popular beingREST APIs。To work in web development, you should be equipped with an understanding of REST APIs (and possibly SOAP APIs too). This technology connects not only separately owned applications but internal back-end services as well.

Data Structures and Algorithms

Unlike other skills, data structures and algorithms are more conceptual than concrete technologies, but they’re hugely important nonetheless. A capable backend developer needs a solid grasp of these areas to be effective in their role, which is why they’re included in computer science academic curriculums.

A data structure is a way to organize data in a computer. Common data structures include arrays, linked lists, trees, and tries, hash tables, heaps, stacks, and queues — back-end developers will encounter most or all of these in their careers.

从广义上讲,算法是解决问题的定义过程。后端开发人员知道计算机软件的基本算法:分类算法,搜索算法,字符串解析,匹配,哈希和递归算法将在某个时候使用。bob电竞官方下载

其他重要技能

Beyond the core skills listed above, there’s plenty more to explore in the realm of back-end development. Here are some additional skills that will serve you well as a back-end programmer:

  • Experience with a version control system — likely Git, as well as familiarity withGitHub
  • Knowledge of or experience with server management
  • 沟通技巧以及向非专家解释复杂技术主题的能力
  • 时间管理技能,因为您可能会一次平衡几个职责
  • Understanding of cloud computing and hosting
  • Understanding ofweb accessibilitybest practices
  • Understanding of网络安全best practices

Back-end Developers: The People Behind the Site

We often praise front-end developers and designers for their excellent visual work and user experiences. This praise is well-earned, of course. But, let’s remember that, without back-end developers working behind the scenes, these sites wouldn’t exist.

If you’re someone who wants to support the infrastructure of the web while tackling abstract, complex challenges, and isn’t afraid to pick up several new programming languages along the way, you might be the perfect fit for a back-end developer. Rest assured, this job won’t be going away any time soon.

New Call-to-action

Topics: 网站开发

Related Articles

我们致力于您的隐私。HubSpot使用您提供给我们的信息来与您联系有关我们的相关内容,产品和服务。您可以随时退订这些通信。有关更多信息,请查看我们的Privacy Policy

Learn more about HTML and CSS and how to use them to improve your website.