Note: Leave a comments, reactions and share with fellow developers
It's easy to focus on the front end of web development, but what about the back end? Learning about the back end improves your front end skills.
Here are some resources for full stack development that you can save for later.
Table Of Contents
๐ป How The Internet Works
๐ Advanced Front End
๐ฅ Operating Systems
๐ Languages
๐ฒ Version Control
๐ Database Concepts
๐ Relational Databases
๐ NoSQL Databases
๐จ APIs
โป๏ธ Caching
๐ Security
๐งช CI/CD
๐ Development Concepts
๐ฏ Software Architecture
๐ง Containers
๐ฌ Servers
โ๏ธ Scalablity
How The Internet Works ๐ป
โจ What happens when you go to google.com?
๐ Introduction to Networks
๐ซ Browser Networking
๐ IP Addressing
โญ๏ธ HTTP/2
Advanced Front End ๐
โจ HTML & CSS
๐ซ JavaScript
Operating Systems ๐ฅ
โจ Using the command line
๐ What is an operating system?
๐ซ Memory
๐ Unix Programming
โญ๏ธ Bash-Scripting Guide
Languages ๐
โจ Know PHP
๐ Learn Ruby
๐ซ Learn Rust
๐ Learn Go
โญ๏ธ Know Server-Side JavaScript
Version Control ๐ฒ
โจ A Visual Git Reference
๐ Visualizing Git Concepts with D3
๐ซ Github Cheat Sheet
๐ SVN
Database Concepts ๐
๐ Object-Relational Mapping
๐ ACID
๐ซ N+1 Problem
โ๏ธ Sharding
โจ CAP Theorem
๐ฅ Normalization
๐ Indexes
Relational Databases ๐
โจ Theory of Relational Databases
๐ Learn MySQL
๐ซ Learn PostgreSQL
๐ Learn MariaDB
๐ Learn MS SQL
NoSQL Databases ๐
โจ Learning MongoDB
๐ Learn CouchDB
๐ซ NoSQL Databases
๐ Graph Databases
APIs ๐จ
โญ๏ธ Working with APIs
๐ฅ REST
๐ก GraphQL
โ๏ธ JSON-RPC
๐ HATEOAS
Caching โป๏ธ
โจ HTTP caching
โ๏ธ Redis
โญ๏ธ Memcached
๐ Service workers
Security ๐
โจ HTTPS + TLS
๐ CORS
๐ซ MD5
๐ SHA-2
๐ก SCrypt
๐ฅ BCrypt
โ๏ธ OWASP
CI/CD ๐งช
โจ Testing your code
๐ Jenkins
๐ซ TravisCI
Development Concepts ๐
โ๏ธ SOLID
โญ๏ธ KISS
๐ฅ YAGNI
โจ DRY
๐ Domain-Driven Design
๐ Test Driven Development
Software Architecture ๐ฏ
๐ซ Microservices and Service Oriented Architecture
๐ CQRS
โญ๏ธ Serverless
Containers ๐ง
โจ Docker Fundamentals
๐ Docker Cookbook
๐ซ Kubernetes Cookbook
Servers ๐ฌ
โ๏ธ Nginx Handbook
๐ก Apache
๐ฅ Caddy
Scalability โ๏ธ
๐ซ Distributed Systems
โ๏ธ System Design Primer
โจ Real-World Maintainable Software
๐ The 12 Factor App
๐ Architecting Frontend Projects To Scale
This was inspired by a different post. In the other post, I wanted the author to provide resources for the topics they mentioned, so I made my own post. โจ
If you think I missed any resources in this post, comment them below!
Top comments (31)
I think when a new comer looks at a list like this it's extremely intimidating and they'd be right. However I find this sort of list does more harm than good. You don't need to know half of these things. To simplify this you could take a path of learning Java, then MySQL. Then start joining the two together with JDBC. You'll start to encounter problems in complexity but then enter Hibernate. The next step would be creating a basic front end with HTML and CSS and then join that to your Java and MySQL with servlets, after that use JSP's and add on some JS too eventually.
Although this may be old fashioned, you'd be surprised by how many large companies still just use Java 8 for example. There's the world the internet makes things out to be, and then reality. I say this because I am self taught (coming from a mechanical engineering background 20 years ago) and have now changed careers.
There is nothing to truly gain by learning 4 different types of databases, do 1, learn it well. Again, no point learning Go, Rust, Ruby etc. Not all of them. Focus on one language. See what your area offers in terms of jobs. You'll save yourself not only the time, but ultimately many folks give up because it's too overwhelming - because the internet is saying learning all of this, when in reality you don't need to.
Wow! I love the layout and the traction you got on this post. What a great way to boost SEO for other articles you link to. Although I wouldn't call this an article but a curated link list.
Ook! Thank you
I just wanted some guidance from you, as a complete beginner in coding should I start by learning web dev or start by learning python and then move to data science?
Answer:
When deciding where to start in your coding journey, itโs essential to consider your interests, long-term goals, and how much time you're willing to invest. Here's a comprehensive guide to help you decide between starting with web development or Python for data science:
1. Understanding Your Goals
2. Web Development Path
Technologies to Learn:
Learning Path:
3. Python and Data Science Path
Technologies to Learn:
Learning Path:
4. Key Factors to Consider
5. Long-Term Plan
Conclusion
Start with what aligns more closely with your current interests. Web development can offer faster, more tangible results, which might be more encouraging for a beginner. However, if you're drawn to data analysis and problem-solving, starting with Python is a solid choice. Both paths are rewarding, and with dedication, you can transition between them or integrate both into a versatile skill set.
Feel free to reach out for more resources or guidance on whichever path you choose!
great effort
u bring almost everything under one roof.
thank u
Thank you ๐
We really need another useless list of concepts?
Anyone can find more lists like this one on the internet with one simple google search.
We really need another useless article??
In the last year this platform become the place for new writers: a lot of copy/paste articles just to fill the space, as it was a writing bootcamp.
We really need to degradate this platform like this?
This place is becoming a pile of s**t - it's not that beautifull and informative place that was before.
At the moment the chance to find a usefull article is about 5%, the rest is wasted server space.
Dev Community isnโt your fatherโs estate where you can bring your frustrations. Yes, I used references for the article, but it was for people who want to learn and grow, not for negative thinkers like you. When the Dev Community appreciated my article, it proved that your opinion is irrelevant. If you have such a big problem with this platform, find somewhere else to vent your frustrations. And remember one thing: This article isnโt for stupid people, and your comments donโt affect me at all.
I would be curious if you thought the same about my articles? I spend time researching and then I spend a lot of time on outlines and drafts. So mine are definitely not copy and paste but they are though piece on current technology. I do get your point. I sometimes wonder how some of these articles make it in my Google news feed.
Even now, we can ask ChatGPT for that. What we really need is something more unique, like different perspectives and a practical path of experienced man.
Personally, I think studying by project-based is a good approach because at the end of the day, we need to use the knowledge to solve real-world problems. Even if starting by a TODO app, we can scale it in many way.
Awesome. Really grateful for this list
Thank you ๐
Nice! I'll save for later since I'm starting my full stack journey this year! :D
Great Article and Great Efforts
Thanks ๐
This is pure gold!
Thank you
Thanks for sharing!
Thanks to read! If you need more help on any topic you can ask.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.