├── .github ├── ISSUE_TEMPLATE │ ├── bug_fix.yml │ ├── doc.yml │ └── feature_request.yml └── PULL_REQUEST_TEMPLATE │ └── new_feature_request.md ├── Android Developer ├── Android-Project-20-Ideas.md ├── Android-Studio.md └── README.md ├── Backend-Developer ├── Node js │ └── README.md └── README.md ├── CONTRIBUTING.md ├── Deep Learning RoadMap └── README.md ├── DevOps-Roadmap └── README.md ├── DevRel ├── DevRel-at-DG@2x.jpg └── README.md ├── Frontend-Developer ├── Git-Github │ └── README.md ├── HTML-CSS │ └── README.md ├── JavaScript │ ├── Javascript-roadmap.md │ └── Readme.md ├── README.md └── frameworks │ ├── Angular │ └── README.md │ ├── Ember │ └── README.md │ ├── FLutter │ ├── Screenshot 2023-02-20 011032.png │ └── mobile-developer(Flutter).md │ ├── README.md │ ├── React │ └── README.md │ └── Vue │ └── README.md ├── Full-Stack-Developer └── Full-stack-developer.md ├── LICENSE ├── ML-AI └── README.md ├── README.md ├── SECURITY.md └── WEB3-Developer └── README.md /.github/ISSUE_TEMPLATE/bug_fix.yml: -------------------------------------------------------------------------------- 1 | name: Bug Fix Issue 2 | description: Found a bug? Use this template to report it! 3 | title: "[BUG] " 4 | labels: ["aspect: bug"] 5 | body: 6 | - type: textarea 7 | id: bug_description 8 | attributes: 9 | label: Bug Description 10 | description: A brief description of the bug, including any error messages or unexpected behavior observed. 11 | validations: 12 | required: true 13 | - type: textarea 14 | id: steps_to_reproduce 15 | attributes: 16 | label: Steps to Reproduce 17 | description: Please list the exact steps to reproduce the bug. Be as specific as possible, and include any input data, expected output, or any other relevant details. 18 | validations: 19 | required: true 20 | - type: textarea 21 | id: expected_behavior 22 | attributes: 23 | label: Expected Behavior 24 | description: Describe what should have happened when the steps above were performed. Be as specific as possible. 25 | validations: 26 | required: true 27 | - type: textarea 28 | id: actual_behavior 29 | attributes: 30 | label: Actual Behavior 31 | description: Describe what actually happened. 32 | validations: 33 | required: true 34 | - type: textarea 35 | id: suggested_fix 36 | attributes: 37 | label: Suggested Fix 38 | description: Provide any suggested fixes or solutions for the bug if applicable. 39 | validations: 40 | required: false 41 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/doc.yml: -------------------------------------------------------------------------------- 1 | name: 📄 Documentation issue 2 | description: Found an issue in the documentation? You can use this one! 3 | title: "[DOCS] " 4 | labels: ["📄 aspect: text"] 5 | body: 6 | - type: textarea 7 | id: description 8 | attributes: 9 | label: Description 10 | description: A brief description of the question or issue, also include what you tried and what didn't work 11 | validations: 12 | required: true 13 | - type: textarea 14 | id: screenshots 15 | attributes: 16 | label: Screenshots 17 | description: Please add screenshots if applicable 18 | validations: 19 | required: false 20 | - type: textarea 21 | id: extrainfo 22 | attributes: 23 | label: Additional information 24 | description: Is there anything else we should know about this issue? 25 | validations: 26 | required: false 27 | - type: markdown 28 | attributes: 29 | value: | 30 | You can also join our Discord community [here](https://discord.gg/s5vVzsY6) 31 | Feel free to check out other cool repositories of our BuildersChain Community [here](https://github.com/BuildersChain) -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: 💡 General Feature Request 2 | description: Have a new idea/feature for Developers-Roadmap ? Please suggest! 3 | title: "[FEATURE] " 4 | labels: ["⭐ goal: addition","🚦 status: awaiting triage"] 5 | body: 6 | - type: textarea 7 | id: description 8 | attributes: 9 | label: Description 10 | description: A brief description of the enhancement you propose, also include what you tried and what worked. 11 | validations: 12 | required: true 13 | - type: textarea 14 | id: screenshots 15 | attributes: 16 | label: Screenshots 17 | description: Please add screenshots if applicable 18 | validations: 19 | required: false 20 | - type: textarea 21 | id: extrainfo 22 | attributes: 23 | label: Additional information 24 | description: Is there anything else we should know about this idea? 25 | validations: 26 | required: false 27 | - type: markdown 28 | attributes: 29 | value: | 30 | You can also join our Discord community [here](https://discord.gg/s5vVzsY6) 31 | Feel free to check out other cool repositories of our BuildersChain Community [here](https://github.com/BuildersChain) 32 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/new_feature_request.md: -------------------------------------------------------------------------------- 1 | 2 | ## Fixes Issue 3 | 4 | 5 | 6 | 7 | ## Changes proposed 8 | 9 | 10 | 11 | 12 | 18 | 19 | - [ ] Added new content/feature to the developer roadmap 20 | - [ ] Updated relevant documentation to reflect the new changes 21 | - [ ] Ensured that all new and existing tests pass 22 | - [ ] Ensured that there is no plagiarized content in this PR 23 | 24 | ## Check List (Check all the applicable boxes) 25 | 26 | - [ ] My code follows the code style of this project. 27 | - [ ] My change requires changes to the documentation. 28 | - [ ] I have updated the documentation accordingly. 29 | - [ ] All new and existing tests passed. 30 | - [ ] This PR does not contain plagiarized content. 31 | - [ ] The title of my pull request is a short description of the requested changes. 32 | 33 | ## Screenshots 34 | 35 | 36 | 37 | ## Note to reviewers 38 | 39 | -------------------------------------------------------------------------------- /Android Developer/Android-Project-20-Ideas.md: -------------------------------------------------------------------------------- 1 | # Android Projects 20 Ideas 2 | 3 | ![](https://i.imgur.com/waxVImv.png) 4 | 5 | ### 1 ePOST OFFICE Management System Android Application 6 | 7 | ### 2 OnRoad Vehicle Breakdown Help Assistance 8 | 9 | ### 3 Agri Shop: Farmers Online Selling Application 10 | 11 | ### 4 GYM Management Android App 12 | 13 | ### 5 COVID-19 Online Test Results & availability booking of Covid Hospitals 14 | 15 | ### 6 A Food Wastage Reduction Android Application 16 | 17 | ### 7 eVoting : SMS OTP Verification System Based Mobile Application 18 | 19 | ### 8 e-Vaccination management System Android app 20 | 21 | ### 9 Toll Gate App For Android Based Payment 22 | 23 | ### 10 Online Movie Ticket Booking Project App 24 | 25 | ### 11 Foot ball Team & Score Management System 26 | 27 | ### 12 eCommerce Old Book Store Shopping with eWallet Android App 28 | 29 | ### 13 Android app for Finding Lost Debit Card Security 30 | 31 | ### 14 Insurance Management System 32 | 33 | ### 15 Pg/Hostel Management Application Android App 34 | 35 | ### 16 iCar - Car Pooling Mobile App 36 | 37 | ### 17 Ediagnostic Lab Online Reporting Android App 38 | 39 | ### 18 Inventory Management System 40 | 41 | ### 19 Exam And Hall Ticket Management Application System 42 | 43 | ### 20 Health Diet Online Search And Proposal System 44 | -------------------------------------------------------------------------------- /Android Developer/Android-Studio.md: -------------------------------------------------------------------------------- 1 | # Android Studio 2 | 3 | ![](https://i.imgur.com/waxVImv.png) 4 | 5 | HTML 6 | 7 | ### Introduction 8 | 9 | Android Studio is the official integrated development environment (IDE) for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. 10 | 11 | 1. [Wikipedia](https://en.wikipedia.org/wiki/Android_Studio) 12 | 13 | 14 | 15 | # Language used in Android Studio 16 | ### We can use one from following languages 17 | 18 | HTML 19 | HTML 20 | 21 | 1. [Java](https://www.javatpoint.com/java-tutorial) 22 | 2. [Kotlin](https://www.javatpoint.com/kotlin-tutorial) 23 | 24 | # What is XML in Android development? 25 | 26 | ### XML stands for eXtensible Markup Language 27 | which is a way of describing data using a text-based document. Because XML is extensible and very flexible, it's used for many different things, including defining the UI layout of Android apps. 28 | 29 | 30 | # Download Android Studio 31 | 32 | [Download Android Studio](https://developer.android.com/studio?gclid=CjwKCAjw_MqgBhAGEiwAnYOAevg5o6xvW363smLkrMrPJRcG4ZrL7k2Jx29qqDr79pukeptj9yN7vRoCarcQAvD_BwE&gclsrc=aw.ds) 33 | 34 | [SetUp Android Studio geeksforgeeks](https://www.geeksforgeeks.org/guide-to-install-and-set-up-android-studio/) 35 | 36 | # Resource for Android Studio 37 | 38 | 1. [Javatpoint Android Tutorial](https://www.javatpoint.com/android-tutorial) 39 | 40 | -------------------------------------------------------------------------------- /Android Developer/README.md: -------------------------------------------------------------------------------- 1 | # Become Android Developer 2 | 3 | ![](https://i.imgur.com/waxVImv.png) 4 | 5 | Android is an open-source operating system, based on the Linux kernel and used in mobile devices like smartphones, tablets, etc. 6 | 7 | HTML 8 |
9 |
10 | 11 | # What does Android developer do? 12 | 13 | ![](https://i.imgur.com/waxVImv.png) 14 | 15 | An android developer designs software and applications for Android devices and the Google Play Store. This software 16 | developer creates apps used on Android phones and tablets. They often work for large organizations or directly for an app development company. 17 | 18 |
19 | 20 | Girl in a jacket 21 | 22 | # How Are Android Apps Developed? 23 | 24 | ![](https://i.imgur.com/waxVImv.png) 25 | 26 | Android Studio is the official, unified, integrated development environment (IDE) for building apps designed to run on Android devices. The platform offers app developers structured code modules to divide projects into units of functionality for independent building, testing and debugging. 27 | 28 | HTML 29 | 30 | ## 1.Choose an IDE 31 | 32 | - Android Studio 33 | - IntelliJ IDEA 34 | - Eclipse 35 | - NetBeans 36 | - Komodo 37 | 38 | ## 2. Pick a language 39 | 40 | - Java 41 | - Kotlin 42 | 43 | ## 3. Get familiar with the anatomy of an app 44 | 45 | ### Activity: 46 | 47 | - Activity life cycle 48 | - Handle Activity State Changes 49 | - Understand Tasks and Back Stack 50 | - Processes and Application Lifecycle 51 | 52 | ### Services: 53 | 54 | - Types of Android Services 55 | - The Life Cycle of Android Services 56 | 57 | ### Content Provider: 58 | 59 | - Content URI 60 | - Operations in Content Provider 61 | - Working of the Content Provider 62 | - Creating a Content Provider 63 | 64 | ### Broadcast Receiver: 65 | 66 | - Implicit Broadcast Exceptions 67 | 68 | ## 4. Learn the basics of UI 69 | 70 | - TextView 71 | - Button 72 | - ImageView 73 | - EditText 74 | - CheckBox 75 | - Spinner 76 | - RecyclerView 77 | 78 | ## 5. Learn the paradigm of asynchronous programming 79 | 80 | - Android service 81 | - Callbacks 82 | - Reactive programming (like RxJava or RxKotlin) 83 | - Kotlin coroutines 84 | 85 | ## 6. Choose where to store your data 86 | 87 | - Room Database – the database object provides the interface to the underlying SQLite database. An application should only have one room database instance, which may then be used to access multiple database tables. 88 | - Data Access Object (DAO) – contains the SQL statements required to insert, retrieve and delete data within the SQLite database. 89 | - Entities – typically a data class that defines the schema for a table within the database and defines the table name, column names, and data types, and identifies which column is to be the primary key. 90 | 91 | ## 8. Connect your app to the internet 92 | 93 | - Retrofit 94 | - Gson 95 | 96 | ## 9. Choose the right application architecture 97 | 98 | - MVVM 99 | - MVP 100 | - MVC 101 | - VIPER 102 | 103 | ## 10. Don’t forget to test your code 104 | 105 | #### Types of tests on Android 106 | 107 | - Functional testing 108 | - Performance testing 109 | - Accessibility testing 110 | - Compatibility testing 111 | 112 | ## Conclusion 113 | I covered all the major sections that are gonna help you become an Android developer 114 | 115 | Of course, that was just the basic explanation of main topics like activities and fragments. 116 | 117 | The learning curve at the beginning will be hard. You will continuously learn and explore new possibilities with different programming concepts and programming paradigms such as reactive programming. -------------------------------------------------------------------------------- /Backend-Developer/Node js/README.md: -------------------------------------------------------------------------------- 1 | # Node.js Roadmap 2 |
3 | Node.js is a popular JavaScript runtime environment that allows developers to run JavaScript on the server side. It has gained widespread adoption among developers due to its ability to handle high traffic, non-blocking I/O, and its scalable architecture. In this roadmap, we will cover the key concepts, tools, and frameworks that you need to learn to become a proficient Node.js developer. 4 |
5 |
6 | Node.js is a powerful technology that is widely used for building scalable and high-performance web applications, server-side APIs, and real-time applications. It has a large and active community, which provides a wealth of resources, tools, and frameworks. Node.js has a bright future, and there are many job opportunities available for Node.js developers. By learning Node.js and its related frameworks, developers can build robust and scalable web applications. 7 |
8 |
9 |

