Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: kamranahmedse/developer-roadmap
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: UC-ITSC/developer-roadmap
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
Loading
Showing with 630,139 additions and 35 deletions.
  1. +3 −0 .github/FUNDING.yml
  2. +35 −0 .github/ISSUE_TEMPLATE.md
  3. +17 −0 .github/PULL_REQUEST_TEMPLATE.md
  4. +6 −0 .gitignore
  5. +78 −0 CHANGELOG.md
  6. +76 −0 CODE_OF_CONDUCT.md
  7. +35 −0 CONTRIBUTING.md
  8. +19 −0 LICENSE
  9. +46 −31 README.md
  10. BIN img/backend.png
  11. BIN img/devops.png
  12. BIN img/disclaimer.png
  13. BIN img/frontend.png
  14. BIN img/intro.png
  15. BIN img/split.png
  16. +0 −1 project-files/backend-map.json
  17. +0 −1 project-files/devops-map.json
  18. +0 −1 project-files/frontend-map.json
  19. +0 −1 project-files/intro-map.json
  20. +12,134 −0 src/backend-map.json
  21. +14,390 −0 src/devops-map.json
  22. +11,912 −0 src/frontend-map.json
  23. +1 −0 src/intro-map.json
  24. BIN translations/arabic/img/frontend-map.png
  25. BIN translations/arabic/img/intro.png
  26. +21 −0 translations/arabic/readme.md
  27. +11,753 −0 translations/arabic/src/frontend-map.json
  28. +631 −0 translations/arabic/src/intro.json
  29. BIN translations/bengali/img/backend-map.png
  30. BIN translations/bengali/img/intro-map.png
  31. +23 −0 translations/bengali/readme.md
  32. +12,227 −0 translations/bengali/src/backend-map.json
  33. +628 −0 translations/bengali/src/intro-map.json
  34. BIN translations/chinese/img/backend-map.png
  35. BIN translations/chinese/img/devops-map.png
  36. BIN translations/chinese/img/frontend-map.png
  37. +20 −0 translations/chinese/readme.md
  38. +11,487 −0 translations/chinese/src/backend-map.json
  39. +14,383 −0 translations/chinese/src/devops-map.json
  40. +23,363 −0 translations/chinese/src/frontend-map.json
  41. BIN translations/french/img/backend-map.png
  42. BIN translations/french/img/devops-map.png
  43. BIN translations/french/img/frontend-map.png
  44. BIN translations/french/img/intro-map.png
  45. +25 −0 translations/french/readme.md
  46. +12,228 −0 translations/french/src/backend-map.json
  47. +14,329 −0 translations/french/src/devops-map.json
  48. +11,835 −0 translations/french/src/frontend-map.json
  49. +627 −0 translations/french/src/intro-map.json
  50. BIN translations/german/img/frontend.png
  51. +18 −0 translations/german/readme.md
  52. +11,811 −0 translations/german/src/frontend-map.json
  53. BIN translations/hungarian/img/frontend-map.png
  54. BIN translations/hungarian/img/intro-map.png
  55. +22 −0 translations/hungarian/readme.md
  56. +11,857 −0 translations/hungarian/src/frontend-map.json
  57. +627 −0 translations/hungarian/src/intro-map.json
  58. BIN translations/indonesian/img/backend-map.png
  59. BIN translations/indonesian/img/devops-map.png
  60. BIN translations/indonesian/img/frontend-map.png
  61. BIN translations/indonesian/img/intro-map.png
  62. +23 −0 translations/indonesian/readme.md
  63. +12,246 −0 translations/indonesian/src/backend-map.json
  64. +14,336 −0 translations/indonesian/src/devops-map.json
  65. +11,967 −0 translations/indonesian/src/frontend-map.json
  66. +624 −0 translations/indonesian/src/intro-map.json
  67. +18 −0 translations/japanese/README.md
  68. BIN translations/japanese/img/backend-map.png
  69. BIN translations/japanese/img/devops.png
  70. BIN translations/japanese/img/frontend-map.png
  71. +12,306 −0 translations/japanese/src/backend-map.json
  72. +14,415 −0 translations/japanese/src/devops-map.json
  73. +11,797 −0 translations/japanese/src/frontend-map.json
  74. +62 −0 translations/korean/README.md
  75. BIN translations/korean/img/backend.png
  76. BIN translations/korean/img/devops.png
  77. BIN translations/korean/img/frontend.png
  78. BIN translations/korean/img/intro.png
  79. +12,334 −0 translations/korean/src/backend-map.json
  80. +14,459 −0 translations/korean/src/devops-map.json
  81. +11,982 −0 translations/korean/src/frontend-map.json
  82. +629 −0 translations/korean/src/intro-map.json
  83. BIN translations/persian/img/backend-map.png
  84. BIN translations/persian/img/devops-map.png
  85. BIN translations/persian/img/frontend-map.png
  86. BIN translations/persian/img/intro-map.png
  87. +22 −0 translations/persian/readme.md
  88. +12,209 −0 translations/persian/src/backend-map.json
  89. +14,292 −0 translations/persian/src/devops-map.json
  90. +9,494 −0 translations/persian/src/frontend-map.json
  91. +601 −0 translations/persian/src/intro-map.json
  92. BIN translations/polish/img/backend-map.png
  93. BIN translations/polish/img/devops.png
  94. BIN translations/polish/img/frontend.png
  95. BIN translations/polish/img/intro-map.png
  96. +82 −0 translations/polish/readme.md
  97. +12,245 −0 translations/polish/src/backend-map.json
  98. +14,396 −0 translations/polish/src/devops-map.json
  99. +11,913 −0 translations/polish/src/frontend-map.json
  100. +627 −0 translations/polish/src/intro-map.json
  101. BIN translations/portuguese/img/backend-map.png
  102. BIN translations/portuguese/img/devops-map.png
  103. BIN translations/portuguese/img/frontend-map.png
  104. BIN translations/portuguese/img/intro-map.png
  105. +70 −0 translations/portuguese/readme.md
  106. +12,148 −0 translations/portuguese/src/backend-map.json
  107. +14,407 −0 translations/portuguese/src/devops.map.json
  108. +11,789 −0 translations/portuguese/src/frontend-map.json
  109. +627 −0 translations/portuguese/src/intro-map.json
  110. +30 −0 translations/readme.md
  111. BIN translations/russian/img/backend-map.png
  112. BIN translations/russian/img/devops-map.png
  113. BIN translations/russian/img/frontend-map.png
  114. BIN translations/russian/img/intro-map.png
  115. +18 −0 translations/russian/readme.md
  116. +12,318 −0 translations/russian/src/backend-map.json
  117. +14,356 −0 translations/russian/src/devops-map.json
  118. +11,890 −0 translations/russian/src/frontend-map.json
  119. +627 −0 translations/russian/src/intro-map.json
  120. BIN translations/spanish/img/backend-map.png
  121. BIN translations/spanish/img/devops-map.png
  122. BIN translations/spanish/img/frontend-map.png
  123. BIN translations/spanish/img/intro-map.png
  124. +22 −0 translations/spanish/readme.md
  125. +11,930 −0 translations/spanish/src/backend-map.json
  126. +14,225 −0 translations/spanish/src/devops-map.json
  127. +11,475 −0 translations/spanish/src/frontend-map.json
  128. +543 −0 translations/spanish/src/intro-map.json
  129. BIN translations/turkish/img/backend.png
  130. BIN translations/turkish/img/banner.png
  131. BIN translations/turkish/img/devops.png
  132. BIN translations/turkish/img/disclaimer.png
  133. BIN translations/turkish/img/frontend.png
  134. BIN translations/turkish/img/intro.png
  135. +37 −0 translations/turkish/readme.md
  136. +12,041 −0 translations/turkish/src/backend-map.json
  137. +14,523 −0 translations/turkish/src/devops-map.json
  138. +14,379 −0 translations/turkish/src/frontend-map.json
  139. +1 −0 translations/turkish/src/intro-map.json
  140. BIN translations/ukrainian/img/backend-map.png
  141. BIN translations/ukrainian/img/devops-map.png
  142. BIN translations/ukrainian/img/frontend-map.png
  143. BIN translations/ukrainian/img/intro-map.png
  144. +26 −0 translations/ukrainian/readme.md
  145. +12,192 −0 translations/ukrainian/src/backend-map.json
  146. +14,395 −0 translations/ukrainian/src/devops-map.json
  147. +11,574 −0 translations/ukrainian/src/frontend-map.json
  148. +627 −0 translations/ukrainian/src/intro-map.json
  149. BIN translations/uzbek/img/back-end-map.png
  150. BIN translations/uzbek/img/devops.png
  151. BIN translations/uzbek/img/front-end-map.png
  152. BIN translations/uzbek/img/intro-wireframe.png
  153. +25 −0 translations/uzbek/readme.md
  154. +12,226 −0 translations/uzbek/src/backend-map.json
  155. +14,411 −0 translations/uzbek/src/devops-map.json
  156. +11,898 −0 translations/uzbek/src/frontend-map.json
  157. +627 −0 translations/uzbek/src/intro-map.json
  158. BIN translations/vietnamese/img/backend-map.png
  159. BIN translations/vietnamese/img/frontend-map.png
  160. BIN translations/vietnamese/img/intro-map.png
  161. +22 −0 translations/vietnamese/readme.md
  162. +12,259 −0 translations/vietnamese/src/backend-map.json
  163. +12,018 −0 translations/vietnamese/src/frontend-map.json
  164. +637 −0 translations/vietnamese/src/intro-map.json
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: kamranahmedse
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!--
Please do not remove anything written below.
Fill the details and open the issue. Any issue that
doesn't have all of these filled in will be closed,
if yours is closed reopen with everything filled in.
-->

