0% found this document useful (0 votes)
1K views11 pages

A Beginner&#039 S Guide To Back-End Development

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views11 pages

A Beginner&#039 S Guide To Back-End Development

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

4/18/2020 A Beginner's Guide to Back-end Development

Upwork is the leading online talent solution. Learn More 

 Hiring

A Beginner's Guide to Back-End


Development

Carey Wodehouse
October 2, 2018 • 22 Min Read

If you’re not a developer or engineer, concepts like front-end


vs. back-end development can be challenging to wrap your
head around. Pile on all of the frameworks, programming
languages, APIs, and libraries that developers use to build
apps, and things can get pretty confusing.

The good news? You don’t have to write code to understand


the basics of back-end development and the various
components of a typical “software stack.” In fact, knowing
your way around it is helpful whether you’re a CEO, a hiring
manager, a sales person for a tech-based startup, or a product
manager.

To help you become a pro in all things back-end development,


we’ve gathered up a series of articles that cover some key
things to know—in a way non-developers can understand.
You’ll not only know what server-side scripting is and what
back-end engineers do, you’ll learn the pros of the different
programming languages, how the cloud is changing things up,
why APIs are so important, and how to make decisions about
what frameworks are best for your app.

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 1/11
4/18/2020 A Beginner's Guide to Back-end Development

THE FUNDAMENTALS: THE FRONT END VS. THE


BACK END 
To understand the back end, or the “server side,” you also have
Upwork is the leading online talent solution. Learn More 
to know the front end and how the two interact. The front end,
also called “client-side” programming, is what happens in the
browser—everything the end users see and interact with. The
back end, on the other hand, happens on the server (on site, or
in the cloud) and databases. It’s the machinery that works
behind the scenes—everything the end user doesn’t see or
directly interact with, but that powers what’s happening.

It’s important to note that this convenient way of divvying up


development has changed significantly over the past 10 to 15
years with the explosive growth of JavaScript, which wasn’t as
ubiquitous on the front end as it is now, or as common on the
back end, thanks to Node.js. There’s more overlap between the
two, especially when it comes to a JavaScript developer’s role
on a fully JavaScript-powered stack.

Here’s a visual to give you an idea of how front-end and back-


end development flow.

You can see how the server-side (in the green box) manages
all those requests that come from users’ clicks. Front-end
scripts volley those requests over to the server side to be
processed, returning the appropriate data to the front end.
This often happens in a constant loop of requests and
responses to the server.

To learn more about the front-end process, start by reading


The Role of a Front-End Web Developer: Creating User
Experience and Interactivity, then see how all those client-side
scripts work in our article “Front-End Web Development:
Client-Side Scripting & User Experience.”

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 2/11
4/18/2020 A Beginner's Guide to Back-end Development

Now, let’s take a look at how back-end architecture works—the


software and machinery that take over in step four in the 
above graphic.
Upwork is the leading online talent solution. Learn More 

The “traditional” back end is a mix of the server, databases,


APIs, and operating systems that power an app’s front end. For
an in-depth look at the software that ties it all together, read
Server-Side Scripting: Back-End Web Development
Technology, or get a basic view of back-end technology with
our article The Role of the Back-End Developer.

The back end of applications can look very different from


application to application, whether it’s the use of cloud-based
servers and data warehouses, containerization with a service
like Docker, Backend-as-a-Service (BaaS) providers, or APIs to
replace more complex processing.

Let’s go a little further into these concepts by looking at


some of the technologies that make it all run.

BREAKING DOWN THE SOFTWARE STACK: THE


BASICS OF BACK-END TOOLS & TECHNOLOGY
Back-end development can be much more varied than front-
end development, which is largely driven by JavaScript, HTML,
CSS, and various front-end frameworks using these languages.

To simplify things, we’ll break the server side down into four
main components of a “software stack”: the server, the
database, the operating system, and the software.

Here’s some more information about each of these


components of the backend.

1. Servers: The Machinery

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 3/11
4/18/2020 A Beginner's Guide to Back-end Development

Upwork is the leading online talent solution. Learn More 

Of your back-end stack’s four components, whether it’s on-site


or in the cloud, the server acts as the lifeblood of the network.
These high-powered computers provide shared resources that
networks need to run, including file storage, security and
encryption, databases, email, and web services. Learn all about
types of servers, what they do, and how they play into the
back-end stack with our Guide to Server Technology.

Once you’ve gotten the basics down about on-site servers,