10 | Sublime's custom image 11 |

12 | 13 | ## Prerequisites 14 | Before you start learning Node.js, it's recommended that you have a strong foundation in JavaScript. You should have a good understanding of core concepts such as functions, objects, and arrays. You should also be familiar with asynchronous programming concepts such as callbacks, promises, and async/await. 15 | 16 | ## Step 1: Learn the Basics 17 | To start with Node.js, you need to learn the basics of Node.js and its core modules. You should start with the official Node.js documentation, which covers the basics of Node.js and its core modules such as fs, http, and path. 18 | 19 | ## Step 2: Build Command-Line Applications 20 | Node.js is popular for building command-line applications. To become a proficient Node.js developer, you should learn how to build command-line applications. You can start with the Commander.js framework, which provides an easy way to create command-line interfaces for Node.js applications. 21 | 22 | ## Step 3: Build Web Applications 23 | Node.js is also widely used for building web applications. To build web applications, you need to learn how to use web frameworks such as Express.js or Hapi.js. These frameworks provide an easy way to build web applications using Node.js. You should also learn how to use popular template engines such as Handlebars or EJS. 24 | 25 | ## Step 4: Learn Database Integration 26 | Node.js provides several modules for integrating with databases such as MySQL, MongoDB, and PostgreSQL. To become a proficient Node.js developer, you should learn how to integrate Node.js with different databases. You can start with the official documentation of the database that you want to use with Node.js. 27 | 28 | ## Step 5: Learn Authentication and Authorization 29 | Authentication and authorization are crucial for securing web applications. To become a proficient Node.js developer, you should learn how to implement authentication and authorization in Node.js. You can start with popular authentication and authorization libraries such as Passport.js and jsonwebtoken. 30 | 31 | ## Step 6: Learn Testing 32 | Testing is essential for ensuring the quality of your code. To become a proficient Node.js developer, you should learn how to write unit tests and integration tests for your Node.js applications. You can start with popular testing frameworks such as Mocha and Jest. 33 | 34 | ## Step 7: Learn Deployment 35 | Deploying Node.js applications can be challenging, especially if you're new to it. To become a proficient Node.js developer, you should learn how to deploy Node.js applications to different platforms such as Heroku or AWS. You can start with the official documentation of the platform that you want to deploy your Node.js application to. 36 | 37 |
38 |
39 |

40 | Sublime's custom image 41 |

42 | 43 | ## Advantages of Node.js 44 | * Node.js is built on top of the V8 JavaScript engine, which is fast and efficient. 45 | * Node.js provides non-blocking I/O, which allows it to handle a large number of requests without slowing down the application. 46 | * Node.js has a large and active community, which provides a wealth of resources, tools, and frameworks. 47 | * Node.js is platform-independent, which means that it can be run on different operating systems. 48 | 49 | ## Disadvantages of Node.js 50 | * Node.js is not suitable for CPU-intensive tasks as it uses a single-threaded event loop model. 51 | * Node.js requires developers to be proficient in asynchronous programming concepts. 52 | * Node.js may require additional effort to integrate with existing systems that are built on other technologies. 53 | 54 | ## Jobs Available 55 | Node.js is in high demand, and there are many job opportunities available for Node.js developers. Some of the popular job roles in Node.js are: 56 | 57 | * Node.js Developer 58 | * Full Stack Developer 59 | * Backend Developer 60 | * API Developer 61 | * DevOps Engineer 62 | 63 | ## Salary 64 | The salary of Node.js developers varies depending on their experience, location, and job role. According to Payscale, the average salary of a Node.js developer in the United States is $89,000 per year. 65 | 66 | ## Future of Node.js 67 | Node.js has a bright future, as it is expected to continue growing in popularity and adoption. Some of the trends that are expected to shape the future of Node.js are: 68 | 69 | * Increased use of serverless architectures with Node.js 70 | * Increased adoption of microservices architectures with Node.js 71 | * Increased use of machine learning and artificial intelligence with Node.js 72 | 73 | ## Frameworks Related to Node.js 74 | Node.js has a wide range of frameworks and libraries that can be used to build web applications and APIs. Some of the popular frameworks related to Node.js are: 75 | 76 | * Express.js: A minimalist web framework for Node.js. 77 | * Koa.js: A web framework that uses ES6 async functions. 78 | * Nest.js: A scalable and modular web framework for building * enterprise-grade applications. 79 | * Socket.io: A library that enables real-time bidirectional communication between the server and the client. 80 | 81 | ## Conclusion 82 | In this roadmap, we covered the key concepts, tools, and frameworks that you need to learn to become a proficient Node.js developer. It's important to note that this roadmap is not exhaustive, and there is always more to learn. However, by following these steps, you will have a strong foundation in Node.js and be able to build robust web applications using Node.js. -------------------------------------------------------------------------------- /Backend-Developer/README.md: -------------------------------------------------------------------------------- 1 | # Backend-Development 2 | 3 | ## Getting Started with Backend Development 4 | 5 | Backend development is an essential part of web development, where developers create server-side applications that interact with databases, APIs, and other components of a web application. Starting with back end development can be overwhelming. This back-end developer 6 | roadmap will guide you to start with it in the proper way. We will cover the most important building blocks of the web. This guide will help you to become a modern back-end developer. 7 | 8 | ## Prerequisites 9 | 10 | Before you start with backend development, you should have a good understanding of at least one programming language such as Python, Java, PHP, Ruby, or JavaScript. Additionally, you should have a basic understanding of web development concepts such as HTTP, APIs, and databases. 11 | 12 | ## Choose a Programming language 13 | 14 | - JavaScript 15 | - Python 16 | - PHP 17 | - Ruby (Not Recomended) 18 | - Rust 19 | - Java 20 | - Go Lang 21 | 22 | ## Choose a Framework 23 | 24 | ### Node js Frameworks 25 | 26 | HTML-CSS 27 | 28 | - Express.js 29 | - Nest.js 30 | - Fastify 31 | - Sails 32 | - Hapi 33 | - Restify 34 | 35 | ### Python Frameworks 36 | HTML-CSS 37 | 38 | - Django 39 | - Flask 40 | 41 | ### PHP Frameworks 42 | HTML-CSS 43 | 44 | - Laravel 45 | - Symfony 46 | 47 | ### Java Framworks 48 | HTML-CSS 49 | 50 | - Spring 51 | - Google Web Toolkit 52 | 53 | ## Backend concepts 54 | 55 | - HTTP / HTTPS 56 | - REST 57 | - GraphQL 58 | - Web Sockets 59 | - CORS 60 | - MVC Architecture 61 | - CI / CD 62 | - Serverless 63 | 64 | ## Learn about databases 65 | 66 | ### SQL 67 | 68 | - MySQL 69 | - PostgreSQL 70 | - SQL Lite 71 | 72 | ### NoSQL 73 | 74 | - MongoDB 75 | - CouchDB 76 | - DynamoDB 77 | 78 | ## Learn Caching 79 | 80 | - Redis 81 | - Memcached 82 | 83 | ## ORM / ODM 84 | - Mongoose (MongoDB) 85 | - Prisma (SQL) 86 | - Sequelize (SQL) 87 | 88 | ## Essential things to learn 89 | HTML-CSS 90 | 91 | - Authentication 92 | - OAuth 93 | - Hashing (bcrypt) 94 | - Rate Limiting 95 | - Reverse proxy 96 | - Load balancer 97 | - Documentation (Swagger) 98 | 99 | ## Learn any HTML Templating Engine 100 | 101 | - EJS 102 | - PUG 103 | - Handlebars 104 | - doT 105 | - Jade 106 | - Eta 107 | 108 | ## Other Important Topics 109 | HTML-CSS 110 | - Linux 111 | - Git 112 | - Terminal (CLI) 113 | - Basic Networking 114 | - Web Security 115 | - Payment Gateways 116 | - Testing 117 | 118 | 119 | ## Learn to deploy 120 | HTML-CSS 121 | 122 | - Google Cloud 123 | - AWS 124 | - Digital Ocean 125 | - Azure 126 | - Heroku 127 | - Linode 128 | - Vercel 129 | 130 | ## Optional things to learn 131 | HTML-CSS 132 | 133 | - Docker 134 | - Performance 135 | - Scalability 136 | - Kubernetes 137 | 138 | ## Tools to learn 139 | HTML-CSS 140 | 141 | - NPM 142 | - Postman 143 | - Insomnia 144 | - GitHub 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | ### Study resources Node :- 154 | 155 | - [Node.js documentation](https://nodejs.org/en/docs/) 156 | - [Node.js Tutorials](https://www.tutorialspoint.com/nodejs/index.htm) 157 | - [Learn Node.js - Full Course for Beginners FreeCodeCamp](https://www.youtube.com/watch?v=RLtyhwFtXQA) 158 | 159 | 160 | ### Study resources Django :- 161 | 162 | - [Django documentation](https://docs.djangoproject.com/en/3.2/) 163 | - [Django Tutorials](https://www.djangoproject.com/start/) 164 | - [Python Django Web Framework - Full Course for Beginners](https://www.youtube.com/watch?v=F5mRW0jo-U4) 165 | 166 | ### Study resources Ruby:- 167 | 168 | - [Ruby on Rails documentation](https://guides.rubyonrails.org/) 169 | - [Ruby on Rails Tutorials](https://www.railstutorial.org/) 170 | - [Ruby on Rails Crash Course](https://www.youtube.com/watch?v=fmyvWz5TUWg) 171 | 172 | 173 | ### Study resources Flask :- 174 | 175 | - [Flask documentation](https://flask.palletsprojects.com/en/2.1.x/) 176 | - [Flask Tutorials](https://flask.palletsprojects.com/en/2.1.x/tutorial/) 177 | - [Flask Full Web Development Tutorial](https://flask.palletsprojects.com/en/2.1.x/tutorial/) 178 | 179 | ## Conclusion 180 | 181 | Backend development is an essential part of web development. There are many different frameworks and tech stacks available, so it's important to choose the one that best suits your needs. In this guide, we covered some of the most popular backend frameworks and tech stacks, as well as the related study resources. Good luck with your backend development journey! 182 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution 2 | 3 | First of all thank you for considering to contribute. Please look at the details below: 4 | 5 | - [Contribution](#contribution) 6 | - [New Roadmaps](#new-roadmaps) 7 | - [Existing Roadmaps](#existing-roadmaps) 8 | - [Adding Content](#adding-content) 9 | - [Guidelines](#guidelines) 10 | 11 | ## New Roadmaps 12 | 13 | For new roadmaps, submit a roadmap by providing [a textual roadmap similar to this roadmap](Frontend-Developer\JavaScript\Javascript-roadmap.md) in an issue. 14 | 15 | ## Existing Roadmaps 16 | 17 | For the existing roadmaps, please follow the details listed for the nature of contribution: 18 | 19 | - **Fixing Typos** — Make your changes in the [roadmap JSON file]() 20 | - **Adding or Removing Nodes** — Please open an [issue](https://github.com/BuildersChain/Developers-Roadmap/issues) with your suggestion. 21 | 22 | **Note:** Please note that our goal is not to have the biggest list of items. Our goal is to list items or skills most relevant today. 23 | 24 | ## Adding Content 25 | 26 | Find [the content directory inside the relevant roadmap](). Please keep the following guidelines in mind when submitting content: 27 | 28 | - Content must be in English. 29 | - Put a brief description about the topic on top of the file and the a list of links below with each link having title of the URL. 30 | 31 | ## Guidelines 32 | 33 | -

Adding everything available out there is not the goal!
34 | 35 | The roadmaps represent the skillset most valuable today, i.e., if you were to enter any of the listed fields today, what would you learn?! There might be things that are of-course being used today but prioritize the things that are most in demand today, e.g., agreed that lots of people are using angular.js today but you wouldn't want to learn that instead of React, Angular, or Vue. Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included.

36 | -

Do not add things you have not evaluated personally!
37 | 38 | Use your critical thinking to filter out non-essential stuff. Give honest arguments for why the resource should be included. Have you read this book? Can you give a short article?

39 | -

Create a Single PR for Content Additions
40 | 41 | If you are planning to contribute by adding content to the roadmaps, I recommend you to clone the repository, add content to the [content directory of the roadmap]() and create a single PR to make it easier for me to review and merge the PR. 42 | - Write meaningful commit messages 43 | - Look at the existing issues/pull requests before opening new ones 44 | -------------------------------------------------------------------------------- /Deep Learning RoadMap/README.md: -------------------------------------------------------------------------------- 1 | # Complete Roadmap for Deep Learning 2 | 3 | Deep learning is a branch of machine learning and artificial intelligence that uses advanced computations to model the structure and operation of the neural networks in the human brain. In order to automatically extract and learn complicated representations of data patterns, hierarchical features, and complex abstractions from large-scale datasets, it revolves around training and using deep artificial neural networks, which are typically made up of multiple layers of interconnected nodes or artificial neurons. 4 | 5 |

