Main » TERM » F »

full stack

Full stack in technology development refers to an entire computer system or application from front end (customer or user-facing) to the back end (the "behind-the-scenes" technology such as databases and internal architecture) and the software code that connects the two.

In computer software and application development, full stack engineers are those with the skills and expertise to manage employees and projects and develop the code that will create or optimize integration between front end and back end systems.

Front-end development involves the creation or optimization of visible parts of websites or applications (the "client" end) that users view and interact with in their web browsers or on their mobile devices. These front-facing apps and websites are typically created using tools like HTML, CSS, and JavaScript.

Back-end development, on the other hand, involves creating and refining software code that integrates and communicates with an enterprise’s existing databases, software and other infrastructure (the “server” end) so that the front-end websites and/or apps can deliver the information visitors or customer need.

What Skills and Programming Languages Do You Need to Be a Full Stack Developer?

Those interested in pursuing a career as a full-stack developer or full-stack engineer will need to be well-versed in a variety of computer programming languages. Full-stack developers need to be proficient in languages used for front-end development like HTML, CSS, JavaScript, and third-party libraries and extensions for Web development such as JQuery, LESS, SASS, and REACT.

For full stack developers, mastery of these front-end programming languages will need to be combined with knowledge of UI design as well as customer experience design for creating optimal front-facing websites and applications.

Full-stack developers and engineers also need to know how to code in back-end languages like JAVA, PHP, Ruby, Perl, Python, and C in order to ensure their front-end web sites and applications are able to integrate with back-end business applications and infrastructure. Knowledge of databases and languages to interact with databases like MySQL, Oracle and Microsoft SQL Server is essential for full-stack developers as well.

Full Stack Developer: Jack of All Trades / Master of None?

It’s important to note that full-stack developers and engineers are not expected to be masters in all of these programming languages; rather, those in a full-stack development role should have a solid proficiency in one or more of these languages while also understanding how front-end and back-end technology need to integrate and work together efficiently.

Hands-on experience is the best way to become a competent full-stack developer, but for those new to full-stack development or programming and technology in general, coding bootcamps and online programming courses from sites like General Assembly, Coursera, Thinkful, and Lynda can be helpful for getting started and learning some of the essential skills needed to advance a career in full-stack development.

Full Stack vs. Technology Stacks

The term full stack is sometimes confused with a closely related term, technology stack. Technology stacks refer to a collection of specific software tools and technologies that can be used in conjunction to develop webites, apps and other software programs.

Web tech stacks such as the common LAMP (Linux, Apache, MySQL and PHP) are frequently used in full stack development, but the terms full stack and tech stack are not completely interchangeable.

Technology stacks are combinations of specific software tools and technologies that help with software development, whereas full stack is a term that applies to the overall development of projects that combine front-end and back-end systems, and entails the entire development process from conception and planning all the way through coding, testing, sending system into production, and optimizing existing systems.

Texting & Chat Abbreviations

From A3 to ZZZ this guide lists 1,500 text message and online chat abbreviations to help you translate and understand today's texting lingo. Read More »

List of Well-Known TCP Port Numbers

Port numbers 0 to 1024 are reserved for privileged services and designated as well-known ports. This list of port numbers  are specified in... Read More »

Computer Architecture Study Guide

Computer architecture provides an introduction to system design basics for most computer science students. Read More »

Network Fundamentals Study Guide

Networking fundamentals teaches the building blocks of modern network design. Learn different types of networks, concepts, architecture and... Read More »

The Five Generations of Computers

Learn about each of the five generations of computers and major technology developments that have led to the computing devices that we use... Read More »