As a Full Stack Developer it is very important that you have deep knowledge of every part of the application. This means you have to know the languages, patterns, optimization opportunities and how 3rd party software works under the hood. The security, stability and performance of the whole architecture should be your highest priority.
The following paragraphs will look very ugly. Maybe I will clean them, but this will have to do for today (I am tired. sry). I just wrote down whatever came to my mind, so it will sound repetitive and boring. It will contain bugs.... I mean typos. Edits welcome!
Database
You should know at least one SQL and one NoSQL DB inside out. I recommend knowing general ANSI SQL (which works with any SQL DB) and maybe MySQL syntax as MySQL might be among the easiest to set up and the most used in a Freelancer field. Depending on your job it might make more sense to learn MSSQL syntax or Oracle SQL syntax. On the NoSQL side, it depends highly on what you want to do. For most scenarios, you really should go with a SQL DB, but there are some special cases where you need NoSQL. I'd go for ArangoDB or MongoDB as they are used by quite a lot of folks.
In addition to the way to talk to a DB, you should know about DB normalization and DB specific optimizations for the DB technology you use. I haven't done a whole lot with NoSQL, yet, so I cannot give you any real advise there (sry)
Server
As for the server, I think it is quite useful to know some PHP, because it is so very popular and ideal for the small stuff with lots of static content. Node.JS is becoming more and more important, especially for Web Apps (you know, WebSockets and stuff like that) these days, so I would also recommend taking a look at all the specialities. And then there is Java. It is a very solid enterprise-grade language which will more or less help you get a job.
What you should know is how your compiler / interpreter / framework works under the hood. You should be able to do that black magic which is only possible by leveraging the way stuff rolls.
Do not forget about the API. Learn REST and Sessions. Both principles are important and have different use-cases. Also know how to cache the requests for additional speed-ups. Also, when serving images and other stuff, find a way to compress all content without losing detail as seen by a human eye. Aim for <300KB size. Do not compress content which would be larger when compressed. People say stuff <256Bytes should not be gzipped.
Nearly forgot the most important part: SECURITY. This is always something you have to implement on your server. Take a look at OWASP projects, like ASVS and AppSensor and implement them.
Network
Also you should know about standards and networking basics. Have you read the HTTP standard? If not, go'n do it. You will find out about lots of new tricks hidden in headers and implementations. And then you still need more protocols to support you. You should know JSON and XML as data-carriers.
Browser
Use modern architectures with HTML5, CSS3 and ES6 JS (if possible based on the browsers you support). Write semantic HTML with Microformats. Know the difference between different browsers: how to normalize the CSS, which attributes are dangerous (for example padding might do some funny things in some scenarios). Also make sure to minify stuff. Try to do things without JS for a better performance and battery time on mobile. Know about responsive device-agnostic design and client hints, BEMIT, ITCSS. Do not use big frameworks, like Bootstrap. Strip them down to what you really need.
Read about UX. Smashing Mag is a good source for typography, how to make things self-explanatory, rememberable, accessable,... Use KISS for menus and workflows. Keep the number of clicks scrolling a user has to do to a minimum. Use strong contrasts and big buttons.
General Programming
In general you should know a few patterns and be able to remember them when the time is right. Especially game programming patterns (google this term, get free ebook content on website) are useful as they were made for resource-saving and performance-boosting with a good architectural overview.
This is not all by far. But all I can think of for now. I might add stuff later on :)
Rajkumar
Fullstack Developer.