8 | 9 | 10 | 11 | 12 | ## Table of contents 13 | 14 | #### [Applications of Deep Learning](https://github.com/GauriTr/Developers-Roadmap-Dl/tree/main/Deep%20Learning%20RoadMap) 15 | #### [Carrier Paths in deep learning](https://github.com/GauriTr/Developers-Roadmap-Dl/tree/main/Deep%20Learning%20RoadMap) 16 | #### [Skills needed to be acquired](https://github.com/GauriTr/Developers-Roadmap-Dl/tree/main/Deep%20Learning%20RoadMap) 17 | 18 | 19 | 20 | ## Applications of Deep Learning 21 | Deep learning has various applications specially in this day and age as it is growing day by day there is so much to explore. 22 | 23 | Some of the commonly used applications that are commonly known are: 24 | - Natural Lnaguage Processing 25 | - Speech Recognition 26 | - Targeted Marketing 27 | - Autonomous Systems(autonomous systems like self-driving cars and drones. It helps in perception tasks, object detection, and decision-making by processing real-time sensor data and generating appropriate responses.) 28 | - Healthcare 29 | 30 | 33 | 34 | ## Carrier Paths in deep learning 35 | Artificial intelligence and machine learning are promising employment fields with prospects for lifelong development. 36 | As a result, the field of machine learning and deep learning is very expansive and seems promising in terms of career possibilities and pay. 37 | 38 | - Data Engineer 39 | - Data Scientist 40 | - Data Analyst 41 | - Research Scientist 42 | - Natural Language 43 | - Software devloper with specialization in Data Science 44 | - AI consultant 45 | - AI architect 46 | 47 | 57 | 58 | ## Skills needed to be acquired 59 | An effective machine learning method is deep learning. Consequently, developing deep learning models calls for extensive machine learning expertise. Let's examine some of the crucial abilities you'll require to master deep learning: 60 | 61 | 62 | # 1. Basic Mathematical skills 63 | Understanding how deep learning algorithms function requires a solid foundation in mathematics, particularly statistics. 64 | Some of the requitred mathematical skills are: 65 | - Linear Algebra 66 | - Probability Theory 67 | - Statistics 68 | - Calculus 69 | - Algorithms 70 | - Optimization 71 | 72 | 73 | 74 | # 2. Programming skills 75 | Efficiency in at least one language is needed, While many programming languages can be used in machine learning, some of the most popular ones include Python and R. These high-level programming languages come with libraries and packages that simplify your work further. 76 | 77 | 87 | 88 | # 3. Data Engineering 89 | Having a solid foundation in data engineering is essential since deep learning uses a lot of data. 90 | ```sh 91 | Data engineering may include skills like: 92 | ``` 93 | - Data Pre-processing 94 | - Managing huge databases(knowledge of Oracle, MySQL, and NoSQL databases.) 95 | - Data extraction, transformation and load (ETL) 96 | ``` 97 | 98 | 99 | ![VxwKjYQ](https://media3.giphy.com/media/vISmwpBJUNYzukTnVx/giphy.gif?cid=ecf05e47vbglxwcjgeii0fhmsbpbs4fusobuahyxt2foaeze&ep=v1_gifs_search&rid=giphy.gif&ct=g.gif) 100 | 101 | 102 | # 4.Knowledge of Machine learning 103 | If you want to grasp deep learning, you must be familiar with machine learning algorithms. 104 | 105 | ```sh 106 | Some Ml algorithms you should be familiar with are: 107 | ``` 108 | 109 | - Naive Bayes. 110 | - Support Vector Machine. 111 | - K nearest Neighbour. 112 | - Linear Regression. 113 | - Logistic Regression. 114 | - Decision Tree. 115 | - Random Forest. 116 | - K means Clustering. 117 | - Hierarchical Clustering. 118 | - Apriori. 119 | 120 | 121 | # 5.Deep Learning algorithms 122 | Deep learning algorithms are a vital component of any deep learning toolkit. 123 | 124 | 125 | ```sh 126 | Some DL algorithms you should be familiar with are: 127 | ``` 128 | 129 | - Artificial Neural Networks (ANN): Neural networks are the foundation of deep learning. 130 | 131 | - Convolutional Neural Networks (CNN): CNNs are widely used for image recognition and computer vision tasks. 132 | 133 | - Recurrent Neural Networks (RNN): RNNs are designed to process sequential data, such as natural language or time series data, by utilizing feedback connections. 134 | 135 | - Long Short-Term Memory (LSTM): LSTMs are a type of RNN that addresses the vanishing gradient problem. 136 | 137 | - Generative Adversarial Networks (GAN): GANs consist of two neural networks, a generator and a discriminator, that are trained in an adversarial manner. 138 | 139 | - Autoencoders: Autoencoders are neural networks trained to reconstruct their input data at the output layer. 140 | 141 | - Deep Belief Networks (DBN): DBNs are composed of multiple layers of restricted Boltzmann machines (RBMs) and can be used for unsupervised pre-training or as generative models. 142 | 143 | - Reinforcement Learning (RL): Although not exclusive to deep learning, RL algorithms can benefit from deep neural networks as function approximators. 144 | 145 | 148 | 149 | > After learning these algorithms you should also know how to :- 150 | ```sh 151 | - Select a Problem. 152 | - Choose an appropriate algorithm for your problem. 153 | - Create a model with one or more algorithms. 154 | - Optimize your model for the best accuracy. 155 | ``` 156 | 157 | 160 | 161 | 162 | # 6.Knowledge of Deep learning Frameworks 163 | You must become familiar with the various deep learning frameworks that support deep neural network creation, training, and validation. 164 | 165 | ```sh 166 | Some DL framework you should be familiar with are: 167 | ``` 168 | 169 | - TensorFlow. 170 | 171 | - Theano. 172 | 173 | - scikit learn. 174 | 175 | - PyTorch. 176 | 177 | - Keras. 178 | 179 | - DL4J. 180 | 181 | - Caffe. 182 | 183 | - Microsoft Cognitive Toolkit. 184 | 185 | 186 | # 7. Projects 187 | Making projects and learning from them is the essential part because without this step you can not learn deep learning or require those skills that you want. 188 | 189 | # "The more you work on projects, the more you will learn." 190 | 191 | > Some projects you can start making at the begginers level are: 192 | 193 | - Face Detection 194 | - Image Classification 195 | - Color detection 196 | 197 | 198 | #### For more awareness about the learning platforms which provide the knowledge about skills to be learnt, [Click Here](https://www.mltut.com/deep-learning-roadmap/) 199 | 200 | 201 | -------------------------------------------------------------------------------- /DevOps-Roadmap/README.md: -------------------------------------------------------------------------------- 1 | ## What is DevOps? 2 | DevOps is a methodology in the software development and IT industry. Used as a set of practices and tools, DevOps integrates and automates the work of software development and IT operations as a means for improving and shortening the systems development life cycle. 3 | 4 | ## 1 - Software Development Basics 5 | As you are working closely with the development team to improve and automate tasks for them, you need to understand the concepts of: 6 | 7 | * how developers work and 8 | * what workflows they use, 9 | * how they collaborate on developing features, 10 | * the modern processes like agile and scrum, 11 | * what Git workflow they use and 12 | 13 | Now here it's important to mention that you don't need to be a software developer or the one implementing those agile and scrum processes. You need to understand how those things work on a high level, conceptually. 14 | 15 | ## 2 - Software Deployment 16 | The next one is software deployment. Once the feature is developed, it needs to be released to the end users, which means you need an environment, where your application will be running and be available for the end users. 17 | 18 | ### 2.1 - Operating Systems & Linux Basics 19 | And as a DevOps engineer you need to know how to provision and prepare these environments and 20 | how to maintain them. 21 | And for that you need knowledge of general server administration like creating virtual machines, mostly with Linux operating system, installing software, doing patches, configure networking on premise as well as on cloud. 22 | 23 | ### 2.2 - Containers with Docker 24 | And as part of the more modern infrastructure concepts you need to understand how to work with containers and the most popular container technology, which is Docker. 25 | 26 | 27 | ### 2.3 - Container Orchestration with Kubernetes 28 | And for projects with tens or hundreds of Docker containers you need to know how to work with container orchestration platforms like Kubernetes, which is the most popular one nowadays. 29 | 30 | 31 | 32 | ### 2.4 - Cloud - Learn 1 of the most popular cloud provider 33 | If you're working on cloud like AWS, which is the most popular and most used cloud platform for now, you also need to know AWS specific services and how to manage the whole deployment infrastructure on AWS. 34 | 35 | AWS Market Share 36 | Source: Statista Cloud Infrastructure Market Share 37 | 38 | ## 3 - CI/CD - Continuous Integration and Continuous Deployment 39 | And connecting all these pieces together and kind of the heart of the DevOps processes is CI CD pipelines. 40 | 41 | How do you connect these two software development and deployment? In other words, when software is being developed, how do you deploy those developed features? 42 | 43 | It's not just about deploying it to the deployment environment, we don't just take it and throw it on there. Why? Because humans make mistakes, either because of lack of knowledge in some area or just accidentally. So instead we add many gatekeepers before the deployment, so the deployed code needs to go through various of these gate checks in order to be allowed on the final environment and that's what the DevOps CI/CD pipeline is for: 44 | 45 | * testing code, 46 | * packaging it and 47 | * deploying all the way to the end environment 48 | * to deliver it to their end users. 49 | * CI/CD Pipeline 50 | 51 | Now what are those gatekeepers? Well, testing the code quality, testing code logic, testing that it didn't break any previously existing code, checking for any security issues, testing that it functions as it's supposed to etc. So tools for implementing this whole CI/CD pipelines with all those gatekeepers is a super important skillset. 52 | 53 | So knowing any CI/CD tools like Jenkins, Gitlab CI/CD, GitHub Actions, Circle CI and so on. And most importantly how to integrate this tool with all other technologies to test things, deploy the code and so on is very important. 54 | 55 | 56 | 57 | ## 4 - Monitoring and Observability 58 | Now again we are humans and we can assume that even with the most cautious measures and a lot of extensive testing, we can't always 100% test every single aspect of the deployment and some issue may slip through in the production. That's why we have bugs in production and that's okay as long as we have a plan for handling a bug or issue when it appears in production. 59 | 60 | So again a part of DevOps skillset is to create a process of handling discovered issues in production instead of having a panic mode. So what does that skillset include? Well, it's a thing called "monitoring and observability". 61 | 62 | So in the last stage of CD or continuous deployment, after deploying the code changes, we don't just say: "hey we're done, that's deployed so now let's move on to the next task", instead we observe and monitor closely what happens. If some user encounters an error, if something crashes or doesn't work, so we know we need to proactively fix that. So maybe for a couple of hours or within the next days of deployment, we're actively looking and observing whether some kind of issue appears in production. 63 | 64 | 65 | 66 | ## 5 - Automation 67 | And finally the last missing piece of really conquering DevOps is automating all this. 👏 So basically you automate most of your own work and work of other engineers, automating especially in areas where the same task needs to be repeated. 68 | 69 | Let me give you some examples, for every new code released: 70 | 71 | * you always need to test your application, 72 | * you always need to check for security, 73 | * you always need to package and 74 | * deploy application changes. 75 | 76 | These tasks should happen automatically, so you make sure to execute automated tests that developers or test engineers write, you have automated security checks, quality checks and you have scripts or automation code that deploys that code to the end environment: 77 | CI/CD automates all human tasks 78 | 79 | So you don't deploy the application locally from your own machine, but rather CI/CD pipeline deploys it automatically. 80 | 81 | Another one is monitoring. Obviously you don't want to be sitting in front of a computer and observing and waiting to see if something breaks in the application, instead you want to deploy tools that monitor the application and notify you if something's off or if something happens: 82 | Monitoring tools 83 | 84 | So monitoring and observability tools go under your DevOps toolbelt as well. 85 | 86 | ### 5.1 - Infrastructure as Code 87 | But in DevOps we don't stop there with automation, we also automate things that don't repeat on every code change deployment, but still prove to be incredibly efficient. 88 | 89 | So for example provisioning infrastructure or setting up a Kubernetes cluster is not something you do very often but we still automate it in DevOps. Why? Because we want to be able to easily replicate our deployment environments if they get corrupted or if we need multiple staging environments, like DEV, TEST and PRODUCTION: 90 | Infrastructure as Code 91 | 92 | And generally having everything in code versus some manual scripts that some person on a team executes and no one knows about has many benefits: 93 | 94 | First of all, encouraging collaboration in a team on infrastructure configuration 95 | Documenting changes to infrastructure 96 | Transparency of the infrastructure state and 97 | Accessibility to that information in a centralized place versus being scattered around on people's local machines in the form of some scripts. 98 | This is an infrastructure as code concept as part of the whole movement towards automating all workflows to make them more efficient. 99 | 100 | And some of the most popular tools in this area are Terraform for Infrastructure Provisioning and Ansible for Configuration Management. 101 | 102 | 103 | ### 5.2 Scripting skills 104 | While you don't need to actually program the application as a DevOps engineer (more to that later in the article), you will need some scripting or basic programming skills to automate various DevOps processes. 105 | 106 | This can be simple shell scripting or even better a full-fledged programming language like Python. However, you don't need to be able to develop web applications with Python like a software developer. Being able to write automation scripts with Python is absolutely enough and is actually way easier to learn. 107 | 108 | Some examples would be writing a shell script to do a task in a Jenkins job in a CI/CD pipeline or writing a small utility script for flushing the cache, starting the builds and deployments, connecting different tools etc. 109 | 110 | There are many programming languages, but I would recommend starting with Python. Python is widely used, easy to learn and used for many different use cases, especially in DevOps. And the good thing is, programming concepts stay the same, so when you learn one language well, you can easily learn new ones quite quickly. 111 | 112 | 113 | 114 | ## 6 - Version Control with Git 115 | You write all automation logic mentioned above as code. 116 | And just like developers manage the application code with a version control tool, like Git, you need to manage this automation code and configuration files with a version control tool as well. 117 | 118 | So these are the fundamental processes and respective tools that are part of DevOps. So any other DevOps tools you may come across - and there are hundreds of them - are simply optimizing or improving different parts of this workflow. 119 | 120 | What is YOUR zero or starting point? 🤔 121 | So having those DevOps skills is the final goal and you're starting from zero, but many of you are transitioning to DevOps or starting your DevOps journey having various different backgrounds. So the zero or that starting point is different for all of you and as I mentioned at the beginning you may be systems administrator or software engineer or QA engineer etc or may not have an IT background at all and want to transition into DevOps: 122 | Different starting points when transitioning into DevOps 123 | 124 | So now I want to show you how you can transition to DevOps and basically learn all these tools that I just mentioned starting from your specific background. ✅ 125 | 126 | Starting as a Systems Administrator 🧑🏽‍💻 127 | If you are a systems administrator you know how to administer servers and other systems. So you already have some skills in: 128 | 129 | setting up infrastructure 130 | configuring and preparing it for deployment 131 | so working with operating systems, installing and running software 132 | security, networking configuration etc is already familiar for you. 133 | Some of the other tasks you do as systems administrator are things like monitoring systems, health, backup and disaster recovery, installing and patching servers and so on. 134 | 135 | In smaller projects you may have to also do database administration, network administration or security administration. 136 | 137 | All of these are very useful skills, if you want to become a DevOps engineer. 👍 So you already have a lot of skills you can use in the deployment and operations side of DevOps: 138 | Skills in deployment and operations part of DevOps 139 | 140 | This includes Day 0 activities such as initial setup of the infrastructure, but also Day 1 tasks like maintaining and operating this infrastructure. 141 | 142 | Many systems administrators also know scripting, so that will be helpful in the automation part of DevOps. So as a systems administrator you already have a very good foundation to get into DevOps, however the big part missing here to start in DevOps is learning the software development basics: 143 | 144 | understanding the git workflows 145 | how developers work and so on 146 | Now very important to note, even though some DevOps engineers do know how to program, it's not an essential skill in DevOps, because as a DevOps engineer your main task is not developing and programming the application it's creating automated processes for delivering the developed software to the end users efficiently with as few bugs and issues as possible: 147 | Process to deliver app to end users 148 | 149 | But to be able to deliver the application changes, of course you need to understand how that application was built, developed and how it works. 150 | 151 | Starting as a Software Developer 👩‍💻 152 | If you are a software developer, again you have a pretty good background, because you already know an important part of DevOps, which is the software development processes and how these work. 153 | 154 | But most probably you are missing skills in server management. So you need to start by learning about: 155 | 156 | virtual machines 157 | creating and configuring servers 158 | configuring infrastructure security, networking etc 159 | And since most modern applications run on cloud, you need to also learn how to do all these on cloud infrastructure. 160 | 161 | So that would be your starting point when learning DevOps as a software developer. 162 | 163 | And once you have that foundation you can build on that by learning about how containers work on top of the virtual machines and how to run applications in containers and how to run containers on a platform like Kubernetes etc. 164 | 165 | And of course your programming skills will be great help in writing automated scripts for various parts of the application development and deployment processes. 👍 166 | 167 | Starting as a Test Automation Engineer👨🏼‍💻 168 | Another common background people have when transitioning into DevOps is a test automation engineer. Now here you may have a bit more catching up to do and more skills to learn compared to developers or systems administrators, but you can definitely reuse many of your skills in DevOps. 169 | 170 | As a test engineer you most probably know how the software developers are working, like the agile processes, Jira workflows and so on. And as part of your test automation knowledge you understand the different testing scopes like 171 | 172 | testing on code level 173 | testing the whole application on a more abstract level 174 | testing how the application integrates with other services etc. 175 | You also understand how to test different aspects of an application and that knowledge is really helpful for setting up an automated CI/CD pipeline, because in order to automate the pipeline and streamline delivering your application changes all the way to the production environment, you need extensive automated testing: 176 | 177 | Extensive testing for multi-stage deployments 178 | 179 | Because as soon as you need a human element you will break the automated pipeline and add a bottleneck: 180 | Manual process breaks automated pipeline 181 | 182 | And since you know how to write automated tests in various programming languages, your skills in various testing frameworks is definitely helpful here for scripting and coding some automation parts of DevOps processes. Or let's say it won't be completely new to you. 👍 183 | 184 | Starting as a Network Engineer🧑🏻‍💻 185 | The last honorable mention of a background going into DevOps is network engineering. This is probably the farthest from DevOps compared to the other three that I just mentioned, but you still have some skills that you can bring into DevOps as a network engineer. 186 | 187 | As a network engineer you know how to configure devices and networking between devices. So you have valuable knowledge in configuring networking for infrastructure on premise. 188 | 189 | Transition to Cloud Network Engineer 190 | But as most companies are moving their infrastructure to cloud, many network engineers transition to cloud network engineering: 191 | Moving to cloud 192 | 193 | So they do all of that on cloud platforms. And instead of configuring routes and switches and networks on on-premise infrastructure, they configure virtual routes and virtual switches and virtual networks on cloud infrastructure. 194 | 195 | With networking and virtual networking knowledge you have an advantage to understand networking in virtual machines and containers, which is a big part of how modern applications are running. So it will be easier for you to understand Docker and Kubernetes networking for example and these are usually pretty difficult parts to manage and troubleshoot or secure, when you're configuring and maintaining the deployment environments with Kubernetes and containers on them. 196 | 197 | So you can definitely use your knowledge and expertise in this area. Some network engineers even know scripting in bash or python for example, which is another helpful skill when it comes to automation part of DevOps. 198 | 199 | DevOps Bootcamp considering these different backgrounds 💡 200 | Now all of these backgrounds we actually considered when creating our DevOps bootcamp curriculum. 201 | 202 | So we added the Linux Basics module, where you learn everything about Operating Systems and Linux as well as Networking, Bash scripting and so on. Everything from scratch: 203 | Linux Module for Software Developers and Testers 204 | 205 | So if you are a software developer or a test automation engineer, this will give you the prerequisite knowledge and foundation for learning things like provisioning deployment servers, configuring servers and preparing for deployment etc as well as how to administer some DevOps tools like Jenkins and Kubernetes cluster and so on. 206 | 207 | Obviously as a system administrator you would skip that part, but instead you would need to learn Git and how to work with Git workflows, to use it for writing infrastructure as code for example. You also need to learn about build and packaging tools to package the applications written in various languages. 208 | 209 | So as you see there are some prerequisites you need to have in DevOps and various backgrounds bring various of those prerequisites with them and we included those prerequisites as well for those missing them, but after those prerequisites are fulfilled the path pretty much looks the same for everybody, because tools like Kubernetes, Terraform, EKS, even Docker are pretty new to many professionals and there is no one profession that was specifically dedicated to those tools previously. So everyone needs to learn them no matter what their IT background is: 210 | 211 | ### DevOps Bootcamp 212 | 213 | Starting with no or little IT background 🙉 214 | Finally, we also get many questions about starting our DevOps Bootcamp with very little to no IT background. Which means there are probably many of you reading this article, who are thinking about getting into DevOps without much IT pre-knowledge and want to know what the path is to DevOps. 215 | 216 | Now this is a very tricky one, because DevOps is NOT really the entry-level profession in it. It's not the first thing you learn when you want to get into the IT field. 217 | Now why is that? 🤷🏻‍♂️ Because DevOps is about 218 | 219 | automating processes and software development and deployment that people have done manually for a very long time. 220 | 221 | This means before you automate processes and tasks that are done manually, you first need to understand what those processes and tasks are in the first place. If you don't understand those, you won't know what you're automating or why you even need DevOps. 222 | 223 | ## 1 - Understand complete software development lifecycle 224 | So if you're completely new to IT and already know you want to eventually become a DevOps engineer, then you should start by understanding the complete software development life cycle first. And the good news is, it's easier than it sounds. You don't need to go and learn software development for months for that and you definitely don't need to become an expert in managing infrastructure and configuring servers. 225 | 226 | If you learn the right things, you can actually do it in a relatively short time: 227 | Go find some example projects, where you create a super simple application and learn how to deploy to a virtual server, so learning the steps of developing, packaging, maybe even automatically testing and then deploying an example application on a Linux server on a cloud platform. 228 | 229 | This will actually be a very good foundational knowledge for building on it to learn DevOps. In this process 230 | 231 | you will learn the basics of creating an application, 232 | you will learn how to create a virtual machine with a Linux server on some easy to use cloud platform and host your application there. 233 | And then repeat the whole process once more, simulating making an update to your application and this will teach you basic skills for each part of the software development process, but most importantly it will make you understand the complete workflow of what goes into that. 👀 234 | 235 | You don't need any fancy tools for that, no Jenkins, no fancy programming framework, not even Git. Again these are to understand the basic concepts and then you can start learning those DevOps tools like Jenkins, Docker, Kubernetes and so on. Because this phase is not about learning the tools, it's about understanding the concepts and the complete workflow. 236 | 237 | ## 2 - How software development teams collaborate 238 | After that go ahead and watch some tutorials about agile and scrum methods and how software development teams collaborate and work in software development projects. 239 | 240 | ## 3 - DevOps Pre-Requisites and 4 - DevOps Skills 241 | And these skills will actually be enough to start our DevOps Bootcamp, because Linux, Git and all these basic tools you actually learn in our bootcamp from scratch. 🚀 But again you need to understand those workflows first in order to understand, why we're using Git, why we need Jenkins, why we're learning Linux and scripting etc. 242 | 243 | And because of a lot of requests for our Bootcamp from IT beginners 🙈, we actually also decided to create a complete bootcamp prerequisites course. So if you're interested in that you can already sign up to get notified when the course is out 🔔: IT Beginners Course 244 | 245 | So you can of course learn this as I said all by yourself following those steps and put a learning path together by yourself or you can use our prerequisites course when it's out. 246 | 247 | Summary - DevOps Roadmap 248 | So to summarize there are 4 phases: 249 | 250 | #### 1 - Getting the pre-requisites right 251 | First one getting the prerequisites right. So depending on which background and pre-knowledge you have, you need to first make sure to get any missing prerequisite knowledge. 252 | 253 | So as a system administrator or a network engineer, learn the software development workflows. As a developer, learn the basics of infrastructure, virtual servers etc. Of course with zero IT background, you have to get all this prerequisite knowledge from server administration to development first. So you have a more difficult entry, but it is possible if you know what to learn. 254 | 255 | #### 2 - Cloud, Docker, Kubernetes 256 | Second step is learning cloud, Docker and Kubernetes. After learning the prerequisites, you can already get started with important DevOps skills of working with containers and container orchestration tools. So basically learning Docker and Kubernetes to help your teams deploy and efficiently run the application. Kubernetes itself is a very complex tool, so it may take some time to master it and make it production ready. 257 | 258 | And since most of the modern applications and Kubernetes clusters are running on cloud, you need to learn cloud infrastructure, how to work with cloud infrastructure, how to configure it, how to scale it and so on. 259 | 260 | #### 3 - Automation 261 | The third step is automation. Once you have mastered the above skills and technologies it's time to learn how to optimize and automate the existing processes. And as a DevOps professional automation skills are one of the most important ones. 262 | 263 | As the heart of DevOps, learning to build CI/CD pipelines is an essential skill. 264 | 265 | And finally you will learn how to automate parts of the complete DevOps processes one by one using the concepts and tools of what's called X as code, including Infrastructure as Code, Configuration as Code, Security as Code, Policy as Code and so on, which basically means just automating everything in the form of code 266 | 267 | #### 4 - Go from there. Keep learning 🙌 268 | Number four is just go from there. DevOps is evolving and new tools are being developed all the time. So as a DevOps professional, you should learn how to evaluate and test many new tools, always with the same goal to optimize and automate existing processes and make them efficient. 269 | -------------------------------------------------------------------------------- /DevRel/DevRel-at-DG@2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuildersChain/Developers-Roadmap/17443b1657bc4fd9e44fc7ce348b8a341d336e04/DevRel/DevRel-at-DG@2x.jpg -------------------------------------------------------------------------------- /DevRel/README.md: -------------------------------------------------------------------------------- 1 | # What is DevRel? 2 | 3 | 4 | 5 | Developer Relations is abbreviated as DevRel. Developer Relations refers to a marketing strategy that prioritises relationships with developers. There is a term in general society known as PR (Public Relations); DevRel is the developer version of this. Its definition is straightforward. 6 | 7 | > DevRel is the marketing technique used to ensure that one's company, products, and developers establish a good, continuous relationship with external developers through mutual communication. 8 | 9 | 10 | ## Why we need DevRel? 11 | 12 | Why did DevRel become so significant? DevRel became significant because advertisements were not originally designed with developers in mind. As a result, the products and services developed would not reach them. Marketing is used to ensure that one's products and services are delivered to their intended audience. Marketing that does not reach developers is meaningless. 13 | 14 | As a result, relevant marketing strategies developed with developers as users became known as DevRel. -------------------------------------------------------------------------------- /Frontend-Developer/Git-Github/README.md: -------------------------------------------------------------------------------- 1 | # Git-Github 2 | 3 | ## Introduction 4 | Git is a distributed version control system that helps keep track of changes in your code, manage different versions of your code and collaborate with other developers. GitHub is a web-based platform that hosts Git repositories, allowing developers to share their code, collaborate, and keep track of their work. 5 | 6 | ## Setting up a repository on GitHub 7 | 8 | * Create a GitHub account 9 | * Create a new repository by clicking on the "New repository" button. 10 | * Choose a name and description for your repository, and select the type of repository you want to create. 11 | * Initialize your repository with a README file, if you wish. 12 | * Clone the repository to your local machine by copying the repository URL. 13 | * Type in the command "git clone [repository URL]" to clone the repository. 14 | * Open a terminal window and navigate to the directory you want to keep your code. 15 | 16 | 17 | ## Basic Git Commands 18 | 19 | * `git `status` - This shows the status of your local repository. 20 | * `git clone [repository link]` - Clone the forked copy of the project. 21 | * `git branch [branch name]` - Creates a new branch. 22 | * `git checkout -b [your branch name]` - Creates a new branch and also checks out in that as well. 23 | * `git add [file name]` - Adds the specified file to the repository. 24 | * `git commit -m "[commit message]"` - Commits the changes to the repository with a message describing the changes. 25 | * `git push origin [branch name]` - Pushes the changes to the specified branch on GitHub. 26 | * `git pull origin [branch name]` - Pulls the latest changes from the specified branch on GitHub to your local repository. 27 | 28 | ## Collaborating on GitHub 29 | 30 | * Fork the repository you want to collaborate on. 31 | * Clone the forked repository to your local machine. 32 | * Create a new branch to work on. 33 | * Make changes to the code and push the changes to your forked repository. 34 | * Submit a pull request to the original repository, describing the changes you have made. 35 | * The repository owner will review the changes and merge them into the original repository if they are approved. 36 | 37 | ## Learning Resources 38 | 39 | * [Git Documentation](https://git-scm.com/doc) 40 | * [GitHub Documentation](https://git-scm.com/doc) 41 | * [Udemy's Git and GitHub Masterclass](https://www.udemy.com/course/git-and-github-masterclass/) 42 | * [FreeCodeCamp's Git Tutorials](https://www.freecodecamp.org/news/introduction-to-git-and-github/) 43 | * [Codecademy's Git Tutorials](https://www.codecademy.com/learn/learn-git) 44 | * [Kunal Kushwaha's Git and GitHub Tutorial](https://youtu.be/apGV9Kg7ics) 45 | 46 | By following these steps and using these resources, you will be able to effectively use Git and GitHub to manage your code and collaborate with other developers. 47 | -------------------------------------------------------------------------------- /Frontend-Developer/HTML-CSS/README.md: -------------------------------------------------------------------------------- 1 | # HTML 2 | HTML 3 | 4 | ## Introduction 5 | 6 | 7 | ### What is HTML???? 8 | 9 | 10 | HTML, or Hypertext Markup Language, was primarily designed to provide a means of creating structured scientific documents. HTML can embed scripting languages such as PHP or JavaScript to affect the behavior and content of web pages. The World Wide Web Consortium (W3C) maintains both the HTML and CSS standards. 11 | 12 | For more details check out these following resources: 13 | 14 | 1. [MDN Docs on HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) 15 | 2. [W3S HTML Tutorial](https://www.w3schools.com/html/) 16 | 3. [Javatpoint HTML Tutorial](https://www.javatpoint.com/html-tutorial) 17 | 4. [Wikipedia](https://en.wikipedia.org/wiki/HTML) 18 | 19 | 20 | # CSS 21 | CSS 22 | 23 | ## Introduction 24 | 25 | 26 | ### What is CSS???? 27 | 28 | 29 | CSS stands for Cascading Style Sheets. 30 | 31 | CSS is a stylesheet language used to describe the presentation of a document written in HTML or XML (including XML dialects such as SVG, MathML or XHTML). CSS describes how elements should be rendered on screen, on paper, in speech, or on other media 32 | CSS describes how HTML elements are to be displayed. 33 | 34 | For more details check out these following resources: 35 | 36 | 1. [MDN Docs on css](https://developer.mozilla.org/en-US/docs/Web/CSS) 37 | 2. [W3S CSS Tutorial](https://www.w3schools.com/css/) 38 | 3. [Javatpoint CSS Tutorial](https://www.javatpoint.com/css-tutorial) 39 | 4. [Wikipedia](https://en.wikipedia.org/wiki/CSS) 40 | -------------------------------------------------------------------------------- /Frontend-Developer/JavaScript/Javascript-roadmap.md: -------------------------------------------------------------------------------- 1 | > Textual version of the JavaScript roadmap 2 | 3 | - Introduction to JavaScript 4 | - What is JavaScript? 5 | - History of JavaScript 6 | - JavaScript Versions 7 | - How & Where to Run JavaScript 8 | 9 | - All about Variables 10 | - Rules for naming variables 11 | - Variable Declarations 12 | - var 13 | - let 14 | - const 15 | - Variable Scopes 16 | - Block Scope 17 | - Global Scope 18 | - Function Scope 19 | - Hosting 20 | 21 | - Data Types 22 | - Primitive Types 23 | - string 24 | - number 25 | - bigint 26 | - boolean 27 | - undefined 28 | - symbol 29 | - null 30 | - Object 31 | - Object Prototypes 32 | - Prototypal Inheritance 33 | - Built-in Objects 34 | - `typeof` operator 35 | 36 | - Type Casting 37 | - Implicit Type Casting 38 | - Explicit Type Casting 39 | - Type Conversion vs Coercion 40 | 41 | - Equality comparisons 42 | - Equality Algorithms in JavaScript 43 | - isLooselyEqual 44 | - isStrictlyEqual 45 | - SameValueZero 46 | - SameValue 47 | - Value Comparison Operators 48 | - === 49 | - == 50 | - Object.is 51 | 52 | - Loops and Iteration 53 | - for statement 54 | - do...while statement 55 | - while statement 56 | - break / continue 57 | - labeled statements 58 | - for...in statement 59 | - for...of statement 60 | 61 | - Control Flow 62 | - Conditional Statements 63 | - if...else 64 | - switch 65 | 66 | - Data Structures 67 | - Indexed Collections 68 | - Arrays 69 | - Typed Arrays 70 | - Keyed Collections 71 | - Map 72 | - Weak Map 73 | - Set 74 | - Weak Set 75 | - Structured Data 76 | - JSON 77 | 78 | - Exception Handling Statements 79 | - throw statement 80 | - try / catch / finally statement 81 | - Utilizing Error Objects 82 | 83 | - Expressions and Operators 84 | - Assignment Operators 85 | - Comparison Operators 86 | - Arithmetic Operators 87 | - Bitwise Operators 88 | - Logical Operators 89 | - BigInt Operators 90 | - String Operators 91 | - Conditional Operators 92 | - Comma Operators 93 | - Unary Operators 94 | - Relational Operators 95 | 96 | - Functions 97 | - Defining Functions 98 | - Calling Functions 99 | - Function Parameters 100 | - Default Parameters 101 | - Rest Parameters 102 | - Arrow Functions 103 | - IIFEs 104 | - `arguments` Object 105 | - Scope and Function Stack 106 | - Recursion 107 | - Lexical Scoping 108 | - Closures 109 | - JavaScript's Built-in Functions 110 | 111 | - Strict Mode `use strict` 112 | - `this` keyword 113 | - `this` in a method 114 | - `this` in a function (default mode) 115 | - `this` alone 116 | - `this` in a function (strict mode) 117 | - `this` in Event Handlers 118 | - `this` in arrow functions 119 | - Explicit Function Binding 120 | - `call` method 121 | - `apply` method 122 | - `bind` method 123 | - Function Borrowing 124 | 125 | - Asynchronous JavaScript 126 | - setTimeout 127 | - setInterval 128 | - callbacks / callback hell 129 | - Promises 130 | - async/await 131 | - Event Loop 132 | - Classes 133 | - Iterators and Generators 134 | - modules in javascript 135 | - Common JS vs ESM 136 | - Memory Management 137 | - Memory Lifecycle 138 | - Garbage Collection 139 | - Debugging 140 | - JavaScript Bugs 141 | - Performance Issues 142 | -------------------------------------------------------------------------------- /Frontend-Developer/JavaScript/Readme.md: -------------------------------------------------------------------------------- 1 | # Javascript 2 | 3 | ## Introduction 4 | 5 | ### What is JavaScript???? 6 | 7 | 8 | Along with [HTML]() and [CSS](), the computer language known as JavaScript, or JS, is one of the foundational elements of the World Wide Web. It enables us to add interactivity to pages, such as the sliders, alerts, click interactions, popups, etc. that you may have encountered on various websites. It is used in non-browser settings as well, such as [Node.js]() for writing server-side JavaScript code, Electron for creating desktop apps, [React Native]() for creating mobile applications, and others, in addition to the browser. 9 | 10 | 11 | For more details check out these following resources: 12 | 13 | 1. [MDN Docs on JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) 14 | 2. [W3S JavaScript Tutorial](https://www.w3schools.com/js/default.asp) 15 | 16 | 17 | 18 | # jQuery 19 | 20 | ## Introduction 21 | 22 | ### What is jQuery???? 23 | 24 | The purpose of jQuery is to make it much easier to use JavaScript on your website. jQuery is a lightweight, "write less, do more", JavaScript library. The purpose of jQuery is to make it much easier to use JavaScript on your website. jQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code. jQuery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation. 25 | 26 | The jQuery library contains the following features: 27 | 28 | 1. HTML/DOM manipulation 29 | 2. CSS manipulation 30 | 3.HTML event methods 31 | 4.Effects and animations 32 | 5.AJAX 33 | 6.Utilities 34 | 35 | For more details check out these following resources: 36 | 37 | 1. [W3S jQuery Tutorial](https://www.w3schools.com/jquery/default.asp) 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Frontend-Developer/README.md: -------------------------------------------------------------------------------- 1 |

