As you prepare for your bootcamp experience and start thinking about what kind of engineer you want to be, it’s important to also consider the type of programming you want to work on. Do you gravitate towards visual design and the end-user experience? Or perhaps you prefer to stay behind-the-scenes and are fascinated by the architecture of programs. Depending on which aspects of programming are most attractive to you, you’ll find there are various roles, programs, and languages that will better suit your particular interests.
You’ve likely already encountered the terms full-stack, front-end, and back-end development in your research into bootcamps and engineering. But what exactly do they mean? As you continue your studies, you’ll start to build a clear understanding of what each entails. To help you on your path to discovering what kind of web development you want to pursue, we’re jumping into the two major areas: front-end and back-end development.
Back-end engineers are the behind-the-scenes architects of the technology. They focus on designing and building the services and systems, and data layers to support the website or app.
Take Netflix, for example. The service specializes in providing users with suggested content based on their interests and what previously watched videos. For a back-end developer, this involves working on the algorithms designed to learn users’ tastes and calculate which other movies or shows should display in their queue.
Tools and skills
All developers will have a basic understanding of HTTP requests, code repositories (like GitHub), and platforms as a service (like AWS). But it’s probably no surprise that front-end and back-end developers use a diverse and often separate set of programs.
Because back-end software can run on a vast array of different systems, there are a wide variety of tools and skills that back-end developers may learn. Here are the major languages:
- Python: Approachable syntax and widely-used, Python is a core programming language for back-end development. It works with the Flask and Django web frameworks.
- Ruby: Similar to Python, Ruby has clear syntax and structure. Its framework is Ruby on Rails and features a different approach to logic.
- PHP: PHP is a server-side language designed for general-purpose programming.
Datasets and algorithms are also a key component to coding on the back-end, so database technology variants of SQL become invaluable for writing database queries and to create models.
We’ll continue with Netflix as our example. If the back-end engineer worked on the algorithm to determine what content each user should see, then the front-end developer is responsible for taking this information and displaying it in the best, most appealing way for the individual user.
Because of the visual component to front-end development, front-end engineers’ roles are sometimes confused with web design. And there are certainly some similarities. But there are a number of different programs and skills that set front-end developers apart.
Tools and skills
There are three nearly-universal technologies that front-end developers will use in any role:
- CSS: CSS – Cascading Style Sheets – is a style sheet language used for describing the presentation of a document written in a markup language like HTML. Part two of the trio, CSS allows developers to implement layers of rules or design characteristics like fonts, colors, and layouts across a page or website’s content.
What about full-stack?
Most bootcamp programs will teach a full-stack – meaning that you’ll learn the foundations of both front- and back-end programming. As you continue your studies after bootcamp, or in a new job, you’ll pick up various new languages and skills that can bolster your resume as a front-end, back-end, or full-stack developer.
- Admissions Office (24)
- Alum (90)
- Blog (149)
- Career Services (25)
- Diversity (17)
- Engineering Advice (56)
- Hackbright Field Trips (24)
- Hackbright Mentors (21)
- Hackbright News (105)
- Podcast (2)
- Profiles of Woman Engineers (97)
- Recruiting & Hiring (15)
- Resources (33)
- Student Blogs (24)
- Tech (49)
- Thought Piece (19)
- Uncategorized (1)
- Video (20)