10 Things To Know As A Fullstack Developer 👁️👄👁️
Tags: javascript, webdev, beginners, career
Published: 2020-09-02 10:46:35

Being a fullstack developer is hard. What's even harder is to keep up with the ever changing dynamics of development.

In this blog, I have outlined **10 most important things every fullstack dev should keep in mind while honing their skills.**

_This post is ideally for a developer who is just starting their journey to become an AWESOME fullstack dev._

***

### 1. Frontend first
Mastering client side (frontend) before server side (backend) is a good strategy. You will see your actions getting manifested in real time on the browser. This will keep you motivated to build more.

### 2. Fundamentals
It's VERY important to know the fundamentals of any framework by heart. If you claim to know the deeper intricacies of a framework and are unsure about the basics, then you need to revisit your learnings and probably also learning style. In a coding interview, this will be seen in a SUPER negative light. You'd want to avoid that.

### 3. 5 hours of JS and 5 years of JS
If you don't know JavaScript yet, then it will take you a few hours to know it enough to get started with basic web development. However, to understand the subtle nuances of JavaScript, it will take years of practice. Get ready for this kind of a commitment.

### 4. Basic web security is mandatory
Fundamental knowledge about web security is expected from a fullstack dev. You should know the core of cryptography, HTTPS, application security, Virtual Private Networks (VPN), Firewalls, SSH, etc.

💡 TIP: Ask yourself if you'd really use what you've build if it was a real service online. If the answer is no, then the application needs improvement.

### 5. SQL is as important as NoSQL
Do not think NoSQL is better than SQL or vice versa. Know when to use which database. To be a good fullstack dev, you should know both.

### 6. Side projects 🔥 
The best way to learn is by doing it. Try to build about 10 side projects. Add them to your portfolio. Cloning already existing services is a good way to learn. It will save you a lot of planning time. You can create a YouTube / TikTok / Instagram clone.

### 7. Host them projects
A rookie mistake you could make is to not host your project. Make sure you host it. [Heroku](https://www.heroku.com/) is a good place to start. __If your project isn't hosted, its as good as never made.__

### 8. CI/CD will make you stand out ⭐️
To shine in a tech interview, make sure you know your CI/CD well. Have a structured GitHub repository and ensure CI/CD is working properly. Have proper unit tests in place. This will not only prove your competency in CI/CD but also show that you ship quality code and nothing else. 

If you're new to CI/CD, I'd recommend you to check out [GitHub actions](https://github.com/features/actions) to create a CI/CD pipeline.

### 9. Basic DevOps is mandatory
Nginx, load balancing, docker, caching is expected. There are no two thoughts about it. 

I've noticed that people who are truly in love with computer science have a knack for DevOps. 😉

### 10. Get comfortable with cloud ☁️ 
If you are a cloud virgin, it can be daunting at first. But cloud is an acquired taste. Once you get into the groove, you will fall in love with it. 

Check out the services offered. If they fit well with your project, consider integrating them. They will fetch you brownie points.


### BONUS: Smart goal setting
Create a full fledged plan for your learning. I personally use [Notion](https://notion.so) for this purpose. Make sure all the tasks are clearly defined so that you don't have to waste time planning it out while you're building. This can save you a lot of time. 

***

I hope this blog helped you align your learning goals.

Cheers! 

👁️👄👁️