Who is a Full-Stack Developer?

Technology

Ian Peters-Campbell has an interesting quote on full-stack development. But first, let me tell you who he is.

His life graph starts from being kicked out of high school and being homeless to a very successful career in tech. His domains include mobile and web development, enterprise architecture, AI/big data, business intelligence and more. Having started as an intern in Napster, he worked with companies like Loopt, GreenDot and Stickbuilt. His is now VP, Global Platform Services at WEX and living in Portland.

Now why are we talking about him? Oh yeah, he has a quote on full-stack. He calls full-stack developer an “all-singing, all-dancing technical wizard.”

Generally full-stack refers to someone who has both “frontend” and “backend” development knowledge. To say more generally, it can refer to someone who knows how to handle everything from project management to installing the correct operating system on a server. Or it is a programmer who can deal with the complete implementation of a website.

Let’s look at a few things that you could include in your definition of a full-stack developer.

1. Frontend Development:

This refers to programming languages that the browser can run such as HTML, CSS and JavaScript. It can include some frameworks such as React. This is also referred to as “client side” development.

2. Backend Development:

This has all the code that runs on servers such as applications and APIs that power your website. Some backend languages are Python, Ruby and Java to name a few. Since you need to work with databases, it requires knowledge of programming languages such as SQL.

3. DevOps:

This process involves getting your code from Github into production. This could involve installing operating systems or managing complex set of dependencies as your code base grows.

4. Project Management:

Can you work with clients/co-workers/vendors and actually complete a project? Do you plan timelines, make infrastructure decisions and gather accurate requirements? These often underrated skills are critical to becoming a successful developer.

Like a programmer can be “full stack” by having experience in these skills, they can also have a programming “stack”. This refers to the programming languages they feel comfortable working with. For example, a MEAN stack programmer means he/she is familiar with MongoDB, Express.JS, Anguar and Node.JS. There is no one prefect stack to know. But the reality is that you should be constantly adding new skills to your repertoire, both frontend and backend and all those stuff in between.

From our experience and while chatting with our full-stack developers, we have come up with an overview of technologies you may consider to learn to be a full-stack developer.

1. Foundation

For a good start of your web development career, you need to be good with HTML and CSS which is the basis for everything else.

With HTML (Hypertext Markup Language) you are defining and structuring the content of a website by using a simple markup syntax.

CSS (Cascading Style Sheets) is a simple way for adding styling (fonts, colors, layout, etc.) to your website.

2. Programming Languages

JavaScript

When people ask us what language they should learn, we tell them to start with JavaScript. Why?

JavaScript is the standard programming language of the web, and the program you write with JavaScript can be used by everybody.

“Software ate the web, the web ate the software, and JavaScript ate the web.”

We believe JavaScript is the most used programming language in the world. This means more programmers write JavaScript than any other programming language in the world. Do you know JavaScript’s standard package manager has more packages than Java and PHP combined?

Its basics are easy to learn. However, as the ECMAScript specification evolves, more and more advanced features are added to the language like asynchronous functions, shared memory and atomic operations.

TypeScript

TypeScript has gained a lot of traction with the rise of Angular. TypeScript is an addition to JavaScript and therefore is always used together with JavaScript to enable features like type checking. It has an excellent tooling, especially if you work with code editors like Visual Studio Code.

Python

If you haven’t added Python to your skill set, now is the perfect time to do so. Because Python is one of the most sought after languages in the world in 2019.

With Python you can implement command line scripts, GUI and web apps. Do you know Python is largely used in scientific computing all over the world?

3. Frontend Frameworks

Angular

Known as the framework to build client apps in HTML and JavaScript/TypeScript, Angular combines declarative templates, dependency injection, end-to-end tooling and integrated best practices.

Angular has become one of the most popular frameworks for building single page web applications. With new features being added, Angular is gaining more traction in the development world.

React

It is a JavaScript library for building user interfaces. React makes it super easy to create interacteive UIs. React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable and easier to debug.

4. Backend Frameworks

Node.JS

Node.JS makes it possible for you to execute JavaScript code at the backend and is extremely powerful. You have to have this skill set if you are going anywhere near full-stack tag.

It would be better if you have a sound knowledge of JavaScript programming before you start with Node.JS.

Django

Django is the new-found sister of Python, with the same elegance and smoothness. It is a powerful framework with pragmatism at its core.

If you have a good understanding of Python, then Django is easier to learn.

Going Full-Stack

Full-stack development skills are hot right now and it would be a life-changing decision for you to take that route. Spericorn Technology is already notorious for keeping the best full-stack developers and is always on the prowl for more talent.

We are always curious to know what you think full-stack developers are expected to have. Let us know.

If you are a full-stack developer yourself, check us out at www.spericorn.com and shoot a line. You might be invited for a chat over a hot cuppa coffee.