expand your knowledge with a look at virtualization, how
servers get provisioned to house multiple apps, and
containerization, another way servers provision their operating
systems out to house compartmentalized applications.

2. Databases: The Brains

Databases, in the context of a website, are the brains that


make websites dynamic. Any time you request something from
a website—whether you’re searching for a product in on online
store or searching for hotel locations within a specific state—
the database is responsible for accepting that query, fetching
the data, and returning it to the website. Databases can also
accept new and edited data when users of a website or
application interact with them. The client can change
information in a database from the browser, whether a user is

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 4/11
4/18/2020 A Beginner's Guide to Back-end Development

posting articles to a CMS, uploading photos to a social media


profile, or updating their customer information. 

In this quick
Upwork is Guide to Modern
the leading onlineDatabase Technology,
talent solution. Learn you’ll
More get 
an understanding of how databases work, common terms to
know, a look at SQL vs. NoSQL, and how to determine which
database is best for your web application.

Upwork’s Hiring Headquarters also has a collection of articles


relating to data science and big data that you can explore to
learn more about data-related things like

Big data. Big data has definitely changed backend


development over the last decades. Because of its volume,
many physical backend infrastructures have moved to the
cloud, and utilize big data technologies like Hadoop and the
Hadoop ecosystem. Learn more in our article, What is Big
Data?

Go a bit deeper into the various technologies of big data


with The Tools of Big Data Science

A look at the popular NoSQL database, MongoDB

See how data drives dynamic content and data-driven


marketing

Get an in-depth look at the Python language and 15 popular


Python libraries for data science

3. Middleware: The Plumbing

Middleware essentially describes any software on the server


that connects an application’s front end to its back end. Think
of middleware as plumbing for your site—it pipes any
communication, like requests and responses, back and forth
between your application and your server/database. Just like
plumbing in a house, you don’t see middleware, but it’s there
and it has to be reliable and always do what’s expected of it.

Middleware (server-side software) facilitates client-server


connectivity, forming a middle layer between the app(s) and
the network: the server, the database, the operating system,
https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 5/11
4/18/2020 A Beginner's Guide to Back-end Development

and more. Middleware can be multi-layered, organized into


different layers of a site, whether it’s the presentation layer or 
the business layer. This is also where Web APIs can play into
theUpwork
stack, providing a bridge
is the leading between
online the business
talent solution. layer
Learn Moreand 
presentation layer.

Middleware also lets cloud applications and on-premise


applications “talk,” and provides services like data integration
and error handling. Good middleware can also maximize IT
efficiency and power things like user engagement, business
process management, content management, authentication,
and more. Koa.js is an example of a server-side JavaScript
framework—read this article to get a better understanding of
what kinds of things middleware can do.

Next, we’ll talk about some of the programming languages and


frameworks used to build different types of middleware, APIs,
and server-side software.

4. Programming Languages & Frameworks: The Nuts &


Bolts

Back-end developers can choose from a variety of languages


and frameworks depending on the type of application they’re
building, its specific processing requirements, and what other
components already exist on the back end.

Languages will differ in file size, performance, compatibility,


how many lines of code required, and the style of
programming. Some back-end scripting languages are object-
oriented programming languages, a style of programming that
bundles attributes and functions within objects. Other
languages may be compiled rather than interpreted,
something that affects load time, readability, and processing
power required to run the application.

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 6/11
4/18/2020 A Beginner's Guide to Back-end Development

A majority of sites are built on PHP, making it one of the most


popular back-end scripting languages. But there are plenty of 
others to choose from. For instance, you may want to use the
processing
Upwork ispower of Python
the leading fortalent
online a data-driven
solution.site,
Learnor More
leverage 
the speed of lightweight languages like Ruby for faster
prototyping. It’s up to you and your developers, and every
language has its pros and ideal applications.

Take a look at a few of the other big hitters in back-end


programming, like:

Java

C# and C++

.NET

Perl

Scala

Node.js (and JavaScript)

Where these languages really take off is with the frameworks


that developers use as scaffolding to build server-side
applications. Learn what a framework is in this article, then
check out a few popular ones:

Django (for Python)

Spring framework (for Java)

15 Node.js Frameworks to Know, including MeteorJS and


ExpressJS (for JavaScript with Node.js)

Ruby on Rails

Symfony (for PHP)

JSF (Java Server Faces)

That covers the most basic concepts and tools of back-end