#### What roadmap is this issue about?

- [ ] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps

#### What is this issue about?

- [ ] Discussion for a pull request I would want to open.
- [ ] Addition of a new item
- [ ] Removal of some existing item
- [ ] Changing in arrangement
- [ ] General suggestion
- [ ] Sharing an Idea
- [ ] Something else

#### Please acknowledge the below listed

- [ ] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [ ] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [ ] I have read the [contribution docs](../contributing.md) before opening this issue.


#### Enter the details about the issue here

<!-- Please enter the issue details here -->
17 changes: 17 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#### What roadmap does this PR target?

- [ ] Frontend Roadmap
- [ ] Backend Roadmap
- [ ] DevOps Roadmap
- [ ] All Roadmaps

#### Please acknowledge the items listed below

- [ ] I have discussed this contribution and got a go-ahead in an issue before opening this pull request.
- [ ] This is not a duplicate issue. I have searched and there is no existing issue for this.
- [ ] I understand that these roadmaps are highly opinionated. The purpose is to not to include everything out there in these roadmaps but to have everything that is most relevant today comparing to the other options listed.
- [ ] I have read the [contribution docs](../contributing.md) before opening this PR.

#### Enter the details about the contribution

<!-- Enter the details here -->
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.DS_Store
._*
Thumbs.db
*.sublime-project
*.sublime-workspace
.idea
78 changes: 78 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
## Roadmap 2021