Frontend Development

2 | 3 | #### Starting with web development can be overwhelming. This front-end developer roadmap will guide you to start with it in the proper way. We will cover the most important building blocks of the web. This guide will help you to become a modern front-end developer. 4 | 5 | ## HTML 6 | 7 | HTML-CSS 8 | 9 | - Basic HTML 10 | - Text Formatting 11 | - Emmet 12 | - Classes and IDs 13 | - Images 14 | - Forms 15 | - Graphics 16 | - Media 17 | - Semantic HTML 18 | - SEO Basics 19 | 20 | ## CSS 21 | 22 | - Basics 23 | - Selectors 24 | - CSS units and values 25 | - Colors 26 | - Positioning 27 | - Box Model 28 | - Display 29 | - Specificity 30 | - Margins, padding, and borders 31 | - FlexBox 32 | - Grid 33 | - Media Queries 34 | - Pseudo Elements 35 | - Pseudo Classes 36 | - Transitions 37 | - Animations 38 | 39 | ### HTML CSS Projects 40 | 41 | - Personal Portfolio Website: Create a website to showcase your skills, projects, and experience. 42 | 43 | - Online Resume: You can include your skills, work experience, education, and any other relevant information. 44 | 45 | - Recipe Website:Include pictures, ingredients, and step-by-step instructions. 46 | 47 | - E-commerce Website: Build an online store where users can browse products, add items to their cart, and checkout. 48 | 49 | - Blog: Create a blog to share your thoughts, ideas, and experiences. 50 | 51 | - News Website: Build a news website that features the latest news stories from around the world. 52 | 53 | - Landing Page: Design a landing page for a product, service, or event. 54 | 55 | - Online Quiz: Create an online quiz that users can take and receive a score. 56 | 57 | ## JavaScript 58 | 59 | JavaScript 60 | 61 | - Basic Syntax 62 | - Data Types 63 | - Conditions 64 | - Loops 65 | - Functions 66 | - Arrays 67 | - Objects 68 | - DOM Manipulation 69 | - Fetch API / Ajax 70 | - Async Await 71 | - Event Listeners 72 | - ES6+ JavaScript 73 | - Promises 74 | - Classes 75 | - Array Methods 76 | - Scoping 77 | - Hoisting 78 | - Closures 79 | 80 | ### JavaScript Projects 81 | 82 | - Todo List: Create a todo list that allows users to add, delete, and mark tasks as complete. 83 | 84 | - Weather App: Build a weather app that allows users to enter a location and see the current weather conditions. 85 | 86 | - Quiz App: Create a quiz app that asks users a series of questions and provides feedback on their answers. 87 | 88 | - Pomodoro Timer: Build a timer that uses the Pomodoro technique to help users stay focused and productive. 89 | 90 | - Calculator: Create a calculator that allows users to perform basic arithmetic operations like addition, subtraction, multiplication, and division. 91 | 92 | - Random Quote Generator: Build an app that displays a random quote each time it's loaded. You can use a public API to fetch quotes from a database. 93 | 94 | ## Git-GitHub 95 | 96 | Git-GitHub 97 | 98 | - Installing Git 99 | - Staging and Commit 100 | - Git Init 101 | - Git Add 102 | - Git Commit 103 | - Git Clone 104 | - Git Stash 105 | - Git Ignore 106 | - Git Fork 107 | - Git Origin Master 108 | - Git Remote 109 | - Git Checkout 110 | - Git Revert 111 | - Git Reset 112 | - Git Branch 113 | - Git Push 114 | - Git Pull 115 | 116 | ## Learn any CSS Framework 117 | 118 | Git-GitHub 119 | 120 | - Bootstrap 121 | - Tailwind 122 | - Materialize 123 | - Bulma 124 | - Semantic UI 125 | - Foundation 126 | 127 | ## Learn any CSS Preprocessor 128 | 129 | Git-GitHub 130 | 131 | - SASS / SCSS 132 | - Postcss 133 | - Less 134 | - Stylus 135 | 136 | ## Pick a JavaScript Framework / Library 137 | 138 | Git-GitHub 139 | 140 | - React 141 | - Vue 142 | - Angular 143 | - Svelte 144 | - Meteor 145 | - Remix 146 | 147 | #### I recomend you to choose React.React is a popular JavaScript library that is widely used for building web applications. 148 | 149 | #### React is a powerful and flexible library that can help you build complex web applications quickly and efficiently. Whether you're building a small personal project or a large-scale enterprise application, React is definitely worth considering. 150 | 151 | ## Basic things to learn in React 152 | 153 | - Components 154 | - JSX 155 | - Props 156 | - State 157 | - Events 158 | - Conditional Rendering 159 | 160 | #### React - Hooks 161 | Git-GitHub 162 | 163 | - useState 164 | - useEffect 165 | - useRef 166 | - useContext 167 | - useReducer 168 | - useMemo 169 | - useCallback 170 | 171 | ## Learn some React UI Frameworks 172 | 173 | Git-GitHub 174 | 175 | - Material UI 176 | - Ant Design 177 | - Chakra UI 178 | - React Bootstrap 179 | - Rebass 180 | - Blueprint 181 | - Semantic UI React 182 | 183 | ## Learn some popular React packages 184 | 185 | - React Router 186 | - React Query 187 | - Axios 188 | - React Hook Form 189 | - Styled Components 190 | - Storybook 191 | - Framer Motion 192 | 193 | ## Learn state management in React 194 | Git-GitHub 195 | 196 | - Redux 197 | - MobX 198 | - Hookstate 199 | - Recoil 200 | - Akita 201 | 202 | 203 | ## Learn to test your apps 204 | Git-GitHub 205 | 206 | * Jest 207 | * Testing Library 208 | * Cypress 209 | * Enzyme 210 | * Jasmine 211 | * Mocha 212 | 213 | 214 | ## Learn to deploy your websites 215 | Git-GitHub 216 | 217 | * Netlify 218 | * Vercel 219 | * Firebase 220 | * Github Pages 221 | * Heroku 222 | * Render 223 | 224 | ## Important Note 225 | #### You don’t need to learn all the things mention in this roadmap to become a front-end developer or get a job as a front-end devloper. 226 | 227 | 228 | #### There is no end of learning in web development there’s always something to learn 229 | 230 | ## So never stop learning! 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 268 | -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/Angular/README.md: -------------------------------------------------------------------------------- 1 | # Angular 2 | Angular is an open-source JavaScript framework for building client-side web applications. It was developed and is maintained by Google. Angular is a complete rewrite of AngularJS, which was the first version of the framework. 3 | 4 | ## Advantages of Angular 5 | * Modular architecture - Angular is designed with a modular architecture that enables developers to build complex applications in a modular and maintainable way. 6 | 7 | * Two-way data binding - Angular's two-way data binding makes it easy to keep the data model and the view in sync, which reduces the amount of boilerplate code required to create dynamic user interfaces. 8 | 9 | * Dependency injection - Angular's dependency injection system makes it easy to manage dependencies in your application and to write testable code. 10 | 11 | * TypeScript - Angular is written in TypeScript, which adds type checking and other advanced features to JavaScript, making it more robust and easier to maintain. 12 | 13 | * Large community and ecosystem - Angular has a large and active community of developers, which means there are many resources available, such as tutorials, libraries, and tools. 14 | 15 |

