如今,网站和应用程序是如此普遍,以至于人们很容易把它们视为理所当然。但是,隐藏在每个网站设计或很酷的新功能背后的是使其运作的代码和技术的组合。
负责这些幕后工作的人被称为后台开发人员。
如果这听起来像是你可能想要的工作,我们有一个好消息:后台开发是一个收入丰厚的职业,工作前景很好。
但你如何开始呢?你需要学习哪些技能?
这篇文章介绍了后台开发,让你知道如何开始成为一名开发人员。
- 什么是后端开发员?
- 后台开发员做什么?
- 为什么要成为后端开发员?
- 后台开发员技能和编程语言
- 如何成为一名后台开发员
什么是后端开发员?
用户并不直接访问一个应用程序或计算机系统的后台。
后台开发人员建立和维护这些技术。用户甚至可能没有意识到后台开发人员的工作,但没有它,网站或应用程序就无法工作。
后台开发人员与前台开发人员
前端网站开发人员的工作是在用户看到和与之互动的网站部分。这有时也被称为客户端或浏览器端开发。
后台(或服务器端)开发人员提供基础设施来支持这些。
虽然前端和后端开发人员经常一起工作,但他们有不同的编程语言和技能。
例如,前端网络开发人员主要使用的语言是HTML、CSS和JavaScript。在编码时,他们必须考虑到用户体验。图像看起来如何?该网站是否可以访问?它在所有主要浏览器上的功能是否良好?
后台开发人员使用Python、Ruby和PHP等编程和脚本语言。他们关注的是网站是否安全或数据将如何管理等问题。
前端和后端开发之间的区别 (Source: Francesco Lelli)
还有一种开发者叫做全栈开发者。全栈意味着你既做后端也做前端开发。
听起来,了解网页开发的所有方面比把自己限制在一个方面要好,但许多工作都在寻找专家。
后台开发人员是做什么的?
后台网络开发人员在网络应用程序背后的服务器、数据库和API上工作。
其工作描述与前端开发员不同,但这两个角色一起工作,创造出既实用又方便用户的工作。
例如,一个前端开发员在网站上创建了一个页面,上面有一个按钮,客户可以点击它来检索他们过去的订单数据。
后台开发人员将编写代码,使按钮能够从数据库中获取正确的数据。这些数据被送回前台,由前台开发人员决定如何将其显示给访问者。
后台开发人员的工作内容是什么? (Source: InterviewBit)
后台开发员职位描述
每个后端开发人员的工作都会有些不同。一般来说,后端开发人员将承担以下任务:
- 为网站和网络应用程序开发后端基础设施
- 维护现有的后端
- 排除故障和修复错误
- 管理主机环境
- QA测试
- 与前端开发人员合作,将数据有效地传输到客户端的网络应用程序
- 与客户和产品管理、市场、销售或客户服务等部门合作,开发解决方案
- 更新关于架构、流程和系统的文件
为什么要成为后端开发人员?
学习成为一名后端开发人员需要时间和承诺。你可能想知道这一切是否值得。
后台开发可以是一个有利可图和令人满意的职业领域。这里有几个原因。
对后端开发人员的需求
网络开发是一个快速增长的领域。
在所有的网络开发专业中,预计在未来十年将有8%的工作增长。这意味着每年约有13,400个职位空缺 – 比平均增长速度快得多。
后台开发员薪资
拥有 “后台开发 “职位的人的平均工资是81,161美元。
当然,随着经验的增加,你可以期待赚更多的钱。例如,初级后台开发员的平均工资为61,042美元,而拥有5至9年经验的后台开发员的平均工资为95,000美元。
拥有 “高级后台开发人员 “头衔的人的平均工资为113,687美元。
后台开发人员的职业满意度
钱和工作机会是很好的,但你想要一份你真正喜欢的工作。
好消息是,大多数后端开发人员对他们的工作很满意。
后台开发人员将他们的职业满意度评为优于平均水平。
(如果你想知道的话,调查显示他们的满意度略高于前端开发者,与全栈开发者的满意度相同)。
后台开发人员技能和编程语言
每一份后台开发工作都需要一个稍微不同的技能组合。
下面列出的技能和编程语言是对后端开发人员的需求,将使你成为有竞争力的候选人。
对HTML和CSS等核心前端技能有基本了解也是一个好主意。即使你不会在后端工作中使用它们,你也需要有足够的知识来与你的前端开发同事沟通。
去年专业开发人员使用的编程语言 (Source: StackOverflow)
JavaScript
就受欢迎程度而言,没有什么能胜过JavaScript。
它是上述StackOverflow投票中最常用的编程语言,也是GitHub上最受欢迎的语言。
JavaScript位居榜首的原因之一是,它对前端和后端开发者都很有用。虽然它最常见的用途是作为浏览器渲染的脚本语言,但NodeJS运行环境让网络开发者也可以将其用于后端开发。
也就是说,对于有抱负的后端开发者来说,它不像对前端开发者那样必不可少。
如果你已经从前端工作中了解了JavaScript,或者你想成为一个全栈开发者,就从JavaScript开始。否则,对于一个初学者来说,优先考虑Python和SQL等技能是更合理的。
Python
Python是一种每个后端开发人员都应该知道的编程语言。像Instagram、Spotify和DropBox这样的大公司都在使用它,而且它的受欢迎程度还在继续上升。
目前,它是GitHub上使用频率第二高的语言,仅次于JavaScript。
Python有一个相对简单的语法,使其易于学习,并便于开发人员对其代码进行交流。它支持多种编程风格,并提供清晰的数据可视化。
Python有几个框架,用来简化开发过程。学习像Django或CherryPy这样的常用框架,对后端开发者来说也是一项有用的技能。
SQL
标准查询语言(SQL)于1979年发布,并在1986年被美国国家标准协会视为一种行业标准语言。
今天,它可能看起来很笨重,但它对开发人员来说还是一样重要。
SQL的主要目的是与数据库接口。几乎每个网站都需要数据库管理,而SQL能够处理大量的数据。使用SQL的数据库管理系统的例子有MySQL、MariaDB、SQLite和PostgreSQL。
熟悉这些系统中的几个,对后端开发人员来说是很有用的。
像MySQL这样的开源平台提供免费访问SQL数据库源代码的机会,可以帮助你学习这种语言。
Ruby
Ruby是一种开源的解释型脚本语言。它的创建是为了让开发者简单而高效。它的语法很像普通英语,所以并不难学。
它不像Python或JavaScript那样流行,但你会发现有很多工作需要它。
当人们谈论Ruby时,他们有时是指Ruby on Rails。它们不是一回事,但它们是相关的。两者都是有用的后端开发技能。
Ruby on Rails是一个用Ruby编程的开源网络开发框架。它以促进快速开发而闻名,在全球有超过35万个网站使用。
PHP
大约79%的网站使用超文本预处理器(PHP)作为其服务器端编程语言。最值得注意的是,WordPress使用了PHP。
通常使用PHP的网站,包括CMS网站和社交平台. (Source: G2)
PHP已经输给了其他语言,特别是Python。事实上,人们一直在问:”PHP死了吗?“至少有十年了。
让我们把这个问题弄清楚;它没有。PHP是快速、强大的,并且在后端Web开发中很普遍。
.NET
.NET(发音为 “dot net”)是微软在2002年创建的一个软件开发框架。它包括各种编码语言、库和编辑器。对后端开发人员最有用的.NET语言是C#,是当今使用最广泛的语言之一。
它被许多知名的网站使用,如星巴克和match.com。
虽然.NET不像JavaScript或Python那样必不可少,但作为一个后端开发者,它是你工具箱中的一项好技能。微软提供的教程可以让你入门。
Java
Java听起来似乎与JavaScript密切相关,但其实不然。
Java是一种通用的编程语言,虽然它可以在浏览器上运行,但它主要用于后端开发。
Java不像一些较新的语言那样容易学习,而且它的性能也没有那么好。总的来说,它的受欢迎程度在下降。但你仍然会看到它被用于大量的网站,而且会有需要它的后端开发工作。
现在还不要把Java排除在外。
SOAP和REST APIs
API(应用编程接口)允许一个应用程序或服务访问另一个应用程序或服务中的资源。
例如,旅游预订网站使用API,从各种航空公司和酒店汇总信息。API从航班或酒店供应商那里获得数据,并将其显示在旅游网站上。如果有人预订了一个航班,API将与预订网站确认。
两个常见的API范式是SOAP和REST。作为一个后端开发者,了解这两种方式会很有帮助。
SOAP(简单对象访问协议)是一个基于标准的协议,最初由微软开发。它使用XML来发出请求和接收响应。
RESTful APIs是基于REST(Representational State Transfer)的架构风格。与SOAP不同,REST不需要XML–你可以用适合你项目的语言获得输出。例如,它可以使用CSV、JSON或RSS。
REST比SOAP更快,许多开发者发现它更容易操作。然而,SOAP比REST有更高的安全性,并且包括内置的重试逻辑,以便在通信失败时进行补偿。
NoSQL
我们在上面提到,很多开发人员不关心SQL。
有替代品。NoSQL指的是以关系表以外的方式存储信息的数据库。NoSQL本身不是一种语言,而是一个不使用传统模式的数据库存储选项的集合。
最常用的NoSQL数据库包括:
- MongoDB
- Cassandra
- Amazon DynamoDB
- Apache HBase
虽然NoSQL数据库可能很有用,而且开发人员往往不愿意使用SQL,但NoSQL还没有SQL那么受欢迎。
这是一项在简历上看起来不错的技能–但你应该先学习SQL。
内容管理系统(CMS)
大多数网站使用内容管理系统(CMS)来创建、修改和管理内容。内容管理系统让网站所有者在自己的网站上工作,即使他们没有任何技术技能。
CMS的四个核心功能. (Source: TechTarget)
作为一个后端开发人员,你知道如何在没有内容管理系统的情况下创建一个网站。但你工作的许多网站会有一个或需要实施一个。后台开发人员经常被要求增加新的内容管理系统功能或调试现有的内容管理系统。
你甚至可能从头开始创建一个内容管理系统。但大多数时候,你会与现有的流行内容管理系统一起工作,包括:
- WordPress
- Drupal
- Joomla!
- Magento
- Wix
值得成为这些平台中至少一个平台的开发专家(提示:我们认为应该是WordPress)。
版本控制系统
版本控制系统帮助你管理对项目代码的修改。如果你在任何类型的团队中工作,你可能需要使用像Git或Apache Subversion这样的版本控制工具。熟悉这些系统之一是一些开发人员工作的要求。
有几个原因,版本控制是必不可少的。首先,如果出了问题,你可以使用版本控制系统来恢复到你的代码的早期版本。
这可以在出错的情况下节省大量的时间。你可以简单地将项目回滚到较早的版本,而不是去寻找错误并手动纠正它。
当多个用户在同一个项目上工作时,版本控制系统也很关键。它们可以防止你的应用程序出现相互冲突的版本。
Git是最流行的版本控制管理系统。你可以通过在电脑上安装Git并在GitHub.com上创建一个账户来熟悉它。
解决问题的技能
技术技能是雇主在求职者身上寻找的第一件事,但了解代码并不是一切。
后台开发人员必须是优秀的问题解决者。他们需要灵活,能够为出现的问题提出创造性的解决方案。
如果你正在寻找一份后台开发工作,你应该准备好与面试官谈论你在以前的网络开发工作中解决问题的次数。
沟通技能
刻板印象中的程序员都是独自在电脑前工作–毫无疑问,这是工作的一个重要部分。
但是,沟通也是大多数后端开发工作的一个重要方面。你可能会和一个由其他开发者组成的团队一起做项目。你可能需要纳入客户、产品经理或其他利益相关者的想法。
准备好与面试官谈谈你在项目中成功合作或领导团队的情况。
如何成为一名后端开发人员
在大多数情况下,作为一个网络开发者,成功的关键不是拥有正确的证书,而是学习正确的技能。
没有经过正式培训也可以成为一名后端开发人员(尽管大多数人都有一些培训)。但你需要能够证明你知道如何编码。
成为后端开发人员的第一步是确保你有上面列出的技能。
后台开发培训
这些天来,有大量的在线资源可以教你如何编码。例如,请查看:
- Codecademy
- Coursera
- Khan Academy
- Learn Python the Hard Way
- Udacity
自学是现在的常态。 40.39%的当前专业网络开发人员参加了在线编码课程,31.62%从在线论坛学习,59.53%使用其他在线资源,如博客或视频。
也就是说,大多数开发人员也有正式培训。 80%的专业开发人员已经完成了某种形式的高等教育。
目前的开发人员在哪里学习编码. (Source: StackOverflow)
许多后台工作需要或倾向于有相关的学位,但不是所有的工作。如果你完全是自学成才,你就让你的作品来说话。把一两个个人项目放在GitHub上,这样潜在的雇主就可以审查你的代码。
为后端开发人员寻找工作
LinkedIn是一个开始寻找网络开发工作的好地方。
78%的开发者说这是他们寻找工作机会的首选之地。它也是招聘人员使用最多的平台。
网络开发者找工作的地方. (Source: CodeinGame)
随着Indeed和ZipRecruiter等主要工作搜索引擎的不断发展,几个针对网络开发者的小众招聘网站已经不再受欢迎,但StackOverflow仍然是寻找高质量开发工作的好地方。
网络永远是重要的。黑客马拉松和其他科技活动可以将你和你的下一个后端开发工作联系起来。
小结
后台开发是一个有趣和快速增长的职业领域。有很多理由喜欢它。
只要人们需要网站,就会需要好的网络开发人员。你可以自学这些技能,而且报酬也不错。
开始成为后端开发人员的最佳途径是学习编程或脚本语言。Python、JavaScript、SQL和PHP都是你在许多后端开发人员的招聘信息中看到的技能。
如果你想成为WordPress的后端开发人员,PHP是一个很好的开始。请看2021年学习PHP的27个最佳教程。
原文地址:https://www.wbolt.com/backend-developer.html