development, but there’s still more to learn.

APIS: A CRUCIAL TECH IN BACK-END


PROGRAMMING
You can’t talk about the back-end portion of an application
these days without touching on APIs (application
programming interfaces) and how they connect software,
applications, databases, and services together seamlessly. APIs
play an integral role in how most server-side software
architectures are built, oftentimes replacing more complicated
programming to allow software to communicate and data to
be transferred.

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 7/11
4/18/2020 A Beginner's Guide to Back-end Development

Upwork is the leading online talent solution. Learn More 

To help explain the power of APIs, Upwork wrote the free e-


book “The API Economy” that covers all you need to know to
get started with APIs. Download it for free and then check out
this series of API articles to get a better sense of how they
work within the back-end infrastructure, how to build a secure
API, and more.

What is an API?

Public APIs vs. Private APIs: What’s the Difference?

SOAP vs. REST: Comparing Two API Architectures

The Off-site Backend: All About the Cloud


Many server-side architectures use the cloud to deploy some
or all of their databases or software components. We’ve put
together a series of articles about the cloud to explain how the
cloud works, and to help you determine when and why to use
the cloud in your back-end development.

Hybrid Cloud: A Brief Intro

Moving to the Cloud


https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 8/11
4/18/2020 A Beginner's Guide to Back-end Development

Is Cloud Bursting Right for You?

How Cloud Computing is Changing the Software Stack 


Cloud Security: Keeping Data Safe in the Cloud
Upwork is the leading online talent solution. Learn More 
Launch, Run, and Scale Your Application in the Cloud with
Heroku

You can also read about Upwork’s site modernization and


migration to Amazon Web Services (AWS) on the Upwork
blog.

Hiring a Back-End Developer

You may know you need some back-end development and


engineering, but may not know what goes into your project or
which experts you’ll need to get it done. When it comes time
to find that top-notch back-end developer, we’ve put together
a few more resources for you.

If you have settled on a stack or technology, Upwork’s Hiring


Guides have articles to help you find, hire, budget for, and
write project descriptions for a variety of developers like PHP
developers, SQL developers, C# developers, and .NET
developers. Check out the following resources to help you kick
off a successful search for a front-end developer:

How Do You Hire a Back-end Web Developer?

How to Hire a Web Developer

How Much Does it Cost to Hire a Back-end Web Developer?

Once you’ve created your job post, kick off your search for top
talent to invite to your project. Upwork has smart filters that
let you drill down into the skills and categories you need.
Or, search reviews of engineering and architecture
professionals and filter for ratings and location. These reliable,
first-hand reviews help connect you to talent who have had
success with projects like yours.

A note about network security

These days, every IT and programming job is also a security


job. Any developer working with servers and networks should
have a basic understanding of security concepts. More and
more, companies are prioritizing security and expanding
security budgets, hiring developers who know how to put
these concepts to work.

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 9/11
4/18/2020 A Beginner's Guide to Back-end Development

To explore a bit more about security, check out the following


articles: 
Inside ITisSecurity:
Upwork Protecting
the leading Your Network
online talent from Every
solution. Learn More 
Angle

Data Security: The Top 10 Skills You Need on Your Team

Cloud Security: Keeping Data Safe No Matter Where It Is

Trends in Cyber Security Threats

Ethical Hacking: Why You Should Hack Your Own Network

Your developer will be able to recommend the tech that’s best


for your needs, but having a broad view of what’s out there
can help you make an informed decision.

Ruby on Rails Python API Cloud

Back-End Development Hiring a Freelancer Find

Share this article     

Related Articles

11 Tips to Optimize C# vs. C++: Which Language Writing a Job Descriptio


JavaScript And ... is Right... Find a...

Igor Chishkala Jennifer Marsh Carey Wodehouse


November 23, 2019 • 32 Min Read May 25, 2019 • 10 Min Read April 12, 2019 • 12 Min Read

Subscribe for Weekly Updates

Get the latest business tips and Upwork news delivered right
to your Inbox.

Subscribe

Or follow our RSS Feed.

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 10/11
4/18/2020 A Beginner's Guide to Back-end Development


COMPANY 
Upwork is the leading online talent solution. Learn More 

RESOURCES 

BROWSE 

FOLLOW US

    

MOBILE APP

 

© 2015 - 2020 Upwork® Global Inc.

https://www.upwork.com/hiring/development/a-beginners-guide-to-back-end-development/ 11/11

You might also like