DEV Community

Cover image for 10 Things To Know As A Fullstack Developer πŸ‘οΈπŸ‘„πŸ‘οΈ
Niharika Singh β›“
Niharika Singh β›“

Posted on

10 Things To Know As A Fullstack Developer πŸ‘οΈπŸ‘„πŸ‘οΈ

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 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 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 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!

πŸ‘οΈπŸ‘„πŸ‘οΈ

Oldest comments (39)

Collapse
 
fahaddevs profile image
Fahad Bin Faiz

really good article

Collapse
 
niharrs profile image
Niharika Singh β›“

Thanks! 😊

Collapse
 
nikhilroy2 profile image
Nikhil Chandra Roy

It's very useful content for me.

Collapse
 
niharrs profile image
Niharika Singh β›“

Thanks! :D

Collapse
 
desbest profile image
Adisa Nicholson

I don't know CI/CD, DevOps and NoSQL. I suppose a web developer can't know everything there is to know lol

Collapse
 
niharrs profile image
Niharika Singh β›“

Of course expert level of knowledge is not expected. But certainly, a dev should know about CI/CD and definitely NoSQL.

Collapse
 
scroung720 profile image
scroung720

Great post as always. 'cloud virgin' 🀣

Collapse
 
niharrs profile image
Niharika Singh β›“

Thanks! :D

Collapse
 
77siddharth profile image
Siddharth Agrawal

hey, i am new to programming ! had exactly these things in mind. Could you share the resources how to get started with these giving examples for each point? cause i am a bit confused.

Collapse
 
niharrs profile image
Niharika Singh β›“

Okay! :)

Collapse
 
jcsmileyjr profile image
JC Smiley

Great article

Collapse
 
niharrs profile image
Niharika Singh β›“

Thanks!

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

I always find it weird that the terms "Full stack developer", "Front-end developer", and "Back-end developer" even exist. I've been a "web developer" for around 20 years and have always done a bit of everything as that's what the job entailed (and had been programming long before that since the age of 7). I've never found any of it 'hard'.

If you're a competent developer, you should be able to apply your skills across the board. A fuller understanding of how everything works greatly benefits the implementation of all websites.

I guess it's possible that these roles have appeared due to the explosion of (frequently unnecessary) tooling that has sprung up in most (if not all) areas of development. There are so many tools to learn, that being able to do 'everything' probably seems like a daunting goal.

Most new developers I see these days know how to use a bunch of modern tools/frameworks, but if asked to produce a site from scratch without any of these (including setting up servers, deployment, designing the database structure, writing the back end, writing the front end HTML, CSS, JS), they would be totally lost. Most modern tooling seeks to make things 'easier' for developers - largely at the expense of a lack of understanding of how things work, a lack of consideration for efficiency, and a tendency to use sledgehammers to crack nuts.

Collapse
 
niharrs profile image
Niharika Singh β›“

Thank you for sharing such an interesting point. I agree to everything you said. Nothing is sexier than having a good grasp on foundational knowledge. It's also true that these days this foundational knowledge is being abstracted from the developers. Maybe we will see a manifestation of this thought 20 years from now.

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid

Personally, I like to keep things synchronized, as I like to develop Front-End and Back-End together. I do not have the attention of developing the front-end first and then the back-end. I work on the basics of the features as after completing one feature, both front-end and back-end I like to move forward for a new features.

Collapse
 
niharrs profile image
Niharika Singh β›“

I actually meant that in your learning journey, you should learn frontend dev before backend dev. This usually works for most people. But of course, this is not 'one size fits all'.

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid • Edited

Oh Nice, so it was from the learning prospective.

Collapse
 
mike_hasarms profile image
Mike Healy

I'd also throw Accessibility (A11Y) in as being a mandatory skill.
Needn't become an expert, but accessible principles should be part of the dev process.

Collapse
 
niharrs profile image
Niharika Singh β›“

This would be a really helpful add on. Thanks for sharing!

Collapse
 
nachtfunke profile image
Thomas Semmler

To people who ask themselves the question: Of course it is good to have a broad understanding of how things in your related fields work, but nowadays companies are looking for specialists. If you aspire to be a "full stack developer" then you'll inevitably will be seen as a master of none. Don't become a unicorn and don't let companies or blogposts tell you that you are not good enough with your specific knowledge.

TLDR: Don't try to be a full stack developer.

Collapse
 
bitschupser profile image
Alex Rampp

I think the problem is, that the term "Full Stack Developer" is very overloaded these days. I rather rely to the T-shaped skill profile model. Having a broad knowledge in many fields combined with strong mental models how things basically work and having really deep knowledge and years of experience in one specific field.