### General Updates
- Added printable PDFs for the roadmaps: [Frontend Roadmap](https://roadmap.sh/roadmaps/pdf/frontend.pdf), [Backend Roadmap](https://roadmap.sh/roadmaps/pdf/backend.pdf), [DevOps Roadmap](https://roadmap.sh/roadmaps/pdf/devops.pdf)
- Updated [the license](https://github.com/kamranahmedse/developer-roadmap/blob/master/LICENSE) with some additional details
- Added the missing code-of-conduct, issue/pr templates.
- Better legends in roadmaps.
- Updated the disclaimers on the roadmap.

### Frontend Developer Roadmap

- Recommended knowledge of the internet has been added
- Added section for VCS in the roadmap
- Mentioned the knowledge of web security
- Deprioritized the CSS Preprocessors knowledge (priortized the use of CSS-in-JS)
- Moved "SMACSS/OOCSS" out of recommendation and optional knowledge of BEM
- Task runners - Gulp has been marked grey and removed from the "possible options"
- Linters and formatters - removed JSHint and JSLint. Only Knowledge of ESLint and Prettier has been recommended.
- Changed the order for "Module Bundlers". Webpack > Rollup > Parcel
- Removed Radium and Glamorous from the CSS in JS options
- Splits CSS frameworks to component based and CSS first. Also adds Tailwind, Chakra among the notable ones.
- Adds react-testing-library to the testing options available and deprioritizes all except jest, cypress, enzyme and react-testing-library
- Flow has been grayed out in "Type Checkers"
- Server Side Rendering - After.js has been deprioritized
- Adds section for Web Components
- Static Site Generators - Adds Next.js and Gatsby as recommended and Vuepress, Jekyll and Hugo as other options
- Adds flutter and Ionic for the mobile applications
- Updates description for WASM
- Carlo and proton-native have been grayed out from the "Desktop applications"

### Backend Developer Roadmap
- The [old textual look](https://github.com/kamranahmedse/developer-roadmap/tree/347831feaed227f42525e829ccc8d84a22386952#back-end-roadmap) has been gone and the tree has been made thorough. Beginner friendly textual format will be added soon [to the website](https://roadmap.sh)
- Recommended knowledge of the internet has been added
- Added basic frontend knowledge
- Mentioned Web Security
- Recommends OS knowledge, POSIX basics, and some basic terminal usage details
- Languages part has been changed. JavaScript has been made the "Personal recommendation" and others as options available.
- Adds VCS/Git section
- Recommends additional database knowledge (i.e. ORMs, ACID, Transactions, N+1, Normalization, Indexes)
- APIs section has been expanded with REST, JSON, SOAP, HATEOAS, Open API Spec
- More authentication strategies have been added to the API authentication
- Caching section now has CDN and client Side caching sections
- Architectural patterns have been added
- GraphQL has been added
- New section has been added "Building for Scale"

### DevOps Roadmap

- Adds Networking Concepts and POSIX Basics in OS Concepts
- Expands the Operating Systems
- Adds `netstat` in the "Learn to Live in Terminal" section
- Adds terminal multiplexers (screen, tmux)
- Adds SSH + Port Forwarding into Network and Security section
- Adds startup and service management (initd, systemd) knowledge under OS concepts
- Renames ELK Stack to Elastic Stack
- Adds Linode, Vultr and Alibaba Cloud to "Service Providers"
- Renames ELK Stack to "Elastic Stack"
- CI/CD - Adds Gitlab CI, GitHub Actions, Bamboo and Azure DevOps Services
- Adds prometheus and Grafana under infra monitoring
- Adds OpenTracing, Jaegar and Instana in app monitoring
- Adds Pulumi under Infrastructure Provisioning
- Adds optional knowledge about Emails
- Fixes typos

## Roadmap 2019
* [Frontend Developer Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/347831feaed227f42525e829ccc8d84a22386952#frontend-roadmap)
* [Backend Developer Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/347831feaed227f42525e829ccc8d84a22386952#back-end-roadmap)
* [DevOps Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/347831feaed227f42525e829ccc8d84a22386952#devops-roadmap)

## Roadmap 2018
* [Frontend Developer Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/67a72aab113e79c11e292ada394606f079f6a263#-frontend-roadmap)
* [Backend Developer Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/67a72aab113e79c11e292ada394606f079f6a263#-back-end-roadmap)
* [DevOps Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/67a72aab113e79c11e292ada394606f079f6a263#-devops-roadmap)

## Roadmap 2017
* [Frontend Developer Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/ee2b3e5de0e2a9ccccf3f2bbe4687f150df976f4#-front-end-roadmap)
* [Backend Developer Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/ee2b3e5de0e2a9ccccf3f2bbe4687f150df976f4#-back-end-roadmap)
* [DevOps Roadmap](https://github.com/kamranahmedse/developer-roadmap/tree/ee2b3e5de0e2a9ccccf3f2bbe4687f150df976f4#-devops-roadmap)
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies within all project spaces, and it also applies when
an individual is representing the project or its community in public spaces.
Examples of representing a project or community include using an official
project e-mail address, posting via an official social media account, or acting
as an appointed representative at an online or offline event. Representation of
a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at <kamranahmed.se@gmail.com>. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
35 changes: 35 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
## The Goal
Our goal is not to have the biggest list of everything available out there.
Our goal is to have a list of things that anybody would have to learn if they were to enter the field today.

## Contributing

Your contributions to this repo are always welcome!
Bear in mind, that this repo is *highly opinionated*, *unbiased* and *curated*.
Your opinion on value of any resource may not match the opinion of curator.

**Please make sure to open an issue to discuss before you open a PR!**

## How are these roadmaps made?

> Roadmaps are made using [Balsamiq](https://balsamiq.com/download/)
* Clone the repository
* Open Balsamiq, click <kbd>Project > Import > Mockup JSON</kbd>,
* Copy and paste the JSON for the roadmap that you want to update
* Add your changes
* Export the JSON file <kbd>Project > Export > Mockup to JSON</kbd> and put it in the <kbd>src</kbd> directory
* Export the image <kbd>Project > Export > Current Mockup to PNG</kbd> and put it in the <kbd>images</kbd> directory
* Commits your changes and open a PR

## Guidelines

- <p><strong>Adding everything available out there is not the goal!</strong><br>
The roadmap represents 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.</p>
- <p><strong>One item per Pull Request</strong><br>
There may be a discussion related to an item you want to add. Adding just a single item per pull request makes it much easier for everyone involved.</p>
- Write meaningful commit messages
- Look at the existing issues/pull requests before opening new ones

## Note
By contributing to this project, you agree to the terms listed in the [LICENSE](https://github.com/kamranahmedse/developer-roadmap/blob/master/LICENSE)
19 changes: 19 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Everything including text and images in this project are protected by the copyright laws.
You are allowed to use this material for personal use but are not allowed to use it for
any other purpose including publishing the images, the project files or the content in the
images in any form either digital, non-digital, textual, graphical or written formats.
You are allowed to share the links to the repository or the website roadmap.sh but not
the content for any sort of usage that involves the content of this repository taken out
of the repository and be shared from any other medium including but not limited to blog
posts, articles, newsletters, you must get prior consent from the understated. These
conditions do not apply to the readonly GitHub forks created using the Fork button on
GitHub with the whole purpose of contributing to the project.

Copyright © 2021 Kamran Ahmed <kamranahmed.se@gmail.com>

Please note that I am really flexible with allowing the usage of the content in this
repository. If you reach out to me with a brief detail of why and how you would like
to use this content, there is a good chance that I will allow you to use it. The reason
behind this strictness in the license is to stop the people who have been using these
roadmaps in ill manners e.g. ripping people off with suggesting random affiliate links,
redistributing these roadmaps just for the sake of monetizing the traffic.
Loading