16 | Sublime's custom image 17 |

18 | 19 | ## Jobs Available in the Market 20 | * Front-end Developer - Angular is one of the most in-demand skills for front-end developers. Front-end developers who are proficient in Angular can expect to find many job opportunities in the market. 21 | 22 | * Full-stack Developer - Full-stack developers who are proficient in Angular can work on building complex web applications that require a strong understanding of both front-end and back-end development. 23 | 24 | * UI/UX Designer - Angular is often used to build complex user interfaces, which means that UI/UX designers who are proficient in Angular can find job opportunities in companies that require strong design skills. 25 | 26 | * Angular Developer - Companies that build web applications using Angular are always looking for developers who are proficient in the framework. As an Angular developer, you can expect to work on building and maintaining complex web applications. 27 | 28 | * Web Application Developer - As more and more companies move their business online, the demand for web application developers who are proficient in Angular is increasing. Angular is one of the most popular frameworks for building web applications, which means that web application developers who are proficient in Angular are in high demand. 29 | 30 | ## Angular Roadmap 31 | This roadmap outlines the recommended learning path and progression for developers interested in mastering Angular. 32 | 33 | ## Getting Started 34 | Learn the basics of HTML, CSS, and JavaScript. 35 | Familiarize yourself with TypeScript, which is a superset of JavaScript and the preferred language for Angular development. 36 | Get comfortable with using the command line interface (CLI) to create, build, and test Angular applications. 37 | 38 | ## Core Concepts 39 | * Understand Angular's component-based architecture and how to create and use components. 40 | * Learn about Angular's data binding system and how to use it to display and update data. 41 | * Become familiar with Angular's dependency injection system and how to use it to manage dependencies in your application. 42 | * Learn how to use Angular's router to handle navigation between pages in your application. 43 | 44 | ## Advanced Topics 45 | * Learn about Angular's forms module and how to use it to create forms with validation. 46 | * Understand how to use Angular's HTTP module to communicate with a backend API. 47 | * Learn how to use Angular's reactive programming features, such as observables and reactive forms. 48 | * Become familiar with Angular's testing framework and how to write unit tests and end-to-end tests for your application. 49 | * Learn about Angular's server-side rendering (SSR) capabilities and how to use them to improve performance and SEO. 50 | 51 | ## Libraries and Tools 52 | * Learn how to use popular Angular libraries, such as RxJS, ng-bootstrap, and Material Design. 53 | * Become familiar with popular tools for debugging and profiling Angular applications, such as the Angular DevTools and Augury. 54 | * Learn how to use tools for optimizing your Angular application's performance, such as the Angular CLI's built-in optimization tools and lazy loading. 55 | 56 | ## Best Practices 57 | * Understand Angular's recommended best practices for structuring your application, such as the use of modules and lazy loading. 58 | * Learn how to write maintainable and scalable Angular code, such as using a consistent code style and following SOLID principles. 59 | * Familiarize yourself with common pitfalls and anti-patterns in Angular development and how to avoid them. 60 | 61 | ## Contributing 62 | If you have suggestions or contributions for this roadmap, feel free to create an issue or pull request in the repository. 63 | 64 | ## Resources 65 | * Official Angular documentation: https://angular.io/docs 66 | * Angular University: https://angular-university.io/ 67 | * Ultimate Angular: https://ultimatecourses.com/angular 68 | * Ng-book: https://www.ng-book.com/ 69 | * Angular in Action: https://www.manning.com/books/angular-in-action 70 | -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/Ember/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuildersChain/Developers-Roadmap/17443b1657bc4fd9e44fc7ce348b8a341d336e04/Frontend-Developer/frameworks/Ember/README.md -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/FLutter/Screenshot 2023-02-20 011032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuildersChain/Developers-Roadmap/17443b1657bc4fd9e44fc7ce348b8a341d336e04/Frontend-Developer/frameworks/FLutter/Screenshot 2023-02-20 011032.png -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/FLutter/mobile-developer(Flutter).md: -------------------------------------------------------------------------------- 1 | ## Flutter roadmap 2 | # basic dart 3 | 4 | ## What is Flutter? 5 | Flutter is a free and open-source mobile application development framework created by Google. 6 | It was first introduced in 2017 and has since gained a lot of popularity among developers. 7 | Advantages of Flutter 8 | 1.Provides fast development cycles and hot reload, which allows for quick iterations and reduces development time. 9 | 10 | 1. Uses a single codebase to create apps for both Android and iOS platforms, reducing the need for separate teams and resources. 11 | 1. Offers a customizable widget-based framework that allows for creating visually appealing and interactive user interfaces. 12 | 1. Provides access to a wide range of plugins and packages that can be easily integrated with the codebase, allowing for easier customization and feature additions. 13 | 1. Supports the use of popular programming languages such as Dart, which allows for easy adoption and integration with existing development processes. 14 | 1. Comes with a robust documentation and active community support, which makes it easier for developers to get help and stay up to date with the latest updates and features. 15 | ## Conclusion 16 | Flutter is a powerful framework for mobile application development that offers many advantages to developers. Its customizable widgets, fast development cycles, and support for popular programming languages make it a popular choice among developers who want to create visually appealing and interactive mobile applications quickly and efficiently. 17 | # whats in this roadmap ? 18 | ->what is flutter? 19 | ->some core basic, like different types of widgets 20 | ->state topics 21 | ->advance topics 22 | 23 | 1. widgets 24 | 1. stateless widgets 25 | 1. stateful widgets 26 | 1. material(android)/cupertino(ios) widgets 27 | 1. projects->make 28 | 1. software design principles->solid,design patterns etc 29 | 1. api 30 | 1. shared preferences 31 | 1. networking in flutter,pub.dev 32 | 1. sqlite/firebase/supabase->preference 33 | 1. some advance topics and → provider or velocityx or redux 34 | 1. testing 35 | 1. packages&plugins 36 | 1. memory&performance 37 | 1. dos and donts for developer 38 | 39 | ## links 40 | 1. https://youtu.be/j-LOab_PzzU 41 | 2. flutter.dev 42 | 43 | # mostly setup is the most difficult so here are the steps 44 | # flutter setup 45 | 1. install flutter, set path in enviroment variables of bin 46 | # https://docs.flutter.dev/get-started/install 47 | 1. then install android studio 48 | # https://developer.android.com/studio 49 | 1. install latest sdk and also cmline tools when opening android studio first time 50 | 1. setup virtual device in android studio settings->device manager->new device 51 | 1. go to environment variables -> system-> path->paste sdk path 52 | 1. run flutter doctor in cmd 53 | see if any errors 54 | if error of android toolchain, 55 | go to android studio installation path by cd then run -> mklink /D "jre" "jbr" -> this will create a symbolic link so sdk will be able to run required dependancies from jbr 56 | if any error of flutter sdk then -> make sure flutter/bin is added into path environment variables 57 | if any error of cmake, make sure simple visual studio is installed with cmake package 58 | ![alt text](http://Frontend-Developer\Screenshot 2023-02-20 011032.png) -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/README.md: -------------------------------------------------------------------------------- 1 | # Frameworks 2 | 3 | ## Introduction 4 | 5 | Frontend development is the practice of designing and coding user interfaces for web applications. Frontend frameworks are powerful tools that simplify the development process of websites and web applications. In this article, we'll discuss the different frameworks available for frontend development and provide learning resources for each of them. 6 | 7 | ## Angular 8 | 9 | Angular is a powerful JavaScript framework for building web applications. Developed by Google, it allows developers to create dynamic and complex web applications with a wide range of features, including two-way data binding, dependency injection, and a robust testing infrastructure. It uses TypeScript, a superset of JavaScript, which adds features such as static typing and classes, making it more organized and easier to maintain. Angular also provides developers with a set of conventions that make the development process easier, including the use of components, services, and modules. Its popularity can be attributed to its ability to handle large-scale applications and its strong support for testability, making it a favorite among developers for building enterprise applications. 10 | 11 | Example: Gmail, Google Drive, and Google Analytics are all built with Angular. 12 | 13 | ### Learning resources: 14 | 15 | * [Angular documentation](https://angular.io/docs) 16 | * [Coursera Angular course](https://www.coursera.org/learn/angular) 17 | * [Codecademy Angular course](https://www.codecademy.com/learn/learn-angularjs) 18 | 19 | ## React 20 | 21 | React is a popular JavaScript library used to build user interfaces. Developed by Facebook, React allows developers to create reusable UI components and efficiently manage complex user interfaces. It uses a virtual DOM that allows developers to update only the necessary parts of the user interface, making it faster and more efficient than other UI frameworks. React is often used in conjunction with other libraries and frameworks, such as Redux for state management, and React Native for building mobile applications. Its popularity can be attributed to its simplicity, efficiency, and ability to create high-performing web applications. 22 | 23 | Example: Facebook, Instagram, and Airbnb are all built with React. 24 | 25 | ### Learning resources: 26 | 27 | * [React documentation](https://reactjs.org/docs/getting-started.html) 28 | * [Coursera React course](https://www.coursera.org/learn/react) 29 | * [Codecademy React course](https://www.codecademy.com/learn/react-101) 30 | 31 | ## Vue.js 32 | 33 | Vue.js is a progressive JavaScript framework for building user interfaces. It was created by Evan You and is known for its simplicity, flexibility, and ease of integration with other libraries and projects. Vue is incrementally adoptable, which means it can be integrated into existing projects and applications without disrupting the entire architecture. It provides developers with tools for building reusable components, managing state with a centralized store, and reactive updates to the user interface. It is lightweight, with a small footprint, and has fast performance. Its popularity can be attributed to its ease of use, flexibility, and the fact that it allows developers to build highly scalable applications with ease. 34 | 35 | Example: Alibaba, Xiaomi, and WizzAir are all built with Vue.js. 36 | 37 | ### Learning resources: 38 | 39 | * [Vue.js documentation](https://vuejs.org/v2/guide/) 40 | * [Coursera Vue.js course](https://www.coursera.org/learn/vue-js) 41 | * [Codecademy Vue.js course](https://www.codecademy.com/learn/learn-vue-js) 42 | 43 | ## Ember 44 | 45 | Ember is a JavaScript framework for building web applications. It is an opinionated framework, meaning it provides developers with a set of conventions for coding web applications, making the development process easier and more efficient. Ember is known for its strong support for convention over configuration, which means it provides developers with a set of conventions for coding web applications that make the development process easier. It provides developers with a robust infrastructure for building web applications, including features such as two-way data binding, templates, and components. Ember also provides developers with a set of tools for testing their applications, making it easier to maintain and update their code. Its popularity can be attributed to its strong focus on developer productivity, making it an excellent choice for building large-scale web applications. 46 | 47 | Example: LinkedIn, Netflix, and Yahoo are all built with Ember. 48 | 49 | ### Learning resources: 50 | 51 | * [Ember documentation](https://emberjs.com/) 52 | * [Coursera Ember course](https://www.coursera.org/learn/ember-js) 53 | * [Codecademy Ember course](https://www.codecademy.com/learn/learn-ember-js) 54 | 55 | ## Conclusion 56 | 57 | Frontend frameworks are powerful tools that simplify the development process of websites and web applications. In this article, we have discussed some of the most popular frontend frameworks and provided learning resources for each of them. We hope that this article has been helpful in helping you decide which frontend framework to use for your next project. 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/React/README.md: -------------------------------------------------------------------------------- 1 | # Roadmap to learn React 2 | 3 | ## What to learn before you start React ? 4 | * Git/Github 5 | * Basic javascript 6 | * npm / yarn 7 | * To work efficiently in terminal 8 | * and ofcourse basic html and css. 9 | 10 | ## What is React.js? 11 | React is a popular JavaScript library for building user interfaces (UIs) for web applications.React can be used to build single-page applications (SPAs) and can be combined with other libraries and frameworks, such as Redux, React Router, and Next.js, to create more complex applications. 12 | 13 | ## Why to learn React ? 14 | React allows developers to build complex UIs by breaking them down into small, reusable components that can be easily managed and updated. 15 | 16 | ## THE Roadmap ! 17 | ### 1. __Learn the basics of__ 18 | * __HTML:__ In HTML, you should know Basics of all tags, new features, and support in HTML5, About how to work with emmets and about divs. 19 | 20 | * __CSS:__ In CSS, you should know about Box model mainly, and the basic styling. 21 | 22 | * __JavaScript:__ Javascript is the most integral prerequisite if you want to start React. It adds interactivity and dynamics in the HTML document. It is a client-side scripting language. To take inputs from users, validate them, display alerts etc., we use JavaScript. 23 |
Following are the important points to consider: 24 | 25 | -Functions
26 | -Strings
27 | -Array manipulation
28 | -Loops
29 | -Printing alerts
30 | -Logging on consoles
31 | 32 | ### 2. __The basic Tools you'll need-__ 33 | * __Git / Github:__ In github, you need to learn- 34 | 1. How to create a repository.
35 | 2. The basic git commands such as how to push your code.
36 | 3. How to create branches and how to open a pull request.
37 | 4. And, Version control. 38 | 39 | 40 | * __VS Code/ Atom or any code editor you're comfortable with.__ 41 | 42 | * __Package Managers :__ 43 | You'll need package managers like Npm or Yarn. These are tools used to manage the packages and libraries. You can choose the package manager of your choice. 44 | 45 | 46 | * __Libraries for better styling:__ 47 | Few third party libraries such as React Bootstrap, Mantine etc would make your application's styling much better and easier. 48 | 49 | * __Working with API's:__ 50 | 1. __Fetch API__: The Fetch API is a built-in JavaScript API that allows you to make HTTP requests to an API endpoint and retrieve data. Understanding how to use the Fetch API is essential when working with APIs in React.
51 | 2. __React Hooks__: React Hooks are a way to add state and other React features to functional components. The useEffect() Hook is often used when working with APIs, as it allows you to perform side effects, such as making API requests, when a component is rendered.
52 | 3. __Promises:__ The Fetch API returns a Promise, which is a JavaScript object that represents a value that may not be available yet. Understanding how to work with Promises and handle asynchronous data in React is important when working with APIs. 53 | 4. __GET and POST requests:__ GET and POST are two of the most common HTTP methods used in APIs to retrieve or send data, respectively. 54 | 55 | * __Routing, Navigation and loading:__ 56 | Routing and navigation are important concepts in web development, as they allow users to navigate between different pages or views within a web application. 57 | 58 | ## How to start ? 59 | Now, this is the main deal. The best place to learn React is the official website, but as a beginner, it can be a little bit overwhelming for you. So, here are some resoources i found very useful- 60 | 61 | #### Documentation based resources- 62 | * [React's official website](https://reactjs.org/) 63 | * [W3School's React documentation](https://www.w3schools.com/REACT/DEFAULT.ASP) 64 | 65 | #### Tutorial based resources- 66 | * [Udemy](https://www.udemy.com/course/the-complete-web-development-bootcamp/) 67 | * [NetNinja's youtube playlist](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gZD-Tvwfod2gaISzfRiP9d) 68 | * [FreeCodeCamp's youtube playlist](https://www.youtube.com/playlist?list=PLWKjhJtqVAbkArDMazoARtNz1aMwNWmvC) 69 | 70 | #### Additional resources 71 | * [Airbnb React/JSX Style Guide](https://github.com/airbnb/javascript/tree/master/react) 72 | * [Chrome react dev tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) 73 | * [React icons](https://react-icons.github.io/react-icons/) 74 | 75 | ### Last but not the least, 76 | Remember, learning React is a journey, not a destination. It takes time and practice to become proficient, but with dedication and perseverance, you can master this powerful and popular framework. 77 | 78 | **Happy Coding ;) !** 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /Frontend-Developer/frameworks/Vue/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BuildersChain/Developers-Roadmap/17443b1657bc4fd9e44fc7ce348b8a341d336e04/Frontend-Developer/frameworks/Vue/README.md -------------------------------------------------------------------------------- /Full-Stack-Developer/Full-stack-developer.md: -------------------------------------------------------------------------------- 1 | # Full stack Development 2 | 3 | ## Getting Started with Full stack Development 4 | 5 | Full stack development refers to the end-to-end application software development, including the front end and back end. The front end consists of the user interface, and the back end takes care of the business logic and application workflows.In this guide, we'll cover the basic steps to get started with Full stack development, including the different frameworks or tech stacks you can learn, and the related study resources. 6 | 7 | ## Prerequisites 8 | 9 | Before you start with Full stack development, you should have a fairly good understanding of both frontend and backend development.We have already created roadmaps for both frontend and backend development. 10 | 11 | # Study resources 12 | 13 | - [Frontend roadmap](https://github.com/WeMakeDevs/roadmaps/tree/main/Frontend-Development) 14 | - [Backend roadmap](https://github.com/WeMakeDevs/roadmaps/tree/main/Backend-Development) 15 | 16 | ## Learn Typescript 17 | 18 | TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.Think of it as javascript but with type safety. 19 | 20 | # Study resources 21 | 22 | - [Typescript docs](https://www.typescriptlang.org/docs/) 23 | - [Freecodecamp - Typescript tutorial](https://www.youtube.com/watch?v=30LWjhZzg50&t=777s) 24 | - [The net ninja Typescript tutorial](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gUgr39Q_yD6v-bSyMwKPUI) 25 | 26 | ## Learn Advance GitHub Features 27 | 28 | It's used for storing, tracking, and collaborating on software projects. It makes it easy for developers to share code files and collaborate with fellow developers on open-source projects.Learning advance features will help you collaborating more effeciently with other fellow developers. 29 | 30 | # Study resources 31 | 32 | - [Github pages](https://www.typescriptlang.org/docs/) 33 | - [Github actions](https://www.youtube.com/watch?v=30LWjhZzg50&t=777s) 34 | - [Publishing packages](https://www.youtube.com/playlist?list=PL4cUxeGkcC9gUgr39Q_yD6v-bSyMwKPUI) 35 | 36 | ## Learn about Cloud service providers 37 | 38 | Cloud service providers are companies that establish public clouds, manage private clouds, or offer on-demand cloud computing components (also known as cloud computing services) like Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service(SaaS). Cloud services can reduce business process costs when compared to on-premise IT. 39 | 40 | # Study resources 41 | 42 | - [AWS](https://docs.aws.amazon.com/) 43 | - [Azure](https://learn.microsoft.com/en-us/azure/?product=popular) 44 | - [Google cloud](https://cloud.google.com/training?hl=en) 45 | - [IBM](https://www.ibm.com/training/cloud) 46 | 47 | ## Learn GraphQL 48 | 49 | GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools. 50 | 51 | # Study resources 52 | 53 | - [GraphQl docs](https://graphql.org/) 54 | - [Freecodecamp - GraphQl tutorial](https://www.youtube.com/watch?v=ed8SzALpx1Q) 55 | - [Traversy Media - GraphQl tutorial](https://www.youtube.com/watch?v=BcLNfwF04Kw) 56 | 57 | ## Learn CDN 58 | 59 | A content delivery network, or content distribution network, is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially relative to end users. 60 | 61 | # What is CDN 62 | 63 | - [Resource 1](https://www.cloudflare.com/en-in/learning/cdn/what-is-a-cdn/) 64 | - [Resource 2](https://www.hostinger.in/tutorials/what-is-cdn) 65 | - [Resource 3](https://www.youtube.com/watch?v=Bsq5cKkS33I) 66 | 67 | ## Learning scaling 68 | 69 | It can be defined as a process to expand the existing configuration (servers/computers) to handle a large number of user requests or to manage the amount of load on the server. This process is called scalability. 70 | 71 | - [App server scaling](https://www.youtube.com/watch?v=xUumgxZ04SM) 72 | - [Web app archietecture](https://www.youtube.com/watch?v=sDlCSIDwpDs) 73 | - [Types of scaling](https://www.youtube.com/watch?v=xpDnVSmNFX0) 74 | 75 | ## Deploying on web servers 76 | 77 | Software deployment is all of the activities that make a software system available for use. The general deployment process consists of several interrelated activities with possible transitions between them. 78 | 79 | - [Deploy a MERN project on heroku](https://www.freecodecamp.org/news/deploying-a-mern-application-using-mongodb-atlas-to-heroku/) 80 | - [Linux server setup and MERN deployment](https://www.youtube.com/watch?v=7aRjGIhwyQM) 81 | - [Full node js deployment](https://www.youtube.com/watch?v=oykl1Ih9pMg&feature=youtu.be) 82 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Builders Chain 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ML-AI/README.md: -------------------------------------------------------------------------------- 1 | # Complete Roadmap for Data Science, ML and AI 2 | 3 |

