These days, there’s increasing pressure for developers and coders to be able to define themselves as “full-stack”.
This basically means they need to have a “very particular set of skills”, though the skills are a little less cool than in Taken.
Think instead in terms of HTML, CSS, JS, PHP, MySQL, Apache, Linux...
A full-stack developer is practically a one-man/one-woman army when it comes to creating web apps. Can’t do all those things? Then you may have trouble getting an interview with a top employer.
Facebook, for instance, will only (allegedly) hire developers they classify as “full stack” and many others are following suit.
Unfortunately, the list of skills involved in developing web apps only continues to grow.
Today there’s some debate as to whether it’s even possible to be a full stack developer. Even those who “believe” in the full-stack developer will debate the best definition for what that means.
So let’s take a more in-depth look into what the term actually encompasses and how you might achieve that lofty, mythical status...
Coders don’t work alone
The stereotypical image of a programmer is of someone who is very isolated and introverted – someone who works entirely alone on their projects, with only a cup of coffee and a ‘Glitch Mob’ album to keep them company.
Maybe they also wear a trench coat, like Neo from the Matrix.
In reality, this picture is both true and not true at the same time.
While coders often do work in isolation and will spend a lot of time “in flow”, working on projects without raising their heads, it’s also true that they need to be part of a larger team. And if the coder isn’t part of a larger team? Then they’ll likely need to reach out to others in order to get help and support during certain aspects of their business.
One programmer did not build Facebook (despite what The Social Network would have you believe). One programmer certainly does not design the look of Facebook, manage its servers and perform the necessary marketing to ensure it ends up with users.
But what is key is that they know how to make pages "speak" to one another, understand how the UI is going to work, and how the files are going to be saved and categorized.
Likewise, they should know what the marketing team has in store, which colors get a good response from the focus groups, etc.
For any web development team, there needs to be synergy both within departments and across departments.
This is where the term ‘full-stack developer’ becomes relevant.
What does it mean to be a full-stack developer?
You can imagine any software product to be built in a series of layers, one stacked upon the other. You begin with the most fundamental and abstract elements and then build on top of those things like attractive UIs and flourishes like animations.
In the case of web development, this is more complex because you’ll need to manage servers and databases and you’ll need to make sure all that private data is secure. Each of these elements can be considered layers in a stack. The full-stack developer then is someone who understands every layer instead of just their narrow slice.
“Think of the full-stack developer as a “Jack of all trades”, who may still specialize in one area.”
They are a much more valuable part of the team and also much more capable of working independently.
It’s like having a kitchen full of chefs, sous chefs, apprentices, and other professionals. There’s only one head chef, but you would expect an apprentice to be able to do basic jobs like boil some pasta. And life would go a lot more smoothly if they understood which dishes required the pasta to be “al dente” and which ones required something a bit sloppier. But this is really just a very simplified example.
In reality, the term “full-stack” is only applied to web-based apps which have much more complex stacks.
Read more at on our blog: The Rise of The Unicorns AKA ''Full-Stack Developers''
Top comments (0)