{"id":13766618,"url":"https://github.com/srce/roadmap","last_synced_at":"2025-05-10T22:31:17.524Z","repository":{"id":39777114,"uuid":"196887695","full_name":"srce/roadmap","owner":"srce","description":"Knowledge Roadmap Framework (alpha)","archived":false,"fork":false,"pushed_at":"2023-07-22T19:09:35.000Z","size":63134,"stargazers_count":159,"open_issues_count":3,"forks_count":18,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-18T17:59:50.378Z","etag":null,"topics":["developer-roadmap","edu","engineer-roadmap","golang","java","php","python","roadmap","ruby"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-07-14T22:03:44.000Z","updated_at":"2024-04-18T01:39:00.000Z","dependencies_parsed_at":"2023-01-21T04:00:36.848Z","dependency_job_id":"f19f5b43-6c49-4676-9b07-48fdeaacaae3","html_url":"https://github.com/srce/roadmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srce%2Froadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srce%2Froadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srce%2Froadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srce%2Froadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srce","download_url":"https://codeload.github.com/srce/roadmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253492529,"owners_count":21916959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-roadmap","edu","engineer-roadmap","golang","java","php","python","roadmap","ruby"],"created_at":"2024-08-03T16:00:58.425Z","updated_at":"2025-05-10T22:31:15.539Z","avatar_url":"https://github.com/srce.png","language":"Python","readme":"# Roadmap Core\n\nThis project was created by engineers which were motivated by the idea to describe the graphs of the main knowledge/skills\nof different types of engineers which in turn provides a way to develop these graphs\nby the community and by the approach which engineers prefer.\n\n## Need\n\nIn development teams with official mentoring and level assessments it's important to have a shared understanding of the process. To handle it, teams usually create knowledge roadmaps if form of spreadsheet with subjects and skills for a particular stack, and store it in a cloud.\nThe issue here is that every developer, regardless of the programming language he uses, has to cover common subject areas, such as computer science, databases, etc. For 10+ stacks changing one skill in a common subject area means you have to manually edit 10+ spreadsheets. That prompts loss of uniformity of content and structure. For developers, who are used to a well-established change process, it discourages further collaboration and improvement of the roadmaps.\n\n## Vision\n\nFor developers, Skill Matrix is a module that allows to create and collaborate on knowledge roadmaps. A roadmap is compiled from several subject areas, which are described in separate XML files. This allows to reuse components and to populate a change made in one subject into all roadmaps using it.\nSkill Matrix allows to compile a roadmap in a XML syntax, visualize it in form of graph, and convert it to Markdown file and spreadsheet, thus covering all desirable representation formats. As a git project, it establishes an adaptable process for change and collaboration.\n\n## Scope of Initial Release\n\n### Skill Matrix includes\n\n- A collection of Subject Roadmaps, described in custom XMLgraph notation.\n- A collection of learning Materials for subjects, described in XMLgraph notation.\n- A collection of Stack Roadmaps, which specify relevant subjects for the stacks:\n  - [Go](#golang)\n  - [Java](#java)\n  - [Ruby](#ruby)\n  - [PHP](#php)\n  - [Python](#python)\n\n### A collection of Tools\n\n- [xmlg2dot](tools/xmlg2dot.py) is a tool for converting Roadmap.xml files to DOT syntax. Uses xmlgraph.py\n- [xmlg2md](tools/xmlg2md.py) is a tool for converting Materials.xml files to DOT syntax. Uses xmlgraph.py and materials.py\n- [Makefile](Makefile) is a major tool that generates Stack Roadmaps and saves them as PNG, SVG, DOT and generated Materials maps and saves them as MD. Uses all tools above.\n- [xmlgraph.py](tools/xmlgraph.py) is a library for parsing Roadmap files\n- [materials.py](tools/materials.py) is a library for parsing Materials files\n\n## Scope of Future Releases\n\nFor future development of the project the following options are considered:\nElaboration on roadmaps structure, adding learning materials.\nCreating a tool to check errors in files, such as invalid links in materials files.\nCreating roadmaps for other stacks: Python, Ruby, Java Script, .NET C#, Scala, etc.\nAdding sets of interview questions for subjects and skills (similar to materials).\n\n## Roadmaps\n\n### Golang\n\n- [SVG](stacks/go/data/roadmap.svg) and [PNG](stacks/go/data/roadmap.png) maps\n- [Materials](stacks/go/data/roadmap.md)\n- [DOT](stacks/go/data/roadmap.dot) version\n- [XML](stacks/go/roadmap.xml)\n\n### Java\n\n- [SVG](stacks/java/data/roadmap.svg) and [PNG](stacks/java/data/roadmap.png) maps\n- [Materials](stacks/java/data/roadmap.md)\n- [DOT](stacks/java/data/roadmap.dot) version\n- [XML](stacks/java/roadmap.xml)\n\n### Ruby\n\n- [SVG](stacks/ruby/data/roadmap.svg) and [PNG](stacks/ruby/data/roadmap.png) maps\n- [Materials](stacks/ruby/data/roadmap.md)\n- [DOT](stacks/ruby/data/roadmap.dot) version\n- [XML](stacks/ruby/roadmap.xml)\n\n### PHP\n\n- [SVG](stacks/php/data/roadmap.svg) and [PNG](stacks/php/data/roadmap.png) maps\n- [Materials](stacks/php/data/roadmap.md)\n- [DOT](stacks/php/data/roadmap.dot) version\n- [XML](stacks/php/roadmap.xml)\n\n### Python\n\n- [SVG](stacks/python/data/roadmap.svg) and [PNG](stacks/python/data/roadmap.png) maps\n- [Materials](stacks/python/data/roadmap.md)\n- [DOT](stacks/php/python/roadmap.dot) version\n- [XML](stacks/python/roadmap.xml)\n\n## For developers\n\n### Prerequisites\n\nBefore you continue, ensure you meet the following requirements:\n\n- You have installed the latest version of [Python 3](https://www.python.org/downloads/)\n- You also have installed [Graphviz](https://www.graphviz.org/download/)\n- And you have a basic understanding of graph theory\n\n### Work\n\nAll changes should be developed in your own feature branch and merge throw the merge request.\nAlso, you should update the project each time you change any XML file by:\n\n```bash\nmake all\n```\n\n## Links\n\n- [Programmer Competency Matrix](http://sijinjoseph.com/programmer-competency-matrix/)\n- [Roadmaps for Developers: Backend Developer](https://roadmap.sh/backend)\n- [Roadmap to becoming a Software Engineer 2018 Edition with Industry Insights: Back-end Roadmap](https://github.com/fauzanbaig/software-engineer-roadmap#-back-end-roadmap)\n","funding_links":[],"categories":["Programming Languages :sunglasses:"],"sub_categories":["Frequently Used"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrce%2Froadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrce%2Froadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrce%2Froadmap/lists"}