4 | As we know Data Science, Machine Learning and Artificial Intelligence are hot topics nowadays, but few are telling you the exact path to cover or learn things in a simple way. So that’s why we cover all the paths for you to become an expert in the domain. So let’s get started! 5 |

6 |
7 | 8 | 9 |

10 | 11 | 1. Python Programming 12 | 13 |

14 | 15 | 16 |

17 | Python Programming is one of high level language with multiple application in today's world. It is the easy to learn, available at every platform with same functionality and interpreted language. 18 |

19 |
20 | 21 | 22 |

23 | Some Reading Resource: 24 |

25 |
26 | 27 | geeksforgeeks 28 | 29 | 30 | w3schools 31 | 32 | 33 | pythonTutorial 34 | 35 | 36 | JavaTpoint 37 | 38 |
39 |
40 | 41 | 42 | ![giphy](https://user-images.githubusercontent.com/87495134/223048374-387a1bfb-0f5b-4bdb-b86b-facbc24168ec.gif) 43 | 44 | 45 |
46 | 47 | 48 |

49 | 50 | 2. Exploratory Data Analysis (EDA) 51 | 52 |

53 | 54 | 55 |
56 |

57 | Exploratory data analysis is an approach to analyzing data sets to summarize their main characteristics, often using statistical graphics and other data visualization methods. we can say that it is a technique to Analyze or visualize data in a much efficient way so that it makes a more meaningful. 58 |

59 | 60 |

61 | Some Reading Resource: 62 |

63 |
64 | 65 | 66 | 67 | 68 | w3schools 69 | 70 | 71 | geeksforgeeks 72 | 73 | 74 | ![VxwKjYQ](https://user-images.githubusercontent.com/87495134/223048682-fc4f9bea-df3f-4133-96b4-0682acb4e061.gif) 75 | 76 |

77 | 78 | 3. Feature Engineering 79 | 80 |

81 | 82 |
83 |

84 | Feature engineering is the process of using domain knowledge to extract features from raw data via data mining techniques. These features can be used to improve the performance of machine learning algorithms. 85 | 86 | Techniques: 87 | - Handling Missing Value 88 | - Handling Outlier 89 | - Categorical Encoding 90 | - Normalization and Standardization 91 |

92 |
93 | 94 | ![1_7w7c8yS70eHR74qgBJJu8Q](https://user-images.githubusercontent.com/87495134/223048953-bcfc5d21-0037-43f9-bcc2-4df6dc366520.gif) 95 | 96 |
97 | 98 |

99 | 100 | 4. Feature Selection 101 | 102 |

103 | 104 |
105 |

106 | In machine learning and statistics, feature selection, also known as variable selection, attribute selection, or variable subset selection, is the process of selecting a subset of relevant features for use in model construction. Simply we can say that to select the right feature for our machine learning model. 107 | 108 | Techniques: 109 | - Correlation 110 | - Forward Elimination or Backward Elimination 111 | - Univariate selection 112 | - Random forest importance 113 | - Feature Selection with Decision Tree 114 |

115 |
116 | 117 | ![1_550VHDZpV8DFrfOqnP9qBg](https://user-images.githubusercontent.com/87495134/223049081-1e79fac5-df35-4885-aa9e-93d56d4fc6dc.gif) 118 | 119 |
120 | 121 |

122 | 123 | 5. Machine Learning 124 | 125 |

126 | 127 |
128 |

129 | Machine learning is the study of computer algorithms that improve automatically through experience and by the use of data. It is seen as a part of artificial intelligence. 130 | 131 | Supervised Learning algorithms: 132 | - Linear Regression 133 | - Ridge and Lasso Regression 134 | - Logistic Regression 135 | - Decision Tree 136 | - Random Forest 137 | - XGboost 138 | - Adaboost 139 | - Gradient Boosting 140 | - Catboost 141 | - Light-Gbm 142 | 143 | Unsupervised Learning algorithms: 144 | - K-means Clustering 145 | - Hierarchical Clustering 146 | - DB-scan Clustering 147 | - Silhouette Clustering 148 |

149 |
150 | 151 | ![0_PuscwCsUr09xZ0SJ](https://user-images.githubusercontent.com/87495134/223049344-c336ccd3-2914-445e-9736-1145f6147687.gif) 152 | 153 |
154 |

155 | 156 | 6. Hyperparmameter Tuning 157 | 158 |

159 | 160 |
161 |

162 | In machine learning, hyperparameter optimization or tuning is the problem of choosing a set of optimal hyperparameters for a learning algorithm. A hyperparameter is a parameter whose value is used to control the learning process. By contrast, the values of other parameters (typically node weights) are learned. 163 | 164 | Techniques: 165 | - Grid Search-cv 166 | - Randomized search-cv 167 | - Hyperopt 168 | - Optuna 169 | - Genetic Algorithm 170 |

171 |
172 | 173 | ![1_UMtPi1QBHpfE4iF_egJ8sQ](https://user-images.githubusercontent.com/87495134/223049539-59fa3927-787b-40d5-8382-831b8aa105e5.gif) 174 | 175 |
176 |

177 | 178 | 7. Docker 179 | 180 |

181 | 182 |
183 |

184 | Docker is a set of the platform as service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries, and configuration files; they can communicate with each other through well-defined channels. 185 |

186 |
187 | 188 | ![0_tz9m5jCHLFpEsTV_](https://user-images.githubusercontent.com/87495134/223047048-1e81c172-0bbf-4a4e-b2eb-93d7930bfe2b.gif) 189 | 190 |
191 |

192 | 193 | 8. Kubernetes 194 | 195 |

196 | 197 |
198 |

199 | Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation. 200 |

201 |
202 | 203 | ![0_GdJIbmPH1JLSLSj1](https://user-images.githubusercontent.com/87495134/223049670-f749060b-5d17-4165-8911-276d5f78c150.gif) 204 | 205 |

206 | 207 | 9. Deployment 208 | 209 |

210 | 211 |
212 |

213 | 214 | Learn deployment techniques about how to deploy an ml project on cloud services like: 215 | - AWS 216 | - AZURE 217 | - GCP 218 | 219 |

220 |
221 | 222 | ![1_OMGcgxjpMa5bCu0gnemceg](https://user-images.githubusercontent.com/87495134/223049795-1a09b755-2c3c-4b3c-b07e-48798835ae21.gif) 223 | 224 |
225 | 226 |

227 | This is the complete path to master machine learning from end to end, hope this roadmap helps you to achieve your goal. 228 |

229 |
230 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

BuildersChain

4 |

5 | 6 |
7 | 8 | 9 | 10 | # Developer Roadmap 11 | Welcome to the Developer Roadmap! This guide is designed to help aspiring developers and established professionals alike to understand the key skills, technologies, and methodologies required for building software applications. Whether you are just starting out on your developer journey, or you are an experienced coder looking to expand your knowledge, this roadmap will provide you with a comprehensive overview of the landscape. 12 | 13 | 14 | ### [View all Roadmaps](https://github.com/BuildersChain/Developers-Roadmap) 15 | 16 | ![](https://i.imgur.com/waxVImv.png) 17 | 18 | Here is the list of available roadmaps with more being actively worked upon. 19 | 20 | - [Frontend Roadmap](https://github.com/BuildersChain/Developers-Roadmap/tree/main/Frontend-Developer) 21 | 22 | - [Backend Roadmap](https://github.com/BuildersChain/Developers-Roadmap/tree/main/Backend-Developer) 23 | 24 | - [Blockchain Roadmap](https://github.com/BuildersChain/Developers-Roadmap/tree/main/WEB3-Developer) 25 | 26 | - [AI - ML Roadmap](https://github.com/BuildersChain/Developers-Roadmap/tree/main/ML-AI) 27 | 28 | - [JavaScript Roadmap](https://github.com/BuildersChain/Developers-Roadmap/blob/main/Frontend-Developer/JavaScript/Javascript-roadmap.md) 29 | 30 | - [Android Roadmap](https://github.com/BuildersChain/Developers-Roadmap/tree/main/Android%20Developer) 31 | 32 | - [DevRel Roadmap](https://github.com/BuildersChain/Developers-Roadmap/tree/main/DevRel) 33 | 34 | 35 | ## Share with the community 36 | 37 | Please consider sharing a post about [BuildersChain](https://github.com/BuildersChain) and the value it provides. It really does help! 38 | 39 | [![GitHub Repo stars](https://img.shields.io/badge/share%20on-twitter-03A9F4?logo=twitter)](https://twitter.com/builderschain) 40 | [![GitHub Repo stars](https://img.shields.io/badge/share%20on-linkedin-3949AB?logo=linkedin)](https://www.linkedin.com/company/builderschain) 41 | 42 | 43 | ## Contribution 44 | 45 | > Have a look at [contribution docs](./CONTRIBUTING.md) for how to update any of the roadmaps 46 | 47 | - Add content to roadmaps 48 | - Add new roadmaps 49 | - Suggest changes to existing roadmaps 50 | - Discuss ideas in issues 51 | - Spread the word 52 | 53 | 54 | 55 | 106 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | > This page is under development 4 | 5 | ## Supported Versions 6 | 7 | Use this section to tell people about which versions of your project are 8 | currently being supported with security updates. 9 | 10 | | Version | Supported | 11 | | ------- | ------------------ | 12 | | 5.1.x | :white_check_mark: | 13 | | 5.0.x | :x: | 14 | | 4.0.x | :white_check_mark: | 15 | | < 4.0 | :x: | 16 | 17 | ## Reporting a Vulnerability 18 | 19 | Use this section to tell people how to report a vulnerability. 20 | 21 | Tell them where to go, how often they can expect to get an update on a 22 | reported vulnerability, what to expect if the vulnerability is accepted or 23 | declined, etc. 24 | -------------------------------------------------------------------------------- /WEB3-Developer/README.md: -------------------------------------------------------------------------------- 1 | # Blockchain Roadmap: Zero to Hero!! 2 | 3 | 4 | 5 | ## Roadmap to deep dive into Blockchain 6 | **Its not surprising to see the growth in blockchain or Web3 space.** It offers so many features those were not in the earlier webs (web1.0 and web2.0), Indeed, Blockchain is one of the top emerging technology domains in the present scenario of **Tech industry**. And as a result we have massive demand for blockchain developers. So don't u think this is the right time to deep dive into this field. 7 | 8 | If yes then you're on the right place😎🚀 This blog is written by an intension to provide all the crucial details that are required for folks to deep dive into this industry, so without further delay let's get in!! 9 | 10 | ## Why we need Blockchain? 11 | Blockchain technology integrates a peer to peer network between a large number of computers of users where each user's system acts like a node and hence these computers collectively work together and build an integrated network which eliminate the **centralized** web and offers **decentralized** working. 12 | 13 |

14 | 15 |

16 | 17 | This Decentralized network eliminates the third party and makes the whole working of the web much more **transparent!** 18 |
19 | 20 | > Blockchain Developers can be classified into two types- Blockchain Software Developer and Core Blockchain Developers. Now let's take a look at the roles and responsibilities 21 | 22 | 23 | ### Core Blockchain Developer: 24 | - Design and monitors the network architecture 25 | - Implement various blockchain features & functionality 26 | - Design the Blockchain protocols and consensus protocols. 27 | 28 | ### Blockchain Software Developer 29 | - Develops APIs for Blockchain integration. 30 | - Develop & Implement Smart Contracts, etc. 31 | - Develop the frontend and backend of Decentralized Applications. 32 | 33 | > _Now as you've got through some basic knowledge of Blockchain and their job profiles. Now let's see how can you jump into this field and become a successful Blockchain Engineer._ 34 | 35 | ### 1. Learn about Computer Science fundamentals. 36 | Before going much deeper into blockchain and writing code, You should acquire knowledge of Computer Science fundamentals like: **Databases and their Management, Computer Networks and Protocols, Operating Systems, Object Oriented Programming and Etc.** 37 | 38 | For this below are some resources to learn about them thoroughly: 39 | 40 | * [Computer Science fundaments](https://engineering-computer-science.wright.edu/computer-science-and-engineering/computer-science-fundamentals-course-cs5160) 41 | * [Teach Yourself Computer Science](https://teachyourselfcs.com/) 42 | * [Best way to learn CS fundamentals](https://medium.com/javarevisited/8-best-computer-science-courses-for-beginners-to-learn-online-696379aa4e96) 43 | * [Be certified CS Learner](https://www.coursera.org/specializations/cs-fundamentals) 44 | * [Learn CS fundaments](https://www.learncomputerscienceonline.com/) 45 | 46 |

47 | 48 |

49 | 50 | > **After getting the crucial knowledge of CS fundamentals, Its time get proficient with programming and other skills.** 51 | ### 2. Learn how web works and Network security. 52 | 53 | once you're done with Computer Science fundamentals. Learn about cryptography and steganography, Network security concepts like encryption, Decryption, Integrity, non-repudiation, and how a system can be hacked and spoofed by a non-ethical hacker and what measures should we use to minimize the risk of cyber attacks. 54 | 55 |

56 | 57 |

58 | 59 | 60 | ### 3. Learn basics of Blockchain 61 | Once you're enough confident with your computer science fundamentals, now its time to dive deeper into the concepts of blockchain like what are **Smart Contract, DApps, DeFis, EVM chain, Distributed Ledger Technology, Hashing, Cryptography and etc.** You need to learn about Bitcoin, Ethereum and other crucial concepts such as public and private approaches, Decentralization, trustlessness, and etc. For this you can use various online courses and official documentation. 62 | 63 |

64 | 65 |

66 | 67 | 68 | ### 4. Learn about Smart Contracts and Solidity 69 | > _**A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document legally-relevant events and actions according to the terms of contract or an agreement.**_ 70 |

71 | 72 |

73 | 74 | _Using reference of [Investopedia](https://www.investopedia.com/terms/s/smart-contracts.asp) "A smart contract is a self-executing contract with the terms of the agreement between buyer and seller being directly written into lines of code. The code and the agreements contained therein exist across a distributed, decentralized **Blockchain** network."_ 75 | 76 | 77 |

78 | 79 |

80 | 81 | 82 | **Learn Solidity programming language in which Smart Contracts are mostly written for EVM compatible chains.** you can also learn blockchain for non-EVM compatible chains and for that u can use Solana and other **blockchains**. moreover if you wish to write Smart Contracts in other language then u can use Vyper as an alternative for **Solidity**, but solidity is more versatile and widely used. 83 | 84 | 85 | 86 | ### 5. Learn Web framework to make DApps 87 | You can become a blockchain by only following the above written steps but if you wish to also run your app on the blockchain then you must learn **Web Development**. you should learn some basics for web development like **HTML, CSS, JavaScript** I would highly suggest you to everyone reading this blog to learn JavaScript, because doing so will really help you to get more exposure in the field. 88 | 89 |

90 | 91 |

92 | 93 | Learn some framework based on JavaScript You can learn: React.js, Angular.js, learn some databases like MongoDB and for backend learn Node.js. 94 | After following all the above steps, you're good to go!! 95 | 96 | **Now the last but the most important step is:** 97 | 98 | ### 6. Make projects and Learn along with it. 99 | Now as you've done with basic knowledge of blockchain, keep this in mind to follow project bases learning and make projects along with your learning journey to showcase yourself and your skills in the Tech Industry! 100 | 101 |

102 | 103 |

104 | Join developer communities and being active in those will be really helpful!! 105 |
106 | 107 | ## WEB3 Developer Guide🔥🔥 108 | [click here](https://github.com/kartikver15gr8/WEB3-For-All#readme) 109 | --------------------------------------------------------------------------------