chore: sync content to repo (#9256)

Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-10-20 11:30:15 +05:00
committed by GitHub
co-authored by kamranahmedse
parent b3575a1c9d
commit df3dca4882
97 changed files with 228 additions and 228 deletions
@@ -12,5 +12,5 @@ Visit the following resources to learn more:
- [@article@CAP Theorem - Wikipedia](https://en.wikipedia.org/wiki/CAP_theorem)
- [@article@An Illustrated Proof of the CAP Theorem](https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/)
- [@article@CAP Theorem and its applications in NoSQL Databases](https://www.ibm.com/uk-en/cloud/learn/cap-theorem)
- [@video@What is CAP Theorem?](https://www.youtube.com/watch?v=_RbsFXWRZ10)
- [@article@ACID - Wikipedia](https://en.wikipedia.org/wiki/ACID)
- [@video@What is CAP Theorem?](https://www.youtube.com/watch?v=_RbsFXWRZ10)
@@ -4,5 +4,5 @@ Actor Model is a model that represents actors as the basic unit of a system, the
Visit the following resources to learn more:
- [@video@Actor Model Explained](https://www.youtube.com/watch?v=ELwEdb_pD0k)
- [@article@The actor model in 10 minutes](https://www.brianstorti.com/the-actor-model/)
- [@video@Actor Model Explained](https://www.youtube.com/watch?v=ELwEdb_pD0k)
@@ -5,4 +5,4 @@ Apache Spark is a multi-language engine for executing data engineering, data sci
Visit the following resources to learn more:
- [@official@Apache Spark](https://spark.apache.org/)
- [@feed@Explore top posts about Apache](https://app.daily.dev/tags/apache?ref=roadmapsh)
- [@feed@Explore top posts about Apache](https://app.daily.dev/tags/apache?ref=roadmapsh)
@@ -14,4 +14,4 @@ Visit the following resources to learn more:
- [@official@Opsgenie](https://www.atlassian.com/software/opsgenie)
- [@official@Advanced Roadmaps for Jira](https://www.atlassian.com/software/jira/features/roadmaps)
- [@official@Jira Align](https://www.atlassian.com/software/jira/align)
- [@feed@Explore top posts about Atlassian](https://app.daily.dev/tags/atlassian?ref=roadmapsh)
- [@feed@Explore top posts about Atlassian](https://app.daily.dev/tags/atlassian?ref=roadmapsh)
@@ -22,4 +22,4 @@ Visit the following resources to learn more:
- [@video@A Developers Guide to SAML](https://www.youtube.com/watch?v=l-6QSEqDJPo)
- [@video@SAML 2.0: Technical Overview](https://www.youtube.com/watch?v=SvppXbpv-5k)
- [@video@An Illustrated Guide to OAuth and OpenID Connect](https://www.youtube.com/watch?v=t18YB3xDfXI)
- [@video@OAuth 2.0 & OpenID Connect (OIDC): Technical Overview](https://www.youtube.com/watch?v=rTzlF-U9Y6Y)
- [@video@OAuth 2.0 & OpenID Connect (OIDC): Technical Overview](https://www.youtube.com/watch?v=rTzlF-U9Y6Y)
@@ -5,4 +5,4 @@ The guide to the Business Analysis Body of Knowledge (BABOK Guide) is a book fro
Visit the following resources to learn more:
- [@official@Babok](https://www.iiba.org/career-resources/a-business-analysis-professionals-foundation-for-success/babok/)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/A_Guide_to_the_Business_Analysis_Body_of_Knowledge)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/A_Guide_to_the_Business_Analysis_Body_of_Knowledge)
@@ -1,15 +1,17 @@
# BPM BPEL
## BPM: Business Process Management
BPM: Business Process Management
--------------------------------
Medium or large enterprises needs robust processes to streamline their business needs by reducing the cost incurred per process and diminishing the turn around time for each activity.
To achieve the above, there are various BPM tools like PEGA, IBM BPM, Appian, etc. Basically these tools automate the processes through a robust process modelling and implementation.
Medium or large enterprises needs robust processes to streamline their business needs by reducing the cost incurred per process and diminishing the turn around time for each activity. To achieve the above, there are various BPM tools like PEGA, IBM BPM, Appian, etc. Basically these tools automate the processes through a robust process modelling and implementation.
## BPMN: Business Process Management Notations
BPMN: Business Process Management Notations
-------------------------------------------
Its is a standard for representing business processes graphically. While modelling the process, the notations used are complied with BPMN (there are other like EPC, etc.). So BPMN is a standard notation that BPM consultants follow to model the business process. BPMN has versions and now BPMN 2.0 is the standard one.
## BPEL : Business Process Execution Language
BPEL : Business Process Execution Language
------------------------------------------
Programmers use BPEL to define how a business process that involves web services will be executed. BPEL messages are typically used to invoke remote services, orchestrate process execution and manage events and exceptions. BPEL is often associated with Business Process Management Notation. In many organizations, analysts use BPMN to visualize business processes and developers transform the visualizations to BPEL for execution.
@@ -17,4 +19,4 @@ Visit the following resources to learn more:
- [@article@What is BPM?](https://www.redhat.com/en/topics/automation/what-is-business-process-management)
- [@article@BPEL described](https://www.ibm.com/docs/en/baw/19.x?topic=SS8JB4_19.x/com.ibm.wbpm.wid.main.doc/prodoverview/topics/cbpelproc.html)
- [@video@BPM vs BPEL](https://www.youtube.com/watch?v=V6nr5dnb1JQ)
- [@video@BPM vs BPEL](https://www.youtube.com/watch?v=V6nr5dnb1JQ)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@article@CI/CID - GitHub](https://github.com/resources/articles/devops/ci-cd)
- [@article@What is CI/CD? - Redhat](https://www.redhat.com/en/topics/devops/what-is-ci-cd)
- [@article@Continuous Integration and Continuous Delivery Explained](https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html)
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh)
- [@feed@Explore top posts about CI/CD](https://app.daily.dev/tags/cicd?ref=roadmapsh)
@@ -5,4 +5,4 @@ Client-server architecture is a computing model that separates tasks or workload
Visit the following resources to learn more:
- [@article@What is Client-Server Architecture](https://www.simplilearn.com/what-is-client-server-architecture-article)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
@@ -5,4 +5,4 @@ These design patterns are useful for building reliable, scalable, secure applica
Visit the following resources to learn more:
- [@article@Cloud Design Patterns](https://learn.microsoft.com/en-us/azure/architecture/patterns/)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
- [@feed@Explore top posts about Cloud](https://app.daily.dev/tags/cloud?ref=roadmapsh)
@@ -9,6 +9,6 @@ Visit the following resources to learn more:
- [@article@chroot](https://en.wikipedia.org/wiki/Chroot)
- [@article@What are Containers?](https://cloud.google.com/learn/what-are-containers)
- [@article@What is a Container?](https://www.docker.com/resources/what-container/)
- [@video@What are Containers?](https://www.youtube.com/playlist?list=PLawsLZMfND4nz-WDBZIj8-nbzGFD4S9oz)
- [@article@Articles about Containers - The New Stack](https://thenewstack.io/category/containers/)
- [@feed@Explore top posts about Containers](https://app.daily.dev/tags/containers?ref=roadmapsh)
- [@video@What are Containers?](https://www.youtube.com/playlist?list=PLawsLZMfND4nz-WDBZIj8-nbzGFD4S9oz)
- [@feed@Explore top posts about Containers](https://app.daily.dev/tags/containers?ref=roadmapsh)
@@ -5,4 +5,4 @@ CQRS (Segregation of Responsibility for Command Queries) is an architecture patt
Visit the following resources to learn more:
- [@article@CQRS](https://martinfowler.com/bliki/CQRS.html)
- [@article@Introduction to CQRS](https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs)
- [@article@Introduction to CQRS](https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs)
@@ -4,4 +4,4 @@ It is based on the assumption that every system should take care of a concern in
Visit the following resources to learn more:
- [@article@Toptal Developers Website](https://www.toptal.com/data-science/data-warehouse-concepts-principles)
- [@article@Toptal Developers Website](https://www.toptal.com/data-science/data-warehouse-concepts-principles)
@@ -6,12 +6,12 @@ In terms of object-oriented programming, it means that the structure and languag
DDD connects the implementation to an evolving model and it is predicated on the following goals:
- Placing the project's primary focus on the core domain and domain logic;
- Basing complex designs on a model of the domain;
- Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
* Placing the project's primary focus on the core domain and domain logic;
* Basing complex designs on a model of the domain;
* Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
Visit the following resources to learn more:
- [@article@DDD Starter Modelling Process](https://github.com/ddd-crew/ddd-starter-modelling-process/)
- [@article@Domain Driven Design Quickly](https://web.archive.org/web/20230606035225/https://matfrs2.github.io/RS2/predavanja/literatura/Avram%20A,%20Marinescu%20F.%20-%20Domain%20Driven%20Design%20Quickly.pdf)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
@@ -6,4 +6,4 @@ When making decisions, evaluate multiple options to ensure thorough analysis and
Visit the following resources to learn more:
- [@article@Decision Making - Wikipedia](https://en.wikipedia.org/wiki/Decision-making)
- [@article@Decision Making - Wikipedia](https://en.wikipedia.org/wiki/Decision-making)
@@ -1,10 +1,10 @@
# Design and Architecture
Good design in software architecture blends theoretical knowledge with practical experience. Theoretically, architects should master fundamental design patterns, such as those detailed in *"Design Patterns: Elements of Reusable Object-Oriented Software"*, which remain foundational for modern architecture. Advanced knowledge of patterns and anti-patterns, like those in *"Enterprise Integration Patterns"*, extends this understanding. Architects must also focus on quality measures, ensuring designs meet non-functional requirements like scalability, security, and adaptability.
Good design in software architecture blends theoretical knowledge with practical experience. Theoretically, architects should master fundamental design patterns, such as those detailed in _"Design Patterns: Elements of Reusable Object-Oriented Software"_, which remain foundational for modern architecture. Advanced knowledge of patterns and anti-patterns, like those in _"Enterprise Integration Patterns"_, extends this understanding. Architects must also focus on quality measures, ensuring designs meet non-functional requirements like scalability, security, and adaptability.
Practically, architects improve by experimenting with various technology stacks, gaining insights into their strengths and limitations. Exploring frameworks like Angular reveals real-world pattern applications, such as Observables, and fosters deeper understanding through hands-on coding. Attending user groups and engaging in communities, like those on Meetup, broadens perspectives and encourages curiosity, enabling architects to stay updated and continuously refine their craft.
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Software Design Roadmap](https://roadmap.sh/software-design-architecture)
- [@opensource@Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans)
- [@opensource@Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@Free Distributed Systems book from Maarten van Steen](https://www.distributed-systems.net/index.php/books/ds3/)
- [@article@Distributed Architectures](https://estuary.dev/distributed-architecture/)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@Enterprise Software Architecture](https://medium.com/@hsienwei/enterprise-software-architecture-957288829daa)
- [@article@Enterprise Architect vs Software Architect](https://www.linkedin.com/pulse/enterprise-architect-vs-software-who-you-luigi-saggese/)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
@@ -1,6 +1,6 @@
# Estimate and Evaluate
Estimation and evaluation are critical skills for architects and lead developers. Architects must understand basic project management principles to provide estimates for timelines, resources, and costs, considering all project phases like requirements, testing, and debugging. Using past data or models like COCOMO helps refine estimates. For agile projects, resources like *"Agile Estimating and Planning"* by Mike Cohn can offer valuable guidance.
Estimation and evaluation are critical skills for architects and lead developers. Architects must understand basic project management principles to provide estimates for timelines, resources, and costs, considering all project phases like requirements, testing, and debugging. Using past data or models like COCOMO helps refine estimates. For agile projects, resources like _"Agile Estimating and Planning"_ by Mike Cohn can offer valuable guidance.
Evaluating "unknown" architectures involves assessing their suitability for current and future contexts through prepared questions. These should cover design practices (e.g., patterns and structure), development practices (e.g., code guidelines and deployment), quality assurance (e.g., test automation and peer reviews), and security measures (e.g., built-in security and penetration tests). This structured approach ensures informed decisions and promotes robust, maintainable solutions.
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@What is ETL?](https://www.snowflake.com/guides/what-etl)
- [@video@ETL Explained](https://www.youtube.com/watch?v=OW5OgsLpDCQ)
- [@feed@Explore top posts about ETL](https://app.daily.dev/tags/etl?ref=roadmapsh)
- [@feed@Explore top posts about ETL](https://app.daily.dev/tags/etl?ref=roadmapsh)
@@ -5,4 +5,4 @@ A Firewall is a network security device that monitors and filters incoming and o
Visit the following resources to learn more:
- [@article@What is a Firewall? - Cloudflare](https://www.cloudflare.com/learning/security/what-is-a-firewall/)
- [@article@Firewall - Cisco](https://www.cisco.com/site/us/en/learn/topics/security/what-is-a-firewall.html)
- [@article@Firewall - Cisco](https://www.cisco.com/site/us/en/learn/topics/security/what-is-a-firewall.html)
@@ -5,4 +5,4 @@ Architect frameworks are tools that provide a structured approach to software ar
Visit the following resources to learn more:
- [@article@Architect Frameworks](https://www.techtarget.com/searchapparchitecture/definition/enterprise-architecture-framework)
- [@article@Common Software Architecture Frameworks](https://medium.com/@publicapplicationcenter/tutorial-notes-common-software-architecture-frameworks-1a9915e1d806)
- [@article@Common Software Architecture Frameworks](https://medium.com/@publicapplicationcenter/tutorial-notes-common-software-architecture-frameworks-1a9915e1d806)
@@ -5,5 +5,5 @@ Functional programming is a programming paradigm designed to handle pure mathema
Visit the following resources to learn more:
- [@article@Functional Programming](https://en.wikipedia.org/wiki/Functional_programming)
- [@video@Learning Functional Programming](https://youtube.com/watch?v=e-5obm1G_FY)
- [@article@Functional Programming with JavaScript](https://www.telerik.com/blogs/functional-programming-javascript)
- [@article@Functional Programming with JavaScript](https://www.telerik.com/blogs/functional-programming-javascript)
- [@video@Learning Functional Programming](https://youtube.com/watch?v=e-5obm1G_FY)
@@ -5,7 +5,7 @@ Git is a distributed version control system designed to handle projects of any s
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Git & GitHub Roadmap](https://roadmap.sh/git-github)
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
- [@article@Git Cheat Sheet](https://cs.fyi/guide/git-cheatsheet)
- [@article@Tutorial: Git for Absolutely Everyone](https://thenewstack.io/tutorial-git-for-absolutely-everyone/)
- [@feed@Explore top posts about Git](https://app.daily.dev/tags/git?ref=roadmapsh)
- [@video@Git & GitHub Crash Course For Beginners](https://www.youtube.com/watch?v=SWYqp7iY_Tc)
- [@feed@Explore top posts about Git](https://app.daily.dev/tags/git?ref=roadmapsh)
@@ -10,4 +10,4 @@ Visit the following resources to learn more:
- [@official@GitHub Documentation](https://docs.github.com/en/get-started/quickstart)
- [@official@Learn GitHub by doing](https://skills.github.com/)
- [@video@What is GitHub?](https://www.youtube.com/watch?v=w3jLJU7DT5E)
- [@feed@Explore top posts about GitHub](https://app.daily.dev/tags/github?ref=roadmapsh)
- [@feed@Explore top posts about GitHub](https://app.daily.dev/tags/github?ref=roadmapsh)
@@ -8,4 +8,4 @@ Visit the following resources to learn more:
- [@official@A Tour of Go – Go Basics](https://go.dev/tour/welcome/1)
- [@official@Go Reference Documentation](https://go.dev/doc/)
- [@article@Go by Example - annotated example programs](https://gobyexample.com/)
- [@feed@Explore top posts about Golang](https://app.daily.dev/tags/golang?ref=roadmapsh)
- [@feed@Explore top posts about Golang](https://app.daily.dev/tags/golang?ref=roadmapsh)
@@ -6,7 +6,7 @@ Visit the following resources to learn more:
- [@roadmap@visit Dedicated GraphQL Roadmap](https://roadmap.sh/graphql)
- [@official@Introduction to GraphQL](https://graphql.org/learn/)
- [@video@GraphQL Course for Beginners](https://www.youtube.com/watch?v=ed8SzALpx1Q)
- [@article@Introduction to GraphQL](https://thenewstack.io/introduction-to-graphql/)
- [@article@How to Execute a Simple GraphQL Query](https://thenewstack.io/how-to-execute-a-simple-graphql-query/)
- [@video@GraphQL Course for Beginners](https://www.youtube.com/watch?v=ed8SzALpx1Q)
- [@feed@Explore top posts about GraphQL](https://app.daily.dev/tags/graphql?ref=roadmapsh)
@@ -2,8 +2,7 @@
gRPC is a platform agnostic serialization protocol that is used to communicate between services. Designed by Google in 2015, it is a modern alternative to REST APIs. It is a binary protocol that uses HTTP/2 as a transport layer. It is a high performance, open source, general-purpose RPC framework that puts mobile and HTTP/2 first.
It's main use case is for communication between two different languages within the same application. You can use Python to communicate with Go, or Java to communicate with C#.
gRPC uses the protocol buffer language to define the structure of the data that is
It's main use case is for communication between two different languages within the same application. You can use Python to communicate with Go, or Java to communicate with C#. gRPC uses the protocol buffer language to define the structure of the data that is
Visit the following resources to learn more:
@@ -11,4 +10,4 @@ Visit the following resources to learn more:
- [@official@gRPC Introduction](https://grpc.io/docs/what-is-grpc/introduction/)
- [@official@gRPC Core Concepts](https://grpc.io/docs/what-is-grpc/core-concepts/)
- [@video@Stephane Maarek - gRPC Introduction](https://youtu.be/XRXTsQwyZSU)
- [@feed@Explore top posts about gRPC](https://app.daily.dev/tags/grpc?ref=roadmapsh)
- [@feed@Explore top posts about gRPC](https://app.daily.dev/tags/grpc?ref=roadmapsh)
@@ -9,4 +9,4 @@ Visit the following resources to learn more:
- [@official@Apache Spark](https://spark.apache.org/)
- [@article@Spark vs Hadoop MapReduce](https://www.integrate.io/blog/apache-spark-vs-hadoop-mapreduce)
- [@video@Hadoop explained in 5 minutes](https://www.youtube.com/watch?v=aReuLtY0YMI)
- [@feed@Explore top posts about Apache Spark](https://app.daily.dev/tags/spark?ref=roadmapsh)
- [@feed@Explore top posts about Apache Spark](https://app.daily.dev/tags/spark?ref=roadmapsh)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Apache Hadoop](https://hadoop.apache.org/)
- [@article@Apache Hadoop - Wikipedia](https://en.wikipedia.org/wiki/Apache_Hadoop)
- [@feed@Explore top posts about Apache Hadoop](https://app.daily.dev/tags/apache-hadoop?ref=roadmapsh)
- [@feed@Explore top posts about Apache Hadoop](https://app.daily.dev/tags/apache-hadoop?ref=roadmapsh)
@@ -8,4 +8,4 @@ Visit the following resources to learn more:
- [@video@Hashing Algorithms and Security - Computerphile](https://www.youtube.com/watch?v=b4b8ktEV4Bg)
- [@video@Top Hashing Algorithms In Cryptography | MD5 and SHA 256 Algorithms Expalined | Simplilearn](https://www.youtube.com/watch?v=Plp4F3ZfC7A)
- [@video@SHA: Secure Hashing Algorithm - Computerphile](https://www.youtube.com/watch?v=DMtFhACPnTY)
- [@feed@Explore top posts about Algorithms](https://app.daily.dev/tags/algorithms?ref=roadmapsh)
- [@feed@Explore top posts about Algorithms](https://app.daily.dev/tags/algorithms?ref=roadmapsh)
@@ -1,10 +1,11 @@
# How to Code
Even as an Enterprise Architect, staying connected to coding practices is essential to understand developers’ challenges and earn their trust. Maintaining a **side project** allows you to explore new technologies, tools, and methodologies hands-on, building practical experience beyond theoretical knowledge. This helps in forming informed decisions and keeping pace with evolving trends in development.
Even as an Enterprise Architect, staying connected to coding practices is essential to understand developers’ challenges and earn their trust. Maintaining a **side project** allows you to explore new technologies, tools, and methodologies hands-on, building practical experience beyond theoretical knowledge. This helps in forming informed decisions and keeping pace with evolving trends in development.
To prioritize what to explore, structured resources like ThoughtWorks’ Technology Radar can guide you. It categorizes technologies into **Adopt**, **Trial**, **Assess**, and **Hold**, helping architects focus on impactful and enterprise-ready innovations. Staying informed and involved ensures better collaboration and alignment with developers.
Visit the following resources to learn more:
- [@article@How to Code](https://www.thoughtworks.com/insights/blog/how-to-code)
- [@article@Technology Radar](https://www.thoughtworks.com/radar)
- [@article@How to Code – Coding for Beginners and How to Learn Programming for Free](https://www.freecodecamp.org/news/how-to-code-coding-for-beginners-and-how-to-learn-programming-for-free/)
- [@article@Technology Radar](https://www.thoughtworks.com/radar)
- [@video@coding is easy, actually](https://www.youtube.com/watch?v=qkFYqY3vr84)
@@ -15,4 +15,4 @@ Visit the following resources to learn more:
- [@article@HTTP/3 From A To Z: Core Concepts](https://www.smashingmagazine.com/2021/08/http3-core-concepts-part1/)
- [@article@Why HTTPS Matters](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https)
- [@article@Enabling HTTPS on Your Servers](https://developers.google.com/web/fundamentals/security/encrypt-in-transit/enable-https)
- [@video@HTTP Crash Course & Exploration](https://www.youtube.com/watch?v=iYM2zFP3Zn0)
- [@video@HTTP Crash Course & Exploration](https://www.youtube.com/watch?v=iYM2zFP3Zn0)
@@ -5,4 +5,4 @@ The Integrated Architecture Framework (IAF) is an enterprise architecture framew
Visit the following resources to learn more:
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Integrated_Architecture_Framework)
- [@article@IAF PDF](https://www.capgemini.com/wp-content/uploads/2018/03/architecture-for-the-information-age.pdf)
- [@article@IAF PDF](https://www.capgemini.com/wp-content/uploads/2018/03/architecture-for-the-information-age.pdf)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Overview BPM](https://www.ibm.com/docs/en/bpm/8.5.5?topic=manager-business-process-overview)
- [@video@BPM Demo](https://www.youtube.com/watch?v=6yn4nCWMNLI)
- [@feed@Explore top posts about IBM](https://app.daily.dev/tags/ibm?ref=roadmapsh)
- [@feed@Explore top posts about IBM](https://app.daily.dev/tags/ibm?ref=roadmapsh)
@@ -2,13 +2,13 @@
To support the laid-out activities specific skills are required. From my experience, read books and discussions we can boil this down to these ten skills every software architect should have:
- Design
- Decide
- Simplify
- Code
- Document
- Communicate
- Estimate
- Balance
- Consult
- Market
* Design
* Decide
* Simplify
* Code
* Document
* Communicate
* Estimate
* Balance
* Consult
* Market
@@ -11,4 +11,4 @@ Visit the following resources to learn more:
- [@video@What is Infrastructure as Code?](https://www.youtube.com/watch?v=zWw2wuiKd5o)
- [@video@What is Infrastructure as Code? Difference of Infrastructure as Code Tools](https://www.youtube.com/watch?v=POPP2WTJ8es)
- [@video@Introduction to Infrastructure as Code](https://www.youtube.com/watch?v=zWw2wuiKd5o)
- [@feed@Explore top posts about Infrastructure](https://app.daily.dev/tags/infrastructure?ref=roadmapsh)
- [@feed@Explore top posts about Infrastructure](https://app.daily.dev/tags/infrastructure?ref=roadmapsh)
@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@ITIL Documentation](https://www.axelos.com/certifications/itil-service-management/itil-4-foundation)
- [@video@What is ITIL?](https://www.youtube.com/watch?v=wgnpfMK8vDk)
- [@video@What is ITIL?](https://www.youtube.com/watch?v=wgnpfMK8vDk)
@@ -1,17 +1,17 @@
# Java/Kotlin/Scala
- **Java**: Java is a widely-used, object-oriented programming language known for its platform independence, reliability, and scalability. It’s commonly used for building large-scale enterprise applications, Android development, and web services. Java’s extensive libraries, frameworks, and strong community support make it a popular choice for developers.
- **Scala**: Scala is a statically-typed programming language that combines object-oriented and functional programming paradigms. It runs on the Java Virtual Machine (JVM) and is known for its concise syntax, expressive power, and compatibility with Java. Scala is often used in data engineering, backend services, and applications requiring high concurrency.
- **Kotlin**: Kotlin is a modern, statically-typed programming language designed to be fully interoperable with Java while offering more concise and expressive syntax. It is particularly popular for Android development due to its simplicity and safety features, such as null safety, and is gaining traction in backend development as well.
* **Java**: Java is a widely-used, object-oriented programming language known for its platform independence, reliability, and scalability. It’s commonly used for building large-scale enterprise applications, Android development, and web services. Java’s extensive libraries, frameworks, and strong community support make it a popular choice for developers.
* **Scala**: Scala is a statically-typed programming language that combines object-oriented and functional programming paradigms. It runs on the Java Virtual Machine (JVM) and is known for its concise syntax, expressive power, and compatibility with Java. Scala is often used in data engineering, backend services, and applications requiring high concurrency.
* **Kotlin**: Kotlin is a modern, statically-typed programming language designed to be fully interoperable with Java while offering more concise and expressive syntax. It is particularly popular for Android development due to its simplicity and safety features, such as null safety, and is gaining traction in backend development as well.
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Java Roadmap](https://roadmap.sh/java)
- [@official@Scala](https://www.scala-lang.org/)
- [@official@Scala Documentation](https://docs.scala-lang.org/)
- [@official@Kotlin](https://kotlinlang.org/)
- [@official@Kotlin Documentation](https://kotlinlang.org/docs/home.html)
- [@official@Java](https://www.java.com/)
- [@feed@Explore top posts about Java](https://app.daily.dev/tags/java?ref=roadmapsh)
- [@roadmap@Visit Dedicated Kotlin Roadmap](https://roadmap.sh/kotlin)
- [@official@Kotlin](https://kotlinlang.org/)
- [@official@Scala Documentation](https://docs.scala-lang.org/)
- [@official@Swift Docs](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour)
- [@article@Explore top posts about Java](https://app.daily.dev/tags/java?ref=roadmapsh)
@@ -13,4 +13,4 @@ Visit the following resources to learn more:
- [@video@Node.js Crash Course](https://www.youtube.com/watch?v=fBNz5xF-Kx4)
- [@video@Node.js Tutorial for Beginners](https://www.youtube.com/watch?v=TlB_eWDSMt4)
- [@video@TypeScript for Beginners](https://www.youtube.com/watch?v=BwuLxPH8IDs)
- [@feed@Explore top posts about JavaScript](https://app.daily.dev/tags/javascript?ref=roadmapsh)
- [@feed@Explore top posts about JavaScript](https://app.daily.dev/tags/javascript?ref=roadmapsh)
@@ -1,9 +1,9 @@
# Kanban
`Kanban` is a popular agile methodology that focuses on visualizing workflow and continuously improving that flow. It's a more flexible approach than Scrum, without the rigid framework.
Visit the following resources to learn more:
- [@article@What Is Kanban? A Simple Guide to Improve Efficiency.](https://businessmap.io/kanban-resources/getting-started/what-is-kanban)
- [@article@Kanban Methodology: The Simplest Agile Framework ](https://kissflow.com/project/agile/kanban-methodology/)
# Kanban
`Kanban` is a popular agile methodology that focuses on visualizing workflow and continuously improving that flow. It's a more flexible approach than Scrum, without the rigid framework.
Visit the following resources to learn more:
- [@article@What Is Kanban? A Simple Guide to Improve Efficiency.](https://businessmap.io/kanban-resources/getting-started/what-is-kanban)
- [@article@Kanban Methodology: The Simplest Agile Framework ](https://kissflow.com/project/agile/kanban-methodology/)
- [@article@What is Kanban Methodology? The Ultimate Guide](https://www.wrike.com/kanban-guide/what-is-kanban/)
@@ -4,4 +4,4 @@ Layered architecture is a software design pattern where an application is divide
Visit the following resources to learn more:
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Layered_architecture)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Layered_architecture)
@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@LeSS Framework](https://less.works/less/framework)
- [@video@Introduction to LeSS](https://www.youtube.com/watch?v=1BZf_Oa7W94)
- [@video@Introduction to LeSS](https://www.youtube.com/watch?v=1BZf_Oa7W94)
@@ -2,6 +2,6 @@
Architecture can be done on several “levels” of abstractions. The level influences the importance of necessary skills. As there are many categorizations possible my favorite segmentation includes these 3 levels:
- **Application Level:** The lowest level of architecture. Focus on one single application. Very detailed, low level design. Communication is usually within one development team.
- **Solution Level:** The mid-level of architecture. Focus on one or more applications which fulfill a business need (business solution). Some high, but mainly low-level design. Communication is between multiple development teams.
- **Enterprise Level:** The highest level of architecture. Focus on multiple solutions. High level, abstract design, which needs to be detailed out by solution or application architects. Communication is across the organization.
* **Application Level:** The lowest level of architecture. Focus on one single application. Very detailed, low level design. Communication is usually within one development team.
* **Solution Level:** The mid-level of architecture. Focus on one or more applications which fulfill a business need (business solution). Some high, but mainly low-level design. Communication is between multiple development teams.
* **Enterprise Level:** The highest level of architecture. Focus on multiple solutions. High level, abstract design, which needs to be detailed out by solution or application architects. Communication is across the organization.
@@ -5,8 +5,8 @@ Knowledge of UNIX is a must for almost all kind of development as most of the co
Visit the following resources to learn more:
- [@roadmap@Visit Dedicated Linux Roadmap](https://roadmap.sh/linux)
- [@video@Linux Operating System - Crash Course](https://www.youtube.com/watch?v=ROjZy1WbCIA)
- [@course@Coursera - Unix Courses](https://www.coursera.org/courses?query=unix)
- [@article@Unix & Linux Tutorial](https://www.tutorialspoint.com/unix/index.htm)
- [@article@Linux Basics ](https://dev.to/rudrakshi99/linux-basics-2onj)
- [@course@Coursera - Unix Courses](https://www.coursera.org/courses?query=unix)
- [@feed@Explore top posts about Linux](https://app.daily.dev/tags/linux?ref=roadmapsh)
- [@video@Linux Operating System - Crash Course](https://www.youtube.com/watch?v=ROjZy1WbCIA)
- [@feed@Explore top posts about Linux](https://app.daily.dev/tags/linux?ref=roadmapsh)
@@ -1,6 +1,6 @@
# Management
Management in software architects encompasses various responsibilities and practices that ensure the successful design, development, and implementation of software systems. Software architects play a critical role in bridging the gap between business requirements and technical implementation.
Management in software architects encompasses various responsibilities and practices that ensure the successful design, development, and implementation of software systems. Software architects play a critical role in bridging the gap between business requirements and technical implementation.
Visit the following resources to learn more:
@@ -2,6 +2,6 @@
Marketing skills are essential for promoting your ideas effectively, especially when others may not immediately embrace them. To convince others, it's crucial to motivate them by demonstrating the value and benefits of your ideas in an easily digestible format, such as through prototypes or videos. Persistence is key; if you're convinced of your idea’s worth, you need to fight for it, even if it's met with resistance. Establishing allies who support your ideas can also make it easier to gain traction, so start building a network. Repeating your message regularly can help, but be cautious not to overdo it, as credibility is essential for long-term success.
Visit the following resources to learn more:
Visit the following resources to learn more:
- [@article@Marketing Skills for Architects](https://openasset.com/blog/marketing-for-architects/)
- [@article@Marketing Skills for Architects](https://openasset.com/blog/marketing-for-architects/)
@@ -5,4 +5,4 @@ Message queuing makes it possible for applications to communicate asynchronously
Visit the following resources to learn more:
- [@article@Messaging Queues](https://aws.amazon.com/message-queue/)
- [@article@Messaging Queues Tutorial](https://www.tutorialspoint.com/inter_process_communication/inter_process_communication_message_queues.htm)
- [@article@Messaging Queues Tutorial](https://www.tutorialspoint.com/inter_process_communication/inter_process_communication_message_queues.htm)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@Micro Frontends](https://micro-frontends.org/)
- [@video@Micro-Frontends Course - Beginner to Expert](https://www.youtube.com/watch?v=lKKsjpH09dU)
- [@feed@Explore top posts about Web Development](https://app.daily.dev/tags/webdev?ref=roadmapsh)
- [@feed@Explore top posts about Web Development](https://app.daily.dev/tags/webdev?ref=roadmapsh)
@@ -9,4 +9,4 @@ Visit the following resources to learn more:
- [@article@Microservices 101](https://thenewstack.io/microservices-101/)
- [@article@Primer: Microservices Explained](https://thenewstack.io/primer-microservices-explained/)
- [@article@Articles about Microservices](https://thenewstack.io/category/microservices/)
- [@feed@Explore top posts about Microservices](https://app.daily.dev/tags/microservices?ref=roadmapsh)
- [@feed@Explore top posts about Microservices](https://app.daily.dev/tags/microservices?ref=roadmapsh)
@@ -5,4 +5,4 @@ Microsoft Dynamics 365 is a combination of both Enterprise Resource Planning (ER
Visit the following resources to learn more:
- [@article@Everything you ever wanted to know about Microsoft Dynamics](https://www.nigelfrank.com/insights/everything-you-ever-wanted-to-know-about-dynamics-crm)
- [@video@What is Microsoft Dynamics?](https://www.youtube.com/watch?v=ogfclHWgqgE)
- [@video@What is Microsoft Dynamics?](https://www.youtube.com/watch?v=ogfclHWgqgE)
@@ -1,7 +1,6 @@
# MVC MVP MVVM
Model-view-controller, or MVC, is a pattern used to separate user-interface, data and application logic.
It does this by separating an application into three parts: Model, View, and Controller. The model holds the data, the view encompasses the user-interface, and the controller acts as a mediator between the two.
Model-view-controller, or MVC, is a pattern used to separate user-interface, data and application logic. It does this by separating an application into three parts: Model, View, and Controller. The model holds the data, the view encompasses the user-interface, and the controller acts as a mediator between the two.
Model-view-presenter, or MVP, was designed to ease automated unit testing and improve the separation of concerns in presentation logic. MVP is a variant of the MVC pattern, though differs in that it divides the application into the user-interface (view), data (model) and presentation logic (presenter). While the model and the view represent stay the same as in the model-view-controller pattern, the presenter differs from the controller in that it manipulates the model and updates the view.
@@ -10,4 +9,4 @@ Another variant of the MVC is the model-view-viewmodel pattern. The Model-view-v
Visit the following resources to learn more:
- [@article@MVC, MVP and MVVM Design Pattern](https://medium.com/@ankit.sinhal/mvc-mvp-and-mvvm-design-pattern-6e169567bbad)
- [@feed@Explore top posts about General Programming](https://app.daily.dev/tags/general-programming?ref=roadmapsh)
- [@feed@Explore top posts about General Programming](https://app.daily.dev/tags/general-programming?ref=roadmapsh)
@@ -12,4 +12,4 @@ Visit the following resources to learn more:
- [@official@C# Documentation](https://learn.microsoft.com/en-us/dotnet/csharp/?WT.mc_id=dotnet-35129-website)
- [@official@F# Documentation](https://learn.microsoft.com/en-us/dotnet/fsharp/?WT.mc_id=dotnet-35129-website)
- [@official@Visual Basic Documentation](https://learn.microsoft.com/en-us/dotnet/visual-basic/?WT.mc_id=dotnet-35129-website)
- [@feed@Explore top posts about .NET](https://app.daily.dev/tags/.net?ref=roadmapsh)
- [@feed@Explore top posts about .NET](https://app.daily.dev/tags/.net?ref=roadmapsh)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@Networking - IBM](https://www.ibm.com/topics/networking)
- [@article@Networking - Wikipedia](https://en.wikipedia.org/wiki/Networking)
- [@article@Networking Basics](https://www.cisco.com/c/en/us/solutions/small-business/resource-center/networking/networking-basics.html)
- [@article@Networking Basics](https://www.cisco.com/c/en/us/solutions/small-business/resource-center/networking/networking-basics.html)
@@ -4,13 +4,13 @@ NoSQL databases (aka "not only SQL") are non-tabular databases and store data di
Types of NoSQL databases
- Document databases Ex. MongoDB
- Key-value databases Ex. Redis
- Wide-column databases Ex. Cassandra
- Graph databases Ex. Neo4J
* Document databases Ex. MongoDB
* Key-value databases Ex. Redis
* Wide-column databases Ex. Cassandra
* Graph databases Ex. Neo4J
Visit the following resources to learn more:
- [@article@NoSQL Database - AWS](https://aws.amazon.com/nosql/)
- [@article@NoSQL Databases](https://www.mongodb.com/resources/basics/databases/nosql-explained)
- [@feed@Explore top posts about NoSQL](https://app.daily.dev/tags/nosql?ref=roadmapsh)
- [@feed@Explore top posts about NoSQL](https://app.daily.dev/tags/nosql?ref=roadmapsh)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@article@OOP - Wikipedia](https://en.wikipedia.org/wiki/Object-oriented_programming)
- [@article@Basic Concepts of Object-Oriented Programming](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_programming)
- [@video@FreeCodeCamp - (OOP) in C++](https://www.youtube.com/watch?v=wN0x9eZLix4)
- [@video@FreeCodeCamp - (OPP) in Python](https://www.youtube.com/watch?v=Ej_02ICOIgs)
- [@video@FreeCodeCamp - (OPP) in Python](https://www.youtube.com/watch?v=Ej_02ICOIgs)
@@ -1,3 +1,3 @@
# Operations Knowledge
Operational knowledge refers to the understanding and insights that software architects need to effectively design, implement, and manage software systems throughout their lifecycle. This knowledge encompasses various aspects of software development, deployment, and maintenance, and it is crucial for ensuring that systems operate efficiently, reliably, and securely.
Operational knowledge refers to the understanding and insights that software architects need to effectively design, implement, and manage software systems throughout their lifecycle. This knowledge encompasses various aspects of software development, deployment, and maintenance, and it is crucial for ensuring that systems operate efficiently, reliably, and securely.
@@ -4,4 +4,4 @@ The OSI and TCP/IP model is used to help the developer to design their system fo
Visit the following resources to learn more:
- [@article@Cloudflare - What is the OSI model](https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/)
- [@article@Cloudflare - What is the OSI model](https://www.cloudflare.com/learning/ddos/glossary/open-systems-interconnection-model-osi/)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@opensource@OWASP Web Application Security Testing Checklist](https://github.com/0xRadi/OWASP-Web-Checklist)
- [@article@Wikipedia - OWASP](https://en.wikipedia.org/wiki/OWASP)
- [@article@OWASP Top 10 Security Risks](https://sucuri.net/guides/owasp-top-10-security-vulnerabilities-2021/)
- [@article@OWASP Cheatsheets](https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html)
- [@article@OWASP Cheatsheets](https://cheatsheetseries.owasp.org/cheatsheets/AJAX_Security_Cheat_Sheet.html)
@@ -1,3 +1,3 @@
# Patterns and design principles
In the realm of software architecture, patterns and design principles are foundational tools that enable architects to create robust, scalable, and maintainable systems. They offer proven solutions to common problems and guide decision-making throughout the software development lifecycle. Understanding these concepts is essential for anyone following a software architect roadmap, as they bridge the gap between high-level architecture and practical implementation.
In the realm of software architecture, patterns and design principles are foundational tools that enable architects to create robust, scalable, and maintainable systems. They offer proven solutions to common problems and guide decision-making throughout the software development lifecycle. Understanding these concepts is essential for anyone following a software architect roadmap, as they bridge the gap between high-level architecture and practical implementation.
@@ -4,4 +4,4 @@ The PMI certification (Project Management Institute) is an internationally recog
Visit the following resources to learn more:
- [@official@Project Management Institute](https://www.pmi.org/)
- [@official@Project Management Institute](https://www.pmi.org/)
@@ -4,5 +4,5 @@ Prince2 is a structured project management method and practitioner certification
Visit the following resources to learn more:
- [@official@Prince2 Certification](https://www.axelos.com/certifications/propath/prince2-project-management)
- [@course@Prince2 Project Management Course](https://www.simplilearn.com/project-management/prince2-foundation-and-practitioner-certification-training)
- [@course@Prince2 Project Management Course](https://www.simplilearn.com/project-management/prince2-foundation-and-practitioner-certification-training)
- [@official@Prince2 Certification](https://www.axelos.com/certifications/propath/prince2-project-management)
@@ -9,4 +9,4 @@ Visit the following resources to learn more:
- [@official@Python Getting Started](https://www.python.org/about/gettingstarted/)
- [@article@Automate the Boring Stuff](https://automatetheboringstuff.com/)
- [@article@Python Crash Course](https://ehmatthes.github.io/pcc/)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)
- [@feed@Explore top posts about Python](https://app.daily.dev/tags/python?ref=roadmapsh)
@@ -17,4 +17,4 @@ Visit the following resources to learn more:
- [@video@React JS Course for Beginners](https://www.youtube.com/watch?v=nTeuhbP7wdE)
- [@video@Vue.js Course for Beginners](https://www.youtube.com/watch?v=FXpIoQ_rT_c)
- [@video@Angular Course for Beginners](https://www.youtube.com/watch?v=3qBXWUpoPHo)
- [@feed@Explore top posts about Angular](https://app.daily.dev/tags/angular?ref=roadmapsh)
- [@feed@Explore top posts about Angular](https://app.daily.dev/tags/angular?ref=roadmapsh)
@@ -4,4 +4,4 @@ Reactive programming describes a design paradigm that relies on asynchronous pro
Visit the following resources to learn more:
- [@article@What is Reactive Programming?](https://www.techtarget.com/searchapparchitecture/definition/reactive-programming)
- [@article@What is Reactive Programming?](https://www.techtarget.com/searchapparchitecture/definition/reactive-programming)
@@ -2,17 +2,17 @@
To understand the necessary skills an architect needs, we first need to understand typical activities. The following list contains from my perspective the most important activities:
- Define and decide development technology and platform
- Define development standards, e.g., coding standards, tools, review processes, test approach, etc.
- Support identifying and understanding business requirements
- Design systems and take decisions based on requirements
- Document and communicate architectural definitions, design and decisions
- Check and review architecture and code, e.g., check if defined patterns and coding standards are implemented properly
- Collaborate with other architects and stakeholders
- Coach and consult developers
- Make sure that as implementation takes place, the architecture is being adhered to
- Play a key part in reviewing code
- Detail out and refine higher level design into lower level design
* Define and decide development technology and platform
* Define development standards, e.g., coding standards, tools, review processes, test approach, etc.
* Support identifying and understanding business requirements
* Design systems and take decisions based on requirements
* Document and communicate architectural definitions, design and decisions
* Check and review architecture and code, e.g., check if defined patterns and coding standards are implemented properly
* Collaborate with other architects and stakeholders
* Coach and consult developers
* Make sure that as implementation takes place, the architecture is being adhered to
* Play a key part in reviewing code
* Detail out and refine higher level design into lower level design
Visit the following resources to learn more:
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@article@What is a REST API?](https://www.redhat.com/en/topics/api/what-is-a-rest-api)
- [@article@Roy Fieldings dissertation chapter, Representational State Transfer (REST)](https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)
- [@article@Learn REST: A RESTful Tutorial](https://restapitutorial.com/)
- [@feed@Explore top posts about REST API](https://app.daily.dev/tags/rest-api?ref=roadmapsh)
- [@feed@Explore top posts about REST API](https://app.daily.dev/tags/rest-api?ref=roadmapsh)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Ruby](https://www.ruby-lang.org/en/)
- [@official@Learn Ruby in 20 minutes](https://www.ruby-lang.org/en/documentation/quickstart/)
- [@feed@Explore top posts about Ruby](https://app.daily.dev/tags/ruby?ref=roadmapsh)
- [@feed@Explore top posts about Ruby](https://app.daily.dev/tags/ruby?ref=roadmapsh)
@@ -4,4 +4,4 @@ The RUP (**Rational Unified Process**) is not a widely recognized certification
Visit the following resources to learn more:
- [@official@IBM Certified Solution Designer RUP](https://www.ibm.com/training/certification/ibm-certified-solution-designer-ibm-rational-unified-process-v70-38008003)
- [@official@IBM Certified Solution Designer RUP](https://www.ibm.com/training/certification/ibm-certified-solution-designer-ibm-rational-unified-process-v70-38008003)
@@ -5,4 +5,4 @@
Visit the following resources to learn more:
- [@official@SAFe 6.0](https://scaledagileframework.com/SAFE)
- [@video@SAFe explained in five minutes](https://www.youtube.com/watch?v=aW2m-BtCJyE&t=2s)
- [@video@SAFe explained in five minutes](https://www.youtube.com/watch?v=aW2m-BtCJyE&t=2s)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@What is Salesforce and what is it used for?](https://ascendix.com/blog/what-is-salesforce-what-salesforce-is-used-for/)
- [@video@What is Salesforce?](https://www.youtube.com/watch?v=xx2sK-QiBjw)
- [@feed@Explore top posts about Salesforce](https://app.daily.dev/tags/salesforce?ref=roadmapsh)
- [@feed@Explore top posts about Salesforce](https://app.daily.dev/tags/salesforce?ref=roadmapsh)
@@ -4,4 +4,4 @@ SAP (Systems, Applications, and Products in Data Processing) is a leading enterp
Visit the following resources to learn more:
- [@official@SAP](https://www.sap.com/)
- [@official@SAP](https://www.sap.com/)
@@ -1,19 +1,19 @@
# Scrum
`Scrum` is a popular agile framework used for project management, particularly in software development. It emphasizes iterative development, collaboration, and flexibility to deliver high-quality products.
Key elements of Scrum:
- **Sprints**: Time-boxed iterations (usually 2-4 weeks) where teams work on specific goals.
- **Product Backlog**: Prioritized list of features or requirements for the product.
- **Sprint Backlog**: Selected items from the Product Backlog to be completed during a Sprint.
- **Daily Scrum (Stand-up)**: Brief daily meeting where team members share progress, challenges, and plans for the day.
- **Sprint Review**: Meeting at the end of a Sprint to demonstrate completed work and gather feedback.
- **Sprint Retrospective**: Meeting to reflect on the Sprint, identify improvements, and adjust processes for the next Sprint.
Visit the following resources to learn more:
- [@article@What is Scrum and How to Get Started](https://www.atlassian.com/agile/scrum.)
- [@article@Scrum Methodology: The Complete Guide & Best Practices](https://thedigitalprojectmanager.com/projects/pm-methodology/scrum-methodology-complete-guide/)
- [@article@Essential Topics for the Scrum Product Owner](https://www.scrum.org/resources/blog/essential-topics-scrum-product-owner)
# Scrum
`Scrum` is a popular agile framework used for project management, particularly in software development. It emphasizes iterative development, collaboration, and flexibility to deliver high-quality products.
Key elements of Scrum:
* **Sprints**: Time-boxed iterations (usually 2-4 weeks) where teams work on specific goals.
* **Product Backlog**: Prioritized list of features or requirements for the product.
* **Sprint Backlog**: Selected items from the Product Backlog to be completed during a Sprint.
* **Daily Scrum (Stand-up)**: Brief daily meeting where team members share progress, challenges, and plans for the day.
* **Sprint Review**: Meeting at the end of a Sprint to demonstrate completed work and gather feedback.
* **Sprint Retrospective**: Meeting to reflect on the Sprint, identify improvements, and adjust processes for the next Sprint.
Visit the following resources to learn more:
- [@article@What is Scrum and How to Get Started](https://www.atlassian.com/agile/scrum.)
- [@article@Scrum Methodology: The Complete Guide & Best Practices](https://thedigitalprojectmanager.com/projects/pm-methodology/scrum-methodology-complete-guide/)
- [@article@Essential Topics for the Scrum Product Owner](https://www.scrum.org/resources/blog/essential-topics-scrum-product-owner)
- [@article@Scrum • Topics - Thriving Technologist](https://thrivingtechnologist.com/topics/scrum/)
@@ -1,8 +1,8 @@
# Security
Security is a broad field that encompasses various measures and practices designed to protect information, systems, and networks from unauthorized access, damage, or theft. It is essential in safeguarding sensitive data and maintaining the integrity and availability of resources.
Security is a broad field that encompasses various measures and practices designed to protect information, systems, and networks from unauthorized access, damage, or theft. It is essential in safeguarding sensitive data and maintaining the integrity and availability of resources.
Visit the following resources to learn more:
- [@article@Security - Wikipedia](https://en.wikipedia.org/wiki/Security)
- [@article@Architect Security](https://aws.amazon.com/blogs/architecture/lets-architect-security-in-software-architectures/)
- [@article@Architect Security](https://aws.amazon.com/blogs/architecture/lets-architect-security-in-software-architectures/)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@article@What is Serverless?](https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless)
- [@article@What is Serverless Computing?](https://www.cloudflare.com/learning/serverless/what-is-serverless/)
- [@article@Serverless on AWS](https://aws.amazon.com/serverless/)
- [@feed@Explore top posts about Serverless](https://app.daily.dev/tags/serverless?ref=roadmapsh)
- [@feed@Explore top posts about Serverless](https://app.daily.dev/tags/serverless?ref=roadmapsh)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@Serverless Architectures By AWS](https://aws.amazon.com/lambda/serverless-architectures-learn-more/)
- [@article@Serverless in Detail](https://martinfowler.com/articles/serverless.html)
- [@feed@Explore top posts about Serverless](https://app.daily.dev/tags/serverless?ref=roadmapsh)
- [@feed@Explore top posts about Serverless](https://app.daily.dev/tags/serverless?ref=roadmapsh)
@@ -4,7 +4,7 @@ A Service Mesh is a dedicated infrastructure layer for handling service-to-servi
Visit the following resources to learn more:
- [@video@Service Mesh explained in 15 Minutes](https://youtu.be/16fgzklcF7Y)
- [@article@Red Hat - What is a Service Mesh?](https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh)
- [@article@Kubernetes Service Mesh - Blog Post](https://platform9.com/blog/kubernetes-service-mesh-a-comparison-of-istio-linkerd-and-consul/)
- [@feed@Explore top posts about Service Mesh](https://app.daily.dev/tags/service-mesh?ref=roadmapsh)
- [@video@Service Mesh explained in 15 Minutes](https://youtu.be/16fgzklcF7Y)
- [@feed@Explore top posts about Service Mesh](https://app.daily.dev/tags/service-mesh?ref=roadmapsh)
@@ -4,11 +4,11 @@ Service-oriented architecture (SOA) is an enterprise-wide approach to software d
SOA provides four different service types:
1. Functional services (i.e., business services), which are critical for business applications.
2. Enterprise services, which serve to implement functionality.
3. Application services, which are used to develop and deploy apps.
4. Infrastructure services, which are instrumental for backend processes like security and authentication.
1. Functional services (i.e., business services), which are critical for business applications.
2. Enterprise services, which serve to implement functionality.
3. Application services, which are used to develop and deploy apps.
4. Infrastructure services, which are instrumental for backend processes like security and authentication.
Visit the following resources to learn more:
- [@article@SOA Architecture By AWS](https://aws.amazon.com/what-is/service-oriented-architecture/)
- [@article@SOA Architecture By AWS](https://aws.amazon.com/what-is/service-oriented-architecture/)
@@ -1,7 +1,7 @@
# Simplifying Things
Simplifying solutions is critical for effective problem-solving, aligning with Occam’s Razor, which favors simplicity by reducing unnecessary assumptions. To achieve this, “shake” your solution by analyzing it from different perspectives and questioning its assumptions. After complex discussions, take a step back to review the big picture and refactor if needed, giving your brain time to process ideas. Apply the *divide and conquer* method to break problems into smaller parts and validate their integration afterward. Finally, remember that refactoring is a valuable process to improve overly complex solutions, provided there’s adequate test coverage and stakeholder support.
Simplifying solutions is critical for effective problem-solving, aligning with Occam’s Razor, which favors simplicity by reducing unnecessary assumptions. To achieve this, “shake” your solution by analyzing it from different perspectives and questioning its assumptions. After complex discussions, take a step back to review the big picture and refactor if needed, giving your brain time to process ideas. Apply the _divide and conquer_ method to break problems into smaller parts and validate their integration afterward. Finally, remember that refactoring is a valuable process to improve overly complex solutions, provided there’s adequate test coverage and stakeholder support.
Visit the following resources to learn more:
- [@article@Simplifying Things](https://www.infoq.com/articles/driving-architectural-simplicity/)
- [@article@Simplifying Things](https://www.infoq.com/articles/driving-architectural-simplicity/)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@official@Slack](https://slack.com)
- [@official@Getting Started with Slack](https://slack.com/intl/en-in/help/categories/360000049043)
- [@video@What is Slack?](https://www.youtube.com/watch?v=q19RtuCHt1Q)
- [@feed@Explore top posts about Slack](https://app.daily.dev/tags/slack?ref=roadmapsh)
- [@feed@Explore top posts about Slack](https://app.daily.dev/tags/slack?ref=roadmapsh)
@@ -2,13 +2,13 @@
SOLID is a set of principles applied to object-oriented design (OOD) to create maintainable, understandable, and flexible code, while avoiding code smells and defects. The principles are:
- Single Responsibility
- Open/Closed
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
* Single Responsibility
* Open/Closed
* Liskov Substitution
* Interface Segregation
* Dependency Inversion
Visit the following resources to learn more:
- [@article@SOLID Principles](https://www.baeldung.com/solid-principles)
- [@article@SOLID: The First 5 Principles of Object Oriented Design](https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design)
- [@article@SOLID: The First 5 Principles of Object Oriented Design](https://www.digitalocean.com/community/conceptual_articles/s-o-l-i-d-the-first-five-principles-of-object-oriented-design)
@@ -4,4 +4,4 @@ The mid-level of architecture. Focus on one or more applications which fulfill a
Visit the following resources to learn more:
- [@article@Solution Architecture](https://www.leanix.net/en/wiki/it-architecture/solution-architecture)
- [@article@Solution Architecture](https://www.leanix.net/en/wiki/it-architecture/solution-architecture)
@@ -1,11 +1,11 @@
# SPA vs SSG vs SSR
- **SPA**: A single page application loads only a single web document from the server and then updates the content of that document on demand via `Javascript APIs` without reloading the entire document. React, Vue, Angular are the top frameworks used to create single page applications.
- **SSR**: This technique uses a server like `Node.js` to fully render the web document upon the receival of a request and then send it back to the client. This way the user get an interactive document with all the necessary information without having to wait for any JavaScript or CSS files to load.
- **SSG**: Static site generation renders the web document in the server(like SSR), however the page is rendered at **build time**. So, instead of rendering the page on the server upon the receival of a request, the page is already rendered in the server, waiting to be served to the client.
* **SPA**: A single page application loads only a single web document from the server and then updates the content of that document on demand via `Javascript APIs` without reloading the entire document. React, Vue, Angular are the top frameworks used to create single page applications.
* **SSR**: This technique uses a server like `Node.js` to fully render the web document upon the receival of a request and then send it back to the client. This way the user get an interactive document with all the necessary information without having to wait for any JavaScript or CSS files to load.
* **SSG**: Static site generation renders the web document in the server(like SSR), however the page is rendered at **build time**. So, instead of rendering the page on the server upon the receival of a request, the page is already rendered in the server, waiting to be served to the client.
Visit the following resources to learn more:
- [@article@Web Design Patterns — SSR, SSG, and SPA](https://medium.com/codex/web-design-patterns-ssr-ssg-and-spa-fadad7673dfe)
- [@article@Rendering on the Web](https://web.dev/rendering-on-the-web/)
- [@feed@Explore top posts about Web Development](https://app.daily.dev/tags/webdev?ref=roadmapsh)
- [@feed@Explore top posts about Web Development](https://app.daily.dev/tags/webdev?ref=roadmapsh)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@roadmap@Visit Dedicated SQL Roadmap](https://roadmap.sh/sql)
- [@article@What is SQL? - AWS](https://aws.amazon.com/what-is/sql/)
- [@article@SQL Databases](https://www.openlogic.com/blog/what-sql-database)
- [@feed@Explore top posts about SQL](https://app.daily.dev/tags/sql?ref=roadmapsh)
- [@feed@Explore top posts about SQL](https://app.daily.dev/tags/sql?ref=roadmapsh)
@@ -1,16 +1,16 @@
# TCP/IP Model
The `TCP/IP model` defines how devices should transmit data between them and enables communication over networks and large distances. The model represents how data is exchanged and organized over networks. It is split into four layers, which set the standards for data exchange and represent how data is handled and packaged when being delivered between applications, devices, and servers.
- **Network Access Layer**: The network access layer is a group of applications requiring network communications. This layer is responsible for generating the data and requesting connections.
- **Internet Layer**: The internet layer is responsible for sending packets from a network and controlling their movement across a network to ensure they reach their destination.
- **Transport Layer**: The transport layer is responsible for providing a solid and reliable data connection between the original application or device and its intended destination.
- **Application Layer**: The application layer refers to programs that need TCP/IP to help them communicate with each other.
Visit the following resources to learn more:
- [@article@What is Transmission Control Protocol TCP/IP? - Fortinet](https://www.fortinet.com/resources/cyberglossary/tcp-ip#:~:text=The%20TCP%2FIP%20model%20defines,exchanged%20and%20organized%20over%20networks.)
- [@article@What is TCP/IP and How Does it Work?](https://www.techtarget.com/searchnetworking/definition/TCP-IP)git reset
# TCP/IP Model
The `TCP/IP model` defines how devices should transmit data between them and enables communication over networks and large distances. The model represents how data is exchanged and organized over networks. It is split into four layers, which set the standards for data exchange and represent how data is handled and packaged when being delivered between applications, devices, and servers.
* **Network Access Layer**: The network access layer is a group of applications requiring network communications. This layer is responsible for generating the data and requesting connections.
* **Internet Layer**: The internet layer is responsible for sending packets from a network and controlling their movement across a network to ensure they reach their destination.
* **Transport Layer**: The transport layer is responsible for providing a solid and reliable data connection between the original application or device and its intended destination.
* **Application Layer**: The application layer refers to programs that need TCP/IP to help them communicate with each other.
Visit the following resources to learn more:
- [@article@What is Transmission Control Protocol TCP/IP? - Fortinet](https://www.fortinet.com/resources/cyberglossary/tcp-ip#:~:text=The%20TCP%2FIP%20model%20defines,exchanged%20and%20organized%20over%20networks.)
- [@article@What is TCP/IP and How Does it Work?](https://www.techtarget.com/searchnetworking/definition/TCP-IP)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@article@What is Test Driven Development (TDD)?](https://www.guru99.com/test-driven-development.html)
- [@article@Test-driven development](https://www.ibm.com/garage/method/practices/code/practice_test_driven_development/)
- [@video@Agile in Practice: Test Driven Development](https://youtu.be/uGaNkTahrIw)
- [@feed@Explore top posts about TDD](https://app.daily.dev/tags/tdd?ref=roadmapsh)
- [@feed@Explore top posts about TDD](https://app.daily.dev/tags/tdd?ref=roadmapsh)
@@ -1,10 +1,10 @@
# Technical Skills
- Experience in software development
- Experience in project management
- Knowledge of one or more programming languages, such as Java, Python, JavaScript, Ruby, Rust, and C
- Knowledge of different development platforms
- Understanding of web applications, cybersecurity, and open source technologies
- Proficiency in analyzing code for issues and errors
- Experience in database platforms
- Experience with Operations and DevOps Skills
* Experience in software development
* Experience in project management
* Knowledge of one or more programming languages, such as Java, Python, JavaScript, Ruby, Rust, and C
* Knowledge of different development platforms
* Understanding of web applications, cybersecurity, and open source technologies
* Proficiency in analyzing code for issues and errors
* Experience in database platforms
* Experience with Operations and DevOps Skills
@@ -5,4 +5,4 @@ The TOGAF content framework provides a detailed model of architectural work prod
Visit the following resources to learn more:
- [@official@Togaf](https://www.opengroup.org/togaf)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/The_Open_Group_Architecture_Framework)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/The_Open_Group_Architecture_Framework)
@@ -1,3 +1,3 @@
# Architect Tools
Architect tools are software tools that help architects to design, document, and manage software architectures. These tools can be used to create architecture diagrams, generate code, and automate the software development process.
Architect tools are software tools that help architects to design, document, and manage software architectures. These tools can be used to create architecture diagrams, generate code, and automate the software development process.
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@official@Trello](https://trello.com)
- [@official@Trello Guide](https://trello.com/guide)
- [@video@A Tour Of Trello](https://www.youtube.com/watch?v=AyfupeWS0yY)
- [@video@A Tour Of Trello](https://www.youtube.com/watch?v=AyfupeWS0yY)
@@ -7,4 +7,4 @@ Visit the following resources to learn more:
- [@official@UML Website](https://www.uml.org)
- [@article@UML Pattern - IBM](https://www.ibm.com/docs/en/rational-soft-arch/9.6.1?topic=files-uml-pattern-frameworks)
- [@article@The Unified Modeling Language Reference Manual (Second Edition)](https://personal.utdallas.edu/~chung/Fujitsu/UML_2.0/Rumbaugh--UML_2.0_Reference_CD.pdf)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Unified_Modeling_Language)
- [@article@Wikipedia](https://en.wikipedia.org/wiki/Unified_Modeling_Language)
@@ -1,3 +1,3 @@
# Software Architect Basics
Understand different concepts such as what is software architecture, software architect, different types of architects and so on.
Understand different concepts such as what is software architecture, software architect, different types of architects and so on.
@@ -7,4 +7,4 @@ Web Hypertext Application Technology Working Group (WHATWG) is another set of we
Visit the following resources to learn more:
- [@official@W3C Standards](https://www.w3.org/standards/)
- [@official@WHATWG Standards](https://spec.whatwg.org/)
- [@official@WHATWG Standards](https://spec.whatwg.org/)
@@ -4,4 +4,4 @@ Web apps and mobile apps are two distinct types of software applications designe
Visit the following resources to learn more:
- [@article@Web vs Mobile](https://buildfire.com/difference-between-web-app-and-mobile-app/)
- [@article@Web vs Mobile](https://buildfire.com/difference-between-web-app-and-mobile-app/)
@@ -4,4 +4,4 @@ An expert developer who design software solutions from the ground up, making hig
Visit the following resources to learn more:
- [@article@12 Skills a Software Architect Needs](https://www.redhat.com/architect/what-is-software-architect)
- [@article@12 Skills a Software Architect Needs](https://www.redhat.com/architect/what-is-software-architect)
@@ -6,4 +6,4 @@ Visit the following resources to learn more:
- [@article@What is Software Architecture in Software Engineering?](https://www.computer.org/resources/software-architecture)
- [@article@Software Architecture: It might not be what you think it is](https://www.infoq.com/articles/what-software-architecture/)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
- [@feed@Explore top posts about Architecture](https://app.daily.dev/tags/architecture?ref=roadmapsh)
@@ -1,16 +1,15 @@
# Extreme Programming (XP)
`Extreme Programming (XP)` is a popular agile software development framework that emphasizes speed, simplicity, and quality. It was developed by Kent Beck in the late 1990s and is based on five values:
- **Communication**: Open and honest communication among team members and stakeholders is essential.
- **Simplicity**: The simplest solution that works is always preferred.
- **Feedback**: Continuous feedback from customers and team members is used to improve the product.
- **Courage**: Team members must be willing to make changes and take risks.
- **Respect**: Everyone on the team is treated with respect.
Visit the following resources to learn more:
- [@article@What is Extreme Programming (XP)?](https://www.agilealliance.org/glossary/xp/)
- [@article@It's Values, Principles, And Practices](https://www.nimblework.com/agile/extreme-programming-xp/)
# Extreme Programming (XP)
`Extreme Programming (XP)` is a popular agile software development framework that emphasizes speed, simplicity, and quality. It was developed by Kent Beck in the late 1990s and is based on five values:
* **Communication**: Open and honest communication among team members and stakeholders is essential.
* **Simplicity**: The simplest solution that works is always preferred.
* **Feedback**: Continuous feedback from customers and team members is used to improve the product.
* **Courage**: Team members must be willing to make changes and take risks.
* **Respect**: Everyone on the team is treated with respect.
Visit the following resources to learn more:
- [@article@What is Extreme Programming (XP)?](https://www.agilealliance.org/glossary/xp/)
- [@article@It's Values, Principles, And Practices](https://www.nimblework.com/agile/extreme-programming-xp/)
- [@article@Extreme Programming (XP)](https://scrum-master.org/en/extreme-programming-xp-a-beginners-guide-to-the-